I want to plot from -5 to 5 on the x and y, but I am having trouble. Any help?

5 views (last 30 days)
I want to plot from -5 to 5 on both the x andy
%mesh
X=-5:.5:5;
Y=-5:.5:5;
[x y]=meshgrid(X,Y);
% calculate
f=exp(-0.25.*sqrt(x.^2+y.^2));
%imagesc
figure(1)
imagesc(f);
colorbar
xlabel('x');
ylabel('y');
title('imagesc with colorbar')
%gradient
[fx,fy]=gradient(f);
figure(2)
quiver(fx,fy)
xlabel('fx');
ylabel('fy');
title('gradient plot')

Answers (2)

Srivardhan Gadila
Srivardhan Gadila on 20 Feb 2020
Use the imagesc and quiver as follows:
imagesc(X,Y,f);
quiver(x,y,fx,fy);

Khalid Mahmood
Khalid Mahmood on 14 Apr 2021
Edited: Khalid Mahmood on 14 Apr 2021
%Hope you need this. I mean just plot mesh also
%mesh
Lim=-5:.5:5; %both x,y have same limits
[x y]=meshgrid(Lim);
% calculate
f=exp(-0.25.*sqrt(x.^2+y.^2));
%imagesc
figure(1)
subplot(211);imagesc(f); subplot(212);mesh(x,y,f)
colorbar
xlabel('x');
ylabel('y');
title('imagesc with colorbar')
%gradient
[fx,fy]=gradient(f);
figure(2)
surf(x,y,fx,fy)%quiver(fx,fy)
xlabel('fx');
ylabel('fy');
title('gradient plot')

Categories

Find more on Vector Fields in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!