matlab三维曲线图函数mesh用法? 30

[X,Y]=meshgrid(E_X,E_Y);Z=X+Y;mesh(X,Y,Z);boxon;gridon;上面的E_X和E_Y均是事先定义好的两个矩阵,一般情况下Z都... [X,Y]=meshgrid(E_X,E_Y);
Z=X+Y;
mesh(X,Y,Z);
box on;
grid on;
上面的E_X和E_Y均是事先定义好的两个矩阵,一般情况下Z都是表示成X和Y的函数,如上示例。但是如果E_X,E_Y,E_Z均是事先已经获得的三维坐标数据怎么使用?希望绘出三维曲线图,使用Z=E_Z时不能执行,为什么?
我的数据是空间点的三维坐标,格式是:
x1,y1,z1;
x2,y2,z3;
x3,y3,z3;
x4,y4,z4;
……
共有904个点,已经从dat格式读入到mat中了。如果想绘制三维曲面图,该如何编辑m文件?
展开
 我来答
汤圆好甜cP
推荐于2019-09-14 · TA获得超过1.7万个赞
知道答主
回答量:13
采纳率:6%
帮助的人:4765
展开全部

MATLAB 中mesh函数是绘制三维曲面的函数。

mesh(X,Y,Z) 使用 Z 确定的颜色绘制线框网格,因此其颜色与曲面高度成比例。如果 X 和 Y 为向量,length(X) = n 且 length(Y) =m,其中 [m,n] = size(Z)。

“[X,Y]=meshgrid(E_X,E_Y);  Z=X+Y;”的作用仅为确定每一个 f(X_E,Y_Y) 的值。对于绘图,利用 mesh(X,Y,Z) 或者 mesh(X_E,Y_E,Z) 均可。例如输入代码:

>> X_E=-8:0.5:8;Y_E=X_E;[X,Y] = meshgrid(X_E,Y_E);R = sqrt(X.^2 + Y.^2) + eps;Z = sin(R)./R;mesh(X_E,Y_E,Z)

如果需要绘制三维曲线图而非曲面图,对应数据的取值为 X,Y,Z ,那么应该使用三位曲线绘制函数plot3,实例代码如下:

X = 0:pi/50:10*pi;Y = sin(t);Z = cos(t);plot3(X,Y,Z)

扩展资料

mesh函数的其他用法:

1、mesh(Z) 使用 X = 1:n 和 Y = 1:m 绘制线框网格,其中 [m,n] = size(Z)。高度 Z 是在矩形网格上定义的单值函数。颜色与曲面高度成正比。

2、mesh(...,C) 使用矩阵 C 确定的颜色绘制线框网格。MATLAB 对 C 中的数据执行线性转换,以便从当前颜色图获取颜色。如果 X、Y 和 Z 为矩阵,它们的大小必须与 C 相同。

3、mesh(...,'PropertyName',PropertyValue,...) 设置指定曲面属性的值。可以使用一个语句设置多个属性值。

4、mesh(axes_handles,...) 将图形绘制到带有句柄 axes_handle 的坐标区中,而不是当前坐标区 (gca) 中。

东莞大凡
2024-11-14 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于... 点击进入详情页
本回答由东莞大凡提供
王爱来神葵1L
推荐于2019-09-27 · TA获得超过459个赞
知道答主
回答量:24
采纳率:0%
帮助的人:1.9万
展开全部

MATLAB 中mesh函数是绘制三维曲面的函数。

mesh(X,Y,Z) 使用 Z 确定的颜色绘制线框网格,因此其颜色与曲面高度成比例。如果 X 和 Y 为向量,length(X) = n 且 length(Y) =
m,其中 [m,n] = size(Z)。

“[X,Y]=meshgrid(E_X,E_Y);  Z=X+Y;”的作用仅为确定每一个 f(X_E,Y_Y) 的值。对于绘图,利用 mesh(X,Y,Z) 或者 mesh(X_E,Y_E,Z) 均可。例如输入代码:

>> X_E=-8:0.5:8;Y_E=X_E;
[X,Y] = meshgrid(X_E,Y_E);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X_E,Y_E,Z)

如果需要绘制三维曲线图而非曲面图,对应数据的取值为 X,Y,Z ,那么应该使用三位曲线绘制函数plot3,实例代码如下:

X = 0:pi/50:10*pi;
Y = sin(t);
Z = cos(t);
plot3(X,Y,Z)

扩展资料: 

mesh函数的其他用法:

1、mesh(Z) 使用 X = 1:n 和 Y = 1:m 绘制线框网格,其中 [m,n] = size(Z)。高度 Z 是在矩形网格上定义的单值函数。颜色与曲面高度成正比。

2、mesh(...,C) 使用矩阵 C 确定的颜色绘制线框网格。MATLAB 对 C 中的数据执行线性转换,以便从当前颜色图获取颜色。如果 X、Y 和 Z 为矩阵,它们的大小必须与 C 相同。

3、mesh(...,'PropertyName',PropertyValue,...) 设置指定曲面属性的值。可以使用一个语句设置多个属性值。

4、mesh(axes_handles,...) 将图形绘制到带有句柄 axes_handle 的坐标区中,而不是当前坐标区 (gca) 中。

参考资料:

MATLAB Mathworks-中国

百度百科——mesh

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-29
展开全部

举个例子不知道对不对:


我现在有一个地区平面的一万个点的坐标x,y,z

分别导入x,y,z 的mat里: 

然后用toolbox里的 curve Fitting Tool, 分别设定xdata,ydata,zdata,然后自己选函数,我现在选的是interpolant的 出来的就是这个图了。 这些是我现在琢磨出来的,我是新手要是有更好的办法求指导

T-T

matlab 技术渣,只能到这里了 呜

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
greatdju
推荐于2017-05-21 · TA获得超过2.2万个赞
知道大有可为答主
回答量:2486
采纳率:50%
帮助的人:4154万
展开全部
如果一列x一列y和一列z,想绘制曲线图,用plot3绘制
例子

t=linspace(-5,5);
x=sin(t);
y=cos(t);
z=t;
plot3(x,y,z)

如果一列x一列y和一列z,想要绘制曲面图,用griddata或interp2插值后用mesh或surf绘制
例子

load seamount%一列x一列y一列z
maxx=max(x);minx=min(x);maxy=max(y);miny=min(y);
[X,Y]=meshgrid(linspace(minx,maxx),linspace(miny,maxy));
Z=griddata(x,y,z,X,Y,'v4');%插值
mesh(X,Y,Z)
hold on
plot3(x,y,z,'r.')
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tanarri
2010-10-13 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5123
采纳率:33%
帮助的人:8095万
展开全部
你的数据是什么样的?meshgrid只是把x,y从矢量变成矩阵了而已,你的原始数据本来就应该是x,y平面上数据z=f(x,y),也就是说E_X,E_Y本来就应该是矩阵,不需要用meshgrid,如果数据量少的,可以用拟合来画图
你先用plot3试试,例如
>> x=0:100;
>> y=0:100;
>> z=x.^2+5*y;
>> plot3(x,y,z)
如果要做曲面的话,这些数据是不够的,得拟合
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式