matlab用plot3绘制三维曲面,matlab plot画三维图
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)
%希望能解决你的问题!