当前位置: 首页 > 有奖问答 >求助一关于matlab软件问题

求助一关于matlab软件问题

作者 liaowangna
来源: 小木虫 250 5 举报帖子
+关注

哪位高手会用matlab软件做三维图,能否教我下,感激不尽。谢谢 返回小木虫查看更多

今日热帖
  • 精华评论
  • Dawang16

    你想画什么图?你先看看mesh这个函数是否能满足你的要求,要是不懂在说

  • liaowangna

    引用回帖:
    2楼: Originally posted by Dawang16 at 2012-09-21 08:54:55
    你想画什么图?你先看看mesh这个函数是否能满足你的要求,要是不懂在说

    您好,我现在对matlab软件一点也不熟悉,通过查阅,看到只能在这软件里作图比较好看。您有时间帮我做下吗?非常谢谢了。

  • cindyk

    自己编写的 波函数角度分布图
    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');

  • 359447348

    plot              X-Y方向绘图
    loglog          X-Y方向的双对数绘图
    semilogx      X-Y方向的半对数绘图(X轴取对数)
    semilogy      X-Y方向的半对数绘图(Y轴取对数)
    ploar            极坐标绘图
    mesh           三维网状曲面图形
    bar              直方图

  • 359447348

    •三维图形

    三维曲线
    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命令就够了,

猜你喜欢