matlab用plot3绘制三维曲面,matlab plot画三维图

http://www.itjxue.com  2023-01-14 10:21  来源:未知  点击次数: 

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

求助各位这个用matlab怎么画3维曲面图

如何用matlab画带积分函数的三维曲面图 ?

解决思路和方法:

方法1:利用循环语句

1、分别将x【10,25】和y【10,55】划分若干个等份,如n=100

x=linspace(10,25,100);

y=linspace(10,55,100);

2、使用meshgrid函数,对x、y数据进行平面网格化。即

[x,y] = meshgrid(x,y)

3、使用双循环语句,求得z。即

for i=1:100

for j=1:100

eq=@(t) 1./(sqrt(2*pi)*0.387*t).*exp(-(log(t)-2.59).^2./(2*0.387^2))

z(i,j)=0.991.*(1-exp(-(x(i,j)/11.936).^6.411))*0.991.*integral(eq,0,y(i,j))

end

end

4、使用mesh函数,绘制其三维曲面图,即

mesh(x,y,z)

5、标注坐标轴名称,即

xlabel('x');ylabel('y');zlabel('z')

方法2:利用fmesh函数

1、自定义函数,z(x,y)

2、使用fmesh函数,绘制其三维曲面图,即

fmesh(z,[10 50 10 55]);

运行结果如下所示。

用MATLAB只知道一些(x,y,z)坐标,怎样绘制出三维曲面图?

三维曲线绘图

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只是画出网格线而已!!

matlab三维plot3用法

%plot3(x,y,z)用来绘制3维曲线图,而不能绘制曲面图!就是把所有的

%(x,y,z)点连接在一起。而画曲面图必须用surf和mesh函数,而这两个

%函数都需要知道对应x,y向量交叉点内所有点处的z值,所以得用

%x=-200:0.3:200;y=-200:0.1:200;

%[x,y]=meshgrid(x,y);

%z=x.*y/sqrt(x.*x+y.*y)

%获得z值,再用mesh(x,

y,

z);绘曲面图

,下面为代码

x=-200:0.3:200;y=-200:0.1:200;

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

z=x.*y./sqrt(x.*x+y.*y);

mesh(x,y,z)

%希望能解决你的问题!

(责任编辑:IT教学网)

更多

推荐鼠标代码文章