How do I plot this function in MATLAB?

28 visualizzazioni (ultimi 30 giorni)
Michael
Michael il 14 Ott 2014
Risposto: Shashyabh Ray il 2 Mar 2021
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 Commento
Stephen23
Stephen23 il 14 Ott 2014
Modificato: Stephen23 il 14 Ott 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!

Accedi per commentare.

Risposta accettata

Michael
Michael il 14 Ott 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))

Più risposte (2)

Mischa Kim
Mischa Kim il 14 Ott 2014
Modificato: Mischa Kim il 14 Ott 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 Commento
Michael
Michael il 14 Ott 2014
Thanks Mischa,
I've done something similar to that and everything looks wonderful.
- Mike

Accedi per commentare.


Shashyabh Ray
Shashyabh Ray il 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