首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在matlab/freemat中绘制三维曲面

在matlab/freemat中绘制三维曲面
EN

Stack Overflow用户
提问于 2014-01-06 10:30:19
回答 2查看 1.7K关注 0票数 1

我想问一下有关3d曲面绘制的问题。因为我是新手,所以我只是尝试一下。基本上,我有3个参数,x,y,z,我有来自实验数据的值,我想把它们画出来。所以,我试过了,

代码语言:javascript
复制
x= [6 7 8 9 10 11 12 1]
x =
  6  7  8  9 10 11 12  1
--> y=[2 3 4 5 6 1 6 8]
y =
 2 3 4 5 6 1 6 8
--> z= [3 4 5 6 7 8 9 10]
z =
  3  4  5  6  7  8  9 10
meshgrid(x,y,z)
surf(x,y,z)

绘图窗口确实出现了,但没有图形。我的方法错了吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2014-01-06 11:15:57

听起来你需要从plot3开始,因为你只是在3D中描述一组点,而不是网格或曲面上的点。看看这是不是你想要的。

代码语言:javascript
复制
x = [6 7 8 9 10 11 12 1];
y = [2 3 4 5 6 1 6 8];
z = [3 4 5 6 7 8 9 10];
plot3(x, y, z, '.');
票数 1
EN

Stack Overflow用户

发布于 2014-01-07 01:40:16

这就是我绘制曲面的方法:

代码语言:javascript
复制
%define the data 
x=[6 7 8 9 10 11 12 1 6 7 8 9 10 11 12 1];
y=[2 3 4 5 6 1 6 8 2 3 4 5 6 1 6 8];
z=[3 4 5 6 7 8 9 10 3 4 5 6 7 8 9 10];

%Create 3D surface
[X,Y]=meshgrid(x,y);
Z=griddata(x,y,z,X,Y);

%Plot the surface
surface(X,Y,Z);
shading interp %makes it look sexy
%xlim([])
%ylim([])

有时我使用轴限制来使绘图看起来更好(消除不需要的白色区域);对于这组数据,我可以使用xlim(6 11)和ylim(2 6)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20941987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档