필터 지우기
필터 지우기

plotting griddata

조회 수: 31 (최근 30일)
Melissa
Melissa 2011년 5월 25일
Hey All, I was wondering if there was a way to modify the griddata program to include plotting. Given that I am using data points I know I will have to use meshgrid and was trying to figure out how it would be possible to include into the program. Any ideas? Mel
  댓글 수: 3
Matt Fig
Matt Fig 2011년 5월 25일
I think you mean MESH, not MESHGRID.
Melissa
Melissa 2011년 5월 25일
As I am trying to implement in a GUI the command window will not be available. When I plug this code into each if statement (ie linear, cubic, nearest) I only receive a plot of the points and not of the generated surfaces. Any suggestions?
%Plotting Griddata
plot3(x,y,z,'o')
hold on
[X,Y]=meshgrid(xi,yi);
surf(X,Y,zi)
hold off

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

채택된 답변

Matt Fig
Matt Fig 2011년 5월 25일
From the doc:
x = rand(100,1)*4-2;
y = rand(100,1)*4-2;
z = x.*exp(-x.^2-y.^2);
ti = -2:.25:2;
[XI,YI] = meshgrid(ti,ti);
ZI = griddata(x,y,z,XI,YI);
mesh(XI,YI,ZI), hold
plot3(x,y,z,'o'), hold off
%
%
%
%
EDIT
So do this:
>> edit griddata % Once the file is up, do this:
ctrl+a,ctrl+c,ctrl+n,ctrl+v,ctrl+s % I recommend using mygriddata
Then look in the new file, and find the last switch statement of the main function. Immediately after that switch statement, put this:
mesh(xi,yi,zi)
hold on
plot3(x,y,z,'o')
hold off
Or whatever you want.
  댓글 수: 11
Walter Roberson
Walter Roberson 2011년 5월 26일
I still say it was the wrong approach. If you were going to create a new function, why not create a function that contained the lines I showed and which called the unmodified griddata() ?
Matt Fig
Matt Fig 2011년 5월 26일
That is how I would do it, Walter. But making a custom function from a built-in is o.k. too, I think. I have done so in the past. The thing to avoid is altering the MATLAB version.

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

추가 답변 (1개)

Walter Roberson
Walter Roberson 2011년 5월 25일
[X,Y] = meshgrid(xi,yi);
Z = griddata(x,y,z,X,Y);
mesh(X,Y,Z), hold
plot3(x,y,z,'o'), hold off
  댓글 수: 2
Melissa
Melissa 2011년 5월 25일
that only works in the command window.
Walter Roberson
Walter Roberson 2011년 5월 25일
Perhaps we are misunderstanding each other, but there is no reason why the code I show above would not work in a script or function, including a callback function.
At most it might be necessary to be more careful about which axes to plot on to.

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

카테고리

Help CenterFile Exchange에서 Line Plots에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by