24小时热门版块排行榜    

CyRhmU.jpeg
查看: 345  |  回复: 6
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

yujunhui

银虫 (著名写手)

[交流] 【求助】如何画出同时经过三条曲线的曲面?【已完成】

如何利用三条曲线,画出一个曲面?
当z=20时候
    p1=[           0    0.0253    0.0505    0.0758    0.1010       0.2525     0.2778    0.3030    0.3283    0.3535    0.3788    0.4040    0.4293    0.4545    0.4798    0.5051    0.5303             0.7071    0.7323    0.7576    0.7828    0.8081       0.8333         1.0354    1.0606    1.0859               1.1111    1.1364    1.1616    1.1869    1.2121    1.2374    1.2626    1.2879    1.3131    1.3384    1.3636                   1.5152    1.5404    1.5657    1.5909    1.6162    1.6414         1.6667    1.6919    1.7172    1.7424   ]
    t1=[      0.1087   1.8116    2.8623    3.0435    3.5870       5.2899     5.3986    5.4710    5.6522    5.7971    6.1232    6.0507    6.0145    6.1232    6.1957    6.3406    6.3406             6.7754    6.7754    6.8841    6.9928    7.0290       7.1377         7.0652    7.0652    7.1377               7.1014    7.0652    7.0652    7.1377    7.1014    7.1377    7.1014    7.1377    7.1014    7.1377    7.1014                   7.1014    7.1377    7.1014    7.2101    7.1739    7.2464         7.2101    7.2101    7.1739    7.2464   ];
当z=60时候
         p1=[           0    0.0253    0.0505    0.0758    0.1010       0.2525     0.2778    0.3030    0.3283    0.3535    0.3788    0.4040    0.4293    0.4545    0.4798    0.5051    0.5303             0.7071    0.7323    0.7576    0.7828    0.8081       0.8333         1.0354    1.0606    1.0859               1.1111    1.1364    1.1616    1.1869    1.2121    1.2374    1.2626    1.2879    1.3131    1.3384    1.3636                   1.5152    1.5404    1.5657    1.5909    1.6162    1.6414         1.6667    1.6919    1.7172    1.7424   ]
         t1= [     0.2536   0.6522    0.9058    1.0507    1.3043       4.0580     4.2029    4.4928    4.6377    5.5072    5.7609    5.8696    6.0507    5.9420    6.0507    6.0145    6.0870             5.9420    5.9783    6.0507    5.9420    5.9783       6.0145         6.1232    6.0870    6.2319               6.2681    6.1594    6.1232    6.0870    6.0507    6.2681    6.3043    6.3406    6.2681    6.2319    6.1957                   6.2681    6.2319    6.1957    6.3043    6.3406    6.2681         6.3043    6.3406    6.2681    6.2319    ];
z=130时候
           p1=[           0    0.0253    0.0505    0.0758    0.1010       0.2525     0.2778    0.3030    0.3283    0.3535    0.3788    0.4040    0.4293    0.4545    0.4798    0.5051    0.5303             0.7071    0.7323    0.7576    0.7828    0.8081       0.8333         1.0354    1.0606    1.0859               1.1111    1.1364    1.1616    1.1869    1.2121    1.2374    1.2626    1.2879    1.3131    1.3384    1.3636                   1.5152    1.5404    1.5657    1.5909    1.6162    1.6414         1.6667    1.6919    1.7172    1.7424   ];
           t1=[      0.2536   0.7609    1.7754    2.1014    2.3551       6.4855     6.6304    6.8478    6.8841    6.9565    6.9928    6.9928    6.9565    7.1014    7.0652    7.0290    7.1014             7.1739    7.1377    7.2101    7.2464    7.2826       7.3188         7.4275    7.3551    7.3913               7.3551    7.3551    7.4275    7.5000    7.4275    7.4638    7.5000    7.5362    7.5725    7.6087    7.644                    7.7536    7.7174    7.6812    7.7536    7.7174    7.6812         7.7174    7.6087    7.6812    7.7174    ];

如何利用这三条曲线 画出  同时经过   p1, t1,z
这三条曲线的曲面   (效果如附件那样的图形)
利用三维网格图和曲面图表示出来

相关语句和函数是什么 ?
请高手指点!谢谢!

[ Last edited by nono2009 on 2009-9-22 at 06:36 ]
回复此楼
安静
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitzhang

木虫 (正式写手)

★ ★ ★ ★
woshilsh(金币+4,VIP+0):恩,还是这个好看写! 8-9 16:49
引用回帖:
Originally posted by hitzhang at 2009-8-9 16:09:


首先得把你的数据搞一下,弄成矩阵

