Plotting a nice function

1 回表示 (過去 30 日間)
Sergio Manzetti
Sergio Manzetti 2021 年 6 月 14 日
回答済み: Reshma Nerella 2021 年 6 月 17 日
Hi, I have prepared the given code for the following function:
syms r x y k z
x = -10:0.3:10;
y = x';
z = x + 1i*y;
scale = 1;
J = besselj(5,r)
u = symsum(1i.^(-k).*J.*exp(1i*k*x),k,-5,5)
surf(r,x,imag(u))
But the plot doesn't work, I only get z must be a scalar or a vector. In fact, I have my doubts about the plotting command, because this is a polar function shown in the image, and not a cartesian function.
How I can get this plot similar to this:
?
Thanks!

回答 (1 件)

Reshma Nerella
Reshma Nerella 2021 年 6 月 17 日
Hi,
The 3rd argument(Z) to the surf function should be a matrix with atleast 2 rows and 2 columns.
In this line of code,
surf(r,x,imag(u))
imag(u) is 1x67 sym, hence you are getting the error.
For more information on the input arguments and surf function, refer to the documentation: surf

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by