matlab三维曲线图函数mesh用法? 30
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文件? 展开
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 广告
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) 中。
参考资料:
2014-01-29
例子
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.')
你先用plot3试试,例如
>> x=0:100;
>> y=0:100;
>> z=x.^2+5*y;
>> plot3(x,y,z)
如果要做曲面的话,这些数据是不够的,得拟合
广告 您可能关注的内容 |