知道一组x、y、z坐标,怎样用MATLAB绘制出三维曲面图。实现方法的步骤:
1、根据一组x、y、z的数值,拟合出z=f(x,y)函数关系;
2、对x、y在某区间内划分n等分,如x=linspace(0,100,50),y=linspace(-20,20,50),这里n等分为51;
3、用[X,Y] = meshgrid(x,y)命令,建立X—Y平面上的网格数据
4、根据z=f(x,y)函数表达式,求出Z值,如Z=X.^2+Y.^3
5、用surf(x,y,z)命令,绘出三维曲面图。(同mesh命令一样)
三维曲线绘图
t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);
plot3(x,y,z,'b-',x,y,z,'bd'),view([-82,58]),box
on,legend('链','宝石')
t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);
plot3(x,y,z,'b-',x,y,z,'bd'),view([-82,58]),box
on,legend('链','宝石')
用曲面图表现函数
clf,x=-4:4;y=x;[x,y]=meshgrid(x,y);
z=x.^2+y.^2;
surf(x,y,z);hold
on,colormap(hot)
stem3(x,y,z,'bo')
上面的例子已经明显说明画曲线图用plot3()函数,而画三维曲面图用surf(),而meshgrid只是画出网格线而已!!
用surf函数的效果会好一点
把坐标的矩阵输进去后,用surf(x,y,z)就好了
你看看这个就知道了:http://zhidao.baidu.com/question/175906491.html?si=9
用mesh函数,具体格式参见help