Plotting a nice function

5 次查看(过去 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)
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:

回答(1 个)

Reshma Nerella
Reshma Nerella 2021-6-17
The 3rd argument(Z) to the surf function should be a matrix with atleast 2 rows and 2 columns.
In this line of code,
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 CenterFile Exchange 中查找有关 Polar Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by