matlab如何画三维图
x的范围是(0,1],y取任意正整数。
如何画z关于x,y的三维图,谢谢!
clear
format long
x=0.01:0.99/20:1;
y=1:10:200;
for j=1:length(x)
for k=1:length(y)
q(j,k)=sqrt(0.5*(1+x(j)));
g(j,k)=x(j)*y(k);
z(j,k)=q(j,k)./g(j,k);
end
end
mesh(z);
这个程序画出来的图明显不对,不知道哪里出了问题,请各位大侠指教! 展开
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
clc;clear;close all
x=0.01:0.99/20:1;
y=1:1:200;
[x,y]=meshgrid(x,y);
z=sqrt(0.5*(1+x))./(x.*y);
mesh(x,y,z)