I have the following plot:
Nx=5; % let it be an odd number for symmetry
Ny=5;
Nx1=Nx-1;
Ny1=Ny-1;
R= 5; %peak1
L=-5; %peak2
d=2; % distance between the two peaks
l=2; % length of each peak
V=zeros(Nx,Ny);
V((Nx1/2)-1,((Ny1/2)+1-(l/2)):((Ny1/2)+1+(l/2)))=R;
V((Nx1/2)-1+d,((Ny1/2)+1-(l/2)):((Ny1/2)+1+(l/2)))=L;
V=V';
x=linspace(0,25,25);
y=linspace(0,25,25);
h = meshgrid(V);
surf(x,y,h);
Since it is not defined as an exponential function, Is it possible to use interp to have a smooth surf plot (that makes it look less rectangular)?

 채택된 답변

Adam
Adam 2014년 8월 21일

1 개 추천

interp2
should do what you want.

댓글 수: 3

mick777
mick777 2014년 8월 21일
Thank you for your reply. I am trying to implement it, but keep getting a weird plot. Could you please guide me on how to do this. This is what I got:
Nx=5; % let it be an odd number for symmetry
Ny=5;
Nx1=Nx-1;
Ny1=Ny-1;
R= 5; %peak1
L=-5; %peak2
d=2; % distance between the two peaks
l=2; % length of each peak
V=zeros(Nx,Ny);
V((Nx1/2)-1,((Ny1/2)+1-(l/2)):((Ny1/2)+1+(l/2)))=R;
V((Nx1/2)-1+d,((Ny1/2)+1-(l/2)):((Ny1/2)+1+(l/2)))=L;
V=V';
x=linspace(0,25,25);
y=linspace(0,25,25);
h = meshgrid(V);
%surf(x,y,h);
[Xq,Yq] = meshgrid(-3:0.25:3);
Vq = interp2(x,y,h,Xq,Yq,'cubic');
surf(Xq,Yq,Vq);
Adam
Adam 2014년 8월 21일
편집: Adam 2014년 8월 21일
Do you really want your interpolated grid to run from -3 to 3 given that your original ran from 0 to 25?
Try:
[Xq,Yq] = meshgrid(0:0.25:25);
Vq = interp2(x,y,h,Xq,Yq )
instead
mick777
mick777 2014년 8월 22일
It works. I understood where I went wrong. Thanks

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Polar Plots에 대해 자세히 알아보기

질문:

2014년 8월 21일

댓글:

2014년 8월 22일

Community Treasure Hunt

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

Start Hunting!

Translated by