MATLAB Answers


How do I plot this function in MATLAB?

Asked by Michael
on 14 Oct 2014
Latest activity Edited by Stephen Cobeldick on 14 Oct 2014
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

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.

2 Answers

Answer by Michael
on 14 Oct 2014
 Accepted Answer

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))


Sign in to comment.

Answer by Mischa Kim
on 14 Oct 2014
Edited by 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)) ;

  1 Comment

Thanks Mischa,
I've done something similar to that and everything looks wonderful.
- Mike

Sign in to comment.