How do I plot this function in MATLAB?

16 views (last 30 days)
Hello Everyone,
I am having trouble with entering the equation Z = sin(sqrt(x.^2 + y.^2))/(sqrt(x.^2 + y.^2)) into MATLAB so I can plot it as a surface plot. The MATLAB program keeps on turning this equation into the value -0.0227, rather than accecpting it as an equation (which make no sense).
This issue is preventing me from making a surface plot, as I am told that Z is a scalar or vector (because the program computed it as that for some reason), rather than a matrix.
Can anyone tell me what I am doing wrong with either the syntax or another aspect of the entry?
I would greatly appreciate it.
Thank you
  1 Comment
Stephen23
Stephen23 on 14 Oct 2014
Edited: Stephen23 on 14 Oct 2014
Information on the differences between array and matrix operations:
That list of operations that these difference apply to is important to keep in mind!

Sign in to comment.

Accepted Answer

Michael
Michael on 14 Oct 2014
Nevermind, I solved this issue by adding a period (.) before the division (/) sign, so now things look like this:
Z = sin(sqrt(X.^2 + Y.^2))./(sqrt(X.^2 + Y.^2))

More Answers (2)

Mischa Kim
Mischa Kim on 14 Oct 2014
Edited: Mischa Kim on 14 Oct 2014
Michael, use something like
[x,y] = meshgrid(0:0.1:5,0:0.1:5);
Z = sin(sqrt(x.^2 + y.^2))./(sqrt(x.^2 + y.^2)) ;
surf(x,y,Z)
  1 Comment
Michael
Michael on 14 Oct 2014
Thanks Mischa,
I've done something similar to that and everything looks wonderful.
- Mike

Sign in to comment.


Shashyabh Ray
Shashyabh Ray on 2 Mar 2021
how to plot y=(exp.^(sqrt(x)))./(x*x - x*(exp(x))).^(1/3);

Community Treasure Hunt

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

Start Hunting!