I want to plot!!!
2 ビュー (過去 30 日間)
古いコメントを表示
[x,y]=meshgrid(-20:0.1:20);
m=2;
U=2;
a=4;
psi = U*y - (m/(2*pi))*(atan(y/(x-a))-atan(y/(x+a)));
contour(x,y,psi);
but I can't get my graphs. They are all blank page.
0 件のコメント
採用された回答
Ameer Hamza
2020 年 5 月 17 日
編集済み: Ameer Hamza
2020 年 5 月 17 日
You need to use element-wise division: https://www.mathworks.com/help/matlab/ref/rdivide.html
[x,y]=meshgrid(-20:0.1:20);
m=2;
U=2;
a=4;
psi = U*y - (m/(2*pi))*(atan(y./(x-a))-atan(y./(x+a)));
%^ dot here and ^ here
contour(x,y,psi);
その他の回答 (1 件)
dpb
2020 年 5 月 17 日
You left out some very key information MATLAB told you about...
...
contour(x,y,psi);
Warning: Matrix is singular to working precision.
Warning: Matrix is singular to working precision.
Warning: Contour not rendered for non-finite ZData
>> In contour (line 51)
That's a very big klew you didn't do something right!!!
And, what that is, is that you used the ordinary '*' and '/' operators in defining psi when you wanted and needed the dot operators for element-by-element operations. Use
psi = U*y - (m/(2*pi)).*(atan(y./(x-a))-atan(y./(x+a)));
instead and joy will ensue...
参考
カテゴリ
Help Center および File Exchange で Line Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!