>> p=reshape(X(1,,47,3)

p =

         0         0         0
    0.0253    0.0253    0.0253
    0.0505    0.0505    0.0505
    0.0758    0.075 ...

但是比较粗糙,你可以这样。(参考http://muchong.com/bbs/viewthread.php?tid=1063553

>> z=z(;
>> p=p(;
>> t=t(;
>> plot3(z,p,t,'s')
>> hold on;
>> gx=linspace(min(z),max(z),40);
>> gy=linspace(min(p),max(p),40);
>> g=gridfit(z,p,t,gx,gy);
>> surf(gx,gy,g);
>> camlight right;
>> lighting phong;
>> xlabel('z')
>> ylabel('p')
>> zlabel('t')
>> axis tight
>>

[ Last edited by hitzhang on 2009-8-9 at 16:14 ]
4楼2009-08-09 16:12:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

zee2004

木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
hitzhang(金币+2,VIP+0):感谢参与! 8-9 16:07
origin的三维制图功能可以完成,首先将你的数据表转换为矩阵,然后画三维图,修改坐标即可。
MC
2楼2009-08-09 11:56:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitzhang

木虫 (正式写手)

★ ★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
woshilsh(金币+5,VIP+0):感谢详细回答! 8-9 16:49
引用回帖:
Originally posted by yujunhui at 2009-8-9 10:41:
如何利用三条曲线,画出一个曲面?
当z=20时候
    p1=[           0    0.0253    0.0505    0.0758    0.1010       0.2525     0.2778    0.3030    0.3283    0.3535    0.3788    0.4040    0.4293    0. ...

首先得把你的数据搞一下,弄成矩阵

>> p=reshape(X(1,,47,3)

p =

         0         0         0
    0.0253    0.0253    0.0253
    0.0505    0.0505    0.0505
    0.0758    0.0758    0.0758
    0.1010    0.1010    0.1010
    0.2525    0.2525    0.2525
    0.2778    0.2778    0.2778
    0.3030    0.3030    0.3030
    0.3283    0.3283    0.3283
    0.3535    0.3535    0.3535
    0.3788    0.3788    0.3788
    0.4040    0.4040    0.4040
    0.4293    0.4293    0.4293
    0.4545    0.4545    0.4545
    0.4798    0.4798    0.4798
    0.5051    0.5051    0.5051
    0.5303    0.5303    0.5303
    0.7071    0.7071    0.7071
    0.7323    0.7323    0.7323
    0.7576    0.7576    0.7576
    0.7828    0.7828    0.7828
    0.8081    0.8081    0.8081
    0.8333    0.8333    0.8333
    1.0354    1.0354    1.0354
    1.0606    1.0606    1.0606
    1.0859    1.0859    1.0859
    1.1111    1.1111    1.1111
    1.1364    1.1364    1.1364
    1.1616    1.1616    1.1616
    1.1869    1.1869    1.1869
    1.2121    1.2121    1.2121
    1.2374    1.2374    1.2374
    1.2626    1.2626    1.2626
    1.2879    1.2879    1.2879
    1.3131    1.3131    1.3131
    1.3384    1.3384    1.3384
    1.3636    1.3636    1.3636
    1.5152    1.5152    1.5152
    1.5404    1.5404    1.5404
    1.5657    1.5657    1.5657
    1.5909    1.5909    1.5909
    1.6162    1.6162    1.6162
    1.6414    1.6414    1.6414
    1.6667    1.6667    1.6667
    1.6919    1.6919    1.6919
    1.7172    1.7172    1.7172
    1.7424    1.7424    1.7424

>> t=reshape(X(2,,47,3)

t =

    0.1087    0.2536    0.2536
    1.8116    0.6522    0.7609
    2.8623    0.9058    1.7754
    3.0435    1.0507    2.1014
    3.5870    1.3043    2.3551
    5.2899    4.0580    6.4855
    5.3986    4.2029    6.6304
    5.4710    4.4928    6.8478
    5.6522    4.6377    6.8841
    5.7971    5.5072    6.9565
    6.1232    5.7609    6.9928
    6.0507    5.8696    6.9928
    6.0145    6.0507    6.9565
    6.1232    5.9420    7.1014
    6.1957    6.0507    7.0652
    6.3406    6.0145    7.0290
    6.3406    6.0870    7.1014
    6.7754    5.9420    7.1739
    6.7754    5.9783    7.1377
    6.8841    6.0507    7.2101
    6.9928    5.9420    7.2464
    7.0290    5.9783    7.2826
    7.1377    6.0145    7.3188
    7.0652    6.1232    7.4275
    7.0652    6.0870    7.3551
    7.1377    6.2319    7.3913
    7.1014    6.2681    7.3551
    7.0652    6.1594    7.3551
    7.0652    6.1232    7.4275
    7.1377    6.0870    7.5000
    7.1014    6.0507    7.4275
    7.1377    6.2681    7.4638
    7.1014    6.3043    7.5000
    7.1377    6.3406    7.5362
    7.1014    6.2681    7.5725
    7.1377    6.2319    7.6087
    7.1014    6.1957    7.6440
    7.1014    6.2681    7.7536
    7.1377    6.2319    7.7174
    7.1014    6.1957    7.6812
    7.2101    6.3043    7.7536
    7.1739    6.3406    7.7174
    7.2464    6.2681    7.6812
    7.2101    6.3043    7.7174
    7.2101    6.3406    7.6087
    7.1739    6.2681    7.6812
    7.2464    6.2319    7.7174

>> z=reshape(X(3,,47,3)

z =

    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130
    20    60   130


>> mesh(z,p,t)
>> xlabel('z')
>> ylabel('p')
>> zlabel('t')
>>
3楼2009-08-09 16:09:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cursor

新虫 (小有名气)

表达式可以得到吗。


小木虫(金币+0.5):给个红包,谢谢回帖交流
如何能得到曲面的数学表达式,比如给定z=a*p^3+b*t^2,这样的条件限制。
做好人,要努力。
6楼2009-08-28 07:42:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见