MATLAB Answers

I want to plot!!!

1 view (last 30 days)
혜승 주
혜승 주 on 17 May 2020
Commented: 혜승 주 on 18 May 2020
[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

Sign in to comment.

Accepted Answer

Ameer Hamza
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);

  1 Comment

혜승 주
혜승 주 on 18 May 2020
This really helped!! Thanks a lot!! 8ㅁ8

Sign in to comment.

More Answers (1)

dpb
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...

  1 Comment

혜승 주
혜승 주 on 18 May 2020
I should carefully read those! Thank you!!

Sign in to comment.

Tags


Translated by