How to plot level curves
Afficher commentaires plus anciens
I have an equation Z = exp(-0.5.*((X-800)./40).^2).*cos(2*pi.*Y*1000./X).
I want to plot level curves of Y from -100 to 100 against X from 700 to 900 for Z = -1 to 1. The graph is supposed to look like the one below.

I have tried surf but it's ignoring the axis limits I set. I also don't know how to set Z to different values.
[X,Y] = meshgrid(700:1:900,-100:1:100);
Z = exp(-0.5.*((X-800)./40).^2)*cos(2*pi.*Y*1000./X);
surf(Z)
Any help is appreciated!
Réponses (1)
@Irene Zhou there is a missing element wise product operator for the equation in your code.
[X,Y] = meshgrid(linspace(700,900,100),linspace(-100,100,100));
Z = exp(-0.5.*((X-800)./40).^2).*cos(2*pi.*Y*1000./X);
% missed a element wise product operator
levels = 50;
contour(X,(Y),Z,levels)
colormap jet
Catégories
En savoir plus sur Surface and Mesh Plots 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!
