How do I plot this function in MATLAB?

16 vues (au cours des 30 derniers jours)
Michael
Michael le 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 commentaire
Stephen23
Stephen23 le 14 Oct 2014
Modifié(e) : Stephen23 le 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!

Connectez-vous pour commenter.

Réponse acceptée

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

Plus de réponses (2)

Mischa Kim
Mischa Kim le 14 Oct 2014
Modifié(e) : Mischa Kim le 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 commentaire
Michael
Michael le 14 Oct 2014
Thanks Mischa,
I've done something similar to that and everything looks wonderful.
- Mike

Connectez-vous pour commenter.


Shashyabh Ray
Shashyabh Ray le 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!

Translated by