matlab如何画三维图

如题所述

1、plot3三维曲线图。

启动MATLAB,新建脚本(.m文件),在脚本编辑区输入以下代码,然后保存运行后,看到三维曲线图。

close all;clear all;clc

z=linspace(0,10,101);

x=sin(z);y=cos(z);

plot3(x,y,z,'g','LineWidth',2)

hold on

plot3(x,y,z,'p','MarkerSize',10)

其中,linspace(a1,a2,N) 是生成间距为(a2-a1)/(N-1)、个数为N的数组的命令。

2、mesh三维网格图。

在脚本编辑区紧接着输入以下代码,保存运行后,看到三维网格图。

[a,b,c]=peaks(50);

figure(2)

mesh(a,b,c)

axis tight

其中,peaks(N)是生成一个凹凸有致的曲面,包含三个局部极大点及三个局部极小点的函数,其方程式略。

3、meshc除了生成网格图外,还在xy平面生成曲面的等高线

将第二步中的mesh(a,b,c)改为meshc(a,b,c),然后保存运行后,看到三维网格图+等高线的效果。

4、meshz除了生成网格图外,还在曲线下面加上个矩形垂帘。

将第三步中的meshc(a,b,c)改为meshz(a,b,c),然后保存运行后,看到三维网格图+垂帘的效果。

5、surf三维着色曲面图。

将第四步中的meshz(a,b,c)改为surf(a,b,c),然后保存运行后,看到三维着色曲面图。

6、surfc同时画出三维着色曲面图与等高线。

将第五步的surf(a,b,c)改为surfc(a,b,c),然后保存运行后,看到三维着色曲面图+等高线的效果。

7、surfl带光照的三维着色曲面图图。

将第六步的surfc(a,b,c)改为surfl(a,b,c),然后保存运行后,看到带光照的三维着色曲面图。

8、添加shading interp去掉网格曲线,添加xlabel等坐标说明,添加title标题说明。输入以下代码,保存运行后,得到三维效果。

[a,b,c]=peaks(50);

figure(2)

surfl(a,b,c)

shading interp

xlabel('X');ylabel('Y');zlabel('Z')

title('peaks+surfl')

axis tight

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-20

三维曲面图,可以用surf或mesh命令;

三维曲线图,可以用plot3命令。


三维曲面图,案例:

xx=linspace(-1,1,50);

yy=linspace(-2,2,100);

[x,y]=meshgrid(xx,yy);

z=x.^2+2*y.^2;

surf(x,y,z)

结果:

三维曲线图,案例:

t=linspace(1,20,1000);

xx=cos(t);

yy=sin(t);

zz=t;

plot3(xx,yy,zz)

结果:

希望对你有帮助,欢迎交流!


参考:http://zhidao.baidu.com/question/304779250949044964

本回答被提问者和网友采纳
第2个回答  推荐于2018-01-23
例子:
x=[4229042.63 4230585.02 4231384.96 4231773.63 4233028.58 4233296.71 4235869.68 4236288.29];
y=[431695.4 441585.8 432745.6 436933.7 428734.4 431946.3428705.0 432999.5];
z=[1.019 1.023 1.011 1.022 1.020 1.022 1.022 1.023];
scatter3(x,y,z)
注:x,y,z必须是等长度的数对(即三个等长的矢量)本回答被网友采纳
第3个回答  2020-05-19
第4个回答  2019-12-22
三维图是不可以画的,用数字计算
相似回答