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)

 Risposta accettata

Roger Stafford
Roger Stafford il 8 Mag 2016
Modificato: Roger Stafford il 8 Mag 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 Commenti

verzhen Ligai
verzhen Ligai il 8 Mag 2016
Modificato: verzhen Ligai il 8 Mag 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.
The diagram shows negative and positive coordinates, but you have only plotted over positive coordinates.
Oh! that makes sense. You are right!!!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by