【问题标题】:Matlab, using meshgrid to create 3D PlotMatlab,使用meshgrid创建3D Plot
【发布时间】:2016-03-05 08:28:54
【问题描述】:

我正在尝试创建 3D 绘图。我正在尝试使用 xvals 和 yvals 中的值来获取 Z 值,但出现两个错误。一种是说数据维度应该一致,它还说网格(X,Y,Z)在评估回调时有错误。有什么建议可以让这个情节吗?谢谢

        xvals = 1.00:0.1:5.75;
        yvals = 2.5:0.1:12.5;
        [X,Y] = meshgrid(xvals,yvals);

        AB01 = sqrt((-21.6 - X).^2 + (-5.612 - Y).^2);
        AA0 = 22.269;
        pivotlength = sqrt(X.^2 + Y.^2);
        l = AB01-7.5;
        b = (pivotlength.^2 + AB01.^2 - AA0^2);
        ee = (2*pivotlength.*AB01); 
        bb= b/ee;
        thetalmax = acosd(bb);

        c = (pivotlength.^2 + l.^2 -AA0^2)/(2*pivotlength.*l);
        thetalmin = acosd(c);


        Z = thetalmin - thetalmax ; 

        mesh(Y,X,Z);

【问题讨论】:

    标签: matlab plot 3d mesh


    【解决方案1】:

    您的尺寸有问题。我想我修好了:

    xvals = 1.00:0.1:5.75;
    yvals = 2.5:0.1:12.5;
    
    [X,Y] = meshgrid(xvals,yvals'); % added '
    
        AB01 = sqrt((-21.6 - X).^2 + (-5.612 - Y).^2);
        AA0 = 22.269;
        pivotlength = sqrt(X.^2 + Y.^2);
        l = AB01-7.5;
        b = (pivotlength.^2 + AB01.^2 - AA0^2);
        ee = (2*pivotlength.*AB01); 
        bb= b./ee; % added .
        thetalmax = acosd(bb);
    
        c = (pivotlength.^2 + l.^2 -AA0^2)./(2*pivotlength.*l);% added .
        thetalmin = acosd(c);
    
    
        Z = thetalmin - thetalmax ; 
    
        mesh(Y,X,Z);
    

    但是

    您现在会收到错误消息,因为 Z 值很复杂。但我认为这是初始值的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多