Error in writing an equation (sin function)

Hello everyone,
I can't seem to successfully obtain a graph of the following equation: f(x,y)=sin(x)sin(y)/(x*y). I think it's because the equation is written wrongly but I can't seem to figure out what I did wrong.
Thank you.
>> x=linspace(0, 2*pi);
>> y=linspace(0, 2*pi);
>> [X,Y]=meshgrid(x,y);
>> Z=sin(X)*sin(Y)/(X*Y).;
>> meshz(X,Y,Z)

 Réponse acceptée

Roger Stafford
Roger Stafford le 8 Mai 2016
Modifié(e) : Roger Stafford le 8 Mai 2016
The line
Z=sin(X)*sin(Y)/(X*Y).;
is the trouble. You need dots there:
Z=sin(X).*sin(Y)./(X.*Y);
so as to produce element-by-element operations. As it stands. it is performing matrix multiplication and matrix division which you don’t want here. Also that trailing dot does not belong there.
Also note that at the single point x = 0 and y = 0 you will produce a NaN from a zero-divided-by-zero operation there.

3 commentaires

verzhen Ligai
verzhen Ligai le 8 Mai 2016
Modifié(e) : verzhen Ligai le 8 Mai 2016
Thank you very much for your reply. I modified it and ran it again. However, the result graph is not what I expected.
The graph that I wanted to get is shown in the black/white picture below.
Thank you.
Walter Roberson
Walter Roberson le 8 Mai 2016
The diagram shows negative and positive coordinates, but you have only plotted over positive coordinates.
verzhen Ligai
verzhen Ligai le 8 Mai 2016
Oh! that makes sense. You are right!!!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by