24小时热门版块排行榜    

查看: 1226  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

lyaaron

银虫 (小有名气)

[求助] 求助Matab画3D的surf图 已有1人参与



求救各位大神指点,  现在有一组X的数据,对应的有N个Y轴,Z轴为时间轴,如何画3D的surf图。。。。。有没有办法写一个code,以后可以直接加载数据文件,就自动作图。谢谢。。。。。

x          y1   y2   y3 y4  y5 y6 ........yn        

200    0.31175 .. ..
200.5 0.29865 ..
201 0.28611 ..
201.5 0.27413 ..
202 0.26272 ..
202.5 0.25186  ..
203 0.24156  ..

原数据在附件里面。。。
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : Data.xlsx
  • 2014-03-29 05:08:53, 154.57 K

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
lyaaron: 金币+25, ★★★★★最佳答案, 非常感谢帮助 2014-03-29 22:09:28
3楼的虫子已经做得很完善了,如果你要以时间t作Z轴的话,参考代码如下:
CODE:
function three_D_Surf
clear all;clc
data=xlsread('Data.xlsx');
t=data(1,2:end);
x=data(2:end,1);
y=data(2:end,2:end);
size(t)
size(x)
size(y)
[ti,xi]=meshgrid(min(t):(max(t)-min(t))/10/length(t):max(t),min(x):(max(x)-min(x))/10/length(x):max(x));
yi=interp2(t,x,y,ti,xi,'spline');
figure(1)
surf(xi,yi,ti),shading interp;
xlabel('x'),ylabel('y'),zlabel('t'),colorbar;

结果见附图1。
求助Matab画3D的surf图
附图1.png

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
8楼2014-03-29 09:50:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

月只蓝

主管区长 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
fegg7502: 金币+1, 鼓励交流 2014-03-29 08:40:36
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2014-03-29 08:35:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meatball1982

铜虫 (小有名气)

clear all
clc

data=xlsread('Data.xlsx');

x=data(2:end,1);
y=data(1,2:end);
z=data(2:end,2:end);

[X,Y]=meshgrid(x,y);
surf(X,Y,z','EdgeColor','none')
xlabel('x')
ylabel('y')
zlabel('t')
唉。还是学吧。
3楼2014-03-29 08:40:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meatball1982

铜虫 (小有名气)

结果
求助Matab画3D的surf图-1
output.png

唉。还是学吧。
4楼2014-03-29 08:43:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见