哪位高手会用matlab软件做三维图,能否教我下,感激不尽。谢谢 返回小木虫查看更多
你想画什么图?你先看看mesh这个函数是否能满足你的要求,要是不懂在说
自己编写的 波函数角度分布图 x=-10:0.33:10;y=x;[X,Y]=meshgrid(x,y);Z=zeros(size(X))+1; r=sqrt(X.*X+Y.*Y+Z.*Z); u=sqrt(X.*X+Y.*Y); sin_theta=u./r; cos_theta=sqrt(1-sin_theta.^2); sin_phi=Y./u; cos_phi=X./u; y=(1/sqrt(pi)).*(exp(-r)); % psi=y;subplot(3,2,1);mesh(X,Y,psi);axis tight;xlabel('x');ylabel('y');zlabel('1 0 0'); psi=y;subplot(3,2,1);contour(X,Y,psi.*psi);axis tight;xlabel('x');ylabel('y');zlabel('1 0 0'); y=(1/4/sqrt(2*pi)).*(2-r).*(exp(-r/2)); psi=y;subplot(3,2,3);mesh(X,Y,psi);axis tight;xlabel('x');ylabel('y');zlabel('2 0 0'); y=(1/4/sqrt(2*pi)).*(r).*(exp(-r/2)).*(cos_theta); psi=y;subplot(3,2,4);mesh(X,Y,psi);axis tight;xlabel('x');ylabel('y');zlabel('2 1 0'); y=(1/4/sqrt(2*pi)).*(r).*(exp(-r/2)).*(sin_theta).*(cos_phi); psi=y;subplot(3,2,5);mesh(X,Y,psi);axis tight;xlabel('x');ylabel('y');zlabel('2 1 1 -1'); y=(1/4/sqrt(2*pi)).*(r).*(exp(-r/2)).*(sin_theta).*(sin_phi); psi=y;subplot(3,2,6);mesh(X,Y,psi);axis tight;xlabel('x');ylabel('y');zlabel('2 1 1 -1');
plot X-Y方向绘图 loglog X-Y方向的双对数绘图 semilogx X-Y方向的半对数绘图(X轴取对数) semilogy X-Y方向的半对数绘图(Y轴取对数) ploar 极坐标绘图 mesh 三维网状曲面图形 bar 直方图
•三维图形 三维曲线 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n) 其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。当x,y,z是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。 渐渐的是不是开始有意思了呢?? 三维曲面 1.产生三维数据 在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。其基本格式为: x=a:d1:b; y=c:d2:d; [X,Y]=meshgrid(x,y); 语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。 2.绘制三维曲面的函数 surf函数和mesh函数的基本格式为: mesh(x,y,z,c) surf(x,y,z,c) 一般情况下,x,y,z是维数相同的矩阵。x,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。 当然得用例子来说明了。绘制三维曲面图z=sin(x+sin(y))-x/10。 01.[x,y]=meshgrid(0:0.25:4*pi); 02.z=sin(x+sin(y))-x/10; 03.mesh(x,y,z); 04.axis([0 4*pi 0 4*pi -2.5 1]); 复制代码 给力,绝对的给力!!! 如果2维的曲线很多人都能画出来的话,那么三维这么几行就轻松搞定的事,以前想象过没有?? 此外,还有带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。其用法与mesh类似,不同的是meshc还在xy平面上绘制曲面在z轴方向的等高线,meshz还在xy平面上绘制曲面的底座。 3.标准三维曲面 sphere函数的调用格式为: [x,y,z]=sphere(n) cylinder函数的调用格式为: [x,y,z]= cylinder(R,n) MATLAB还有一个peaks 函数,称为多峰函数,常用于三维曲面的演示。 在初级入门绘图里掌握plot命令和mesh命令就够了,
你想画什么图?你先看看mesh这个函数是否能满足你的要求,要是不懂在说
您好,我现在对matlab软件一点也不熟悉,通过查阅,看到只能在这软件里作图比较好看。您有时间帮我做下吗?非常谢谢了。
自己编写的 波函数角度分布图
x=-10:0.33:10;y=x;[X,Y]=meshgrid(x,y);Z=zeros(size(X))+1;
r=sqrt(X.*X+Y.*Y+Z.*Z);
u=sqrt(X.*X+Y.*Y);
sin_theta=u./r;
cos_theta=sqrt(1-sin_theta.^2);
sin_phi=Y./u;
cos_phi=X./u;
y=(1/sqrt(pi)).*(exp(-r));
% psi=y;subplot(3,2,1);mesh(X,Y,psi);axis tight;xlabel('x');ylabel('y');zlabel('1 0 0');
psi=y;subplot(3,2,1);contour(X,Y,psi.*psi);axis tight;xlabel('x');ylabel('y');zlabel('1 0 0');
y=(1/4/sqrt(2*pi)).*(2-r).*(exp(-r/2));
psi=y;subplot(3,2,3);mesh(X,Y,psi);axis tight;xlabel('x');ylabel('y');zlabel('2 0 0');
y=(1/4/sqrt(2*pi)).*(r).*(exp(-r/2)).*(cos_theta);
psi=y;subplot(3,2,4);mesh(X,Y,psi);axis tight;xlabel('x');ylabel('y');zlabel('2 1 0');
y=(1/4/sqrt(2*pi)).*(r).*(exp(-r/2)).*(sin_theta).*(cos_phi);
psi=y;subplot(3,2,5);mesh(X,Y,psi);axis tight;xlabel('x');ylabel('y');zlabel('2 1 1 -1');
y=(1/4/sqrt(2*pi)).*(r).*(exp(-r/2)).*(sin_theta).*(sin_phi);
psi=y;subplot(3,2,6);mesh(X,Y,psi);axis tight;xlabel('x');ylabel('y');zlabel('2 1 1 -1');
plot X-Y方向绘图
loglog X-Y方向的双对数绘图
semilogx X-Y方向的半对数绘图(X轴取对数)
semilogy X-Y方向的半对数绘图(Y轴取对数)
ploar 极坐标绘图
mesh 三维网状曲面图形
bar 直方图
•三维图形
三维曲线
plot3函数与plot函数用法十分相似,其调用格式为:
plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。当x,y,z是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。
渐渐的是不是开始有意思了呢??
三维曲面
1.产生三维数据
在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。其基本格式为:
x=a:d1:b;
y=c:d2:d;
[X,Y]=meshgrid(x,y);
语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。
2.绘制三维曲面的函数
surf函数和mesh函数的基本格式为:
mesh(x,y,z,c)
surf(x,y,z,c)
一般情况下,x,y,z是维数相同的矩阵。x,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。
当然得用例子来说明了。绘制三维曲面图z=sin(x+sin(y))-x/10。
01.[x,y]=meshgrid(0:0.25:4*pi);
02.z=sin(x+sin(y))-x/10;
03.mesh(x,y,z);
04.axis([0 4*pi 0 4*pi -2.5 1]);
复制代码
给力,绝对的给力!!! 如果2维的曲线很多人都能画出来的话,那么三维这么几行就轻松搞定的事,以前想象过没有??
此外,还有带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。其用法与mesh类似,不同的是meshc还在xy平面上绘制曲面在z轴方向的等高线,meshz还在xy平面上绘制曲面的底座。
3.标准三维曲面
sphere函数的调用格式为:
[x,y,z]=sphere(n)
cylinder函数的调用格式为:
[x,y,z]= cylinder(R,n)
MATLAB还有一个peaks 函数,称为多峰函数,常用于三维曲面的演示。
在初级入门绘图里掌握plot命令和mesh命令就够了,