I want to plot!!!
3 views (last 30 days)
Show older comments
[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 Comments
Accepted Answer
Ameer Hamza
on 17 May 2020
Edited: Ameer Hamza
on 17 May 2020
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);
More Answers (1)
dpb
on 17 May 2020
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...
See Also
Categories
Find more on Line Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!