2016-03-05 56 views
0

我想创建一个3D绘图。我正在尝试使用xvals和yvals的值来获得Z值,但我得到了两个错误。一个是说数据维度应该一致,并且它也说网格(X,Y,Z)在评估回调时有错误。任何建议来得到这个情节?谢谢Matlab,使用meshgrid创建3D绘图

 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); 

回答

0

您有尺寸问题。我想我固定它:因为Z值是复杂的

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); 

you'l现在得到一个错误。但是,这是我认为初始值的问题