24小时热门版块排行榜    

查看: 2363  |  回复: 5

今惜11

新虫 (初入文坛)

[求助] 怎么利用matlab对二维数据组旋转得到一个三维曲面图? 已有1人参与

各位大神求助!我这有一组数据,一共200个数据值,以数据个数为横坐标x,数据值为纵坐标y做plot,得到的图关于x=101对称。我现在想以x=101为轴,做一个三维曲面图,这个可以在matlab上实现么?或者利用什么实现?应该怎么做?
谢谢啊!

怎么利用matlab对二维数据组旋转得到一个三维曲面图?
datas.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fmying

银虫 (小有名气)

二维变三维?
另一维的数据缺失啊。
曲面图要构造网格数据,你这里没有网格数据啊。
上善若水
2楼2016-01-04 22:00:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
今惜11: 金币+10, ★★★★★最佳答案 2016-01-05 12:45:07
>> R=linspace(1,100,100);
>> theta=linspace(0,2*pi,100);
>> x=100+R'*sin(theta);
>> y=R'*cos(theta);
>> z=sin(linspace(0,2*pi,100));
>> zz=repmat(z',1,100);
>> mesh(x,y,zz)
3楼2016-01-05 09:44:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

今惜11

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by change0618 at 2016-01-05 09:44:40
>> R=linspace(1,100,100);
>> theta=linspace(0,2*pi,100);
>> x=100+R'*sin(theta);
>> y=R'*cos(theta);
>> z=sin(linspace(0,2*pi,100));
>> zz=repmat(z',1,100);
...

谢谢!您提供的代码能得到我想要的mesh三维图。我现在还有个问题,我想把这个三维图转化成用imagesc展示,就是在二维平面上,第三个维度的值用colorbar来体现。我直接用imagesc(zz)得到的图不对,那么应该怎么来转化?谢谢!
4楼2016-01-05 12:44:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

5楼2016-01-05 15:45:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

今惜11

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by change0618 at 2016-01-05 15:45:17
contourf(x,y,zz)

谢谢!
6楼2016-01-06 10:00:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 今惜11 的主题更新
信息提示
请填处理意见