回 帖 发 新 帖 刷新版面

主题:请求帮助,这个程序到底哪里出错了,怎么画不出曲线?

l1=2000/3;
l2=1000;
r1=40;
r2=20;
r3=60;
x=0:pi/180:pi/2;
y= r1.*(pi/2-x+asin((r1-r2)/l1))
+r3.*(pi/2-acos((l2.^2-l1.*l2.*cos(x))/(l2.*sqrt(l1.^2+l2.^2-2.*l1.*l2.*cos(x))))+asin((r3-r2)/sqrt(l1.^2+l2.^2-2.*l1.*l2.*cos(x))))
+r2.*(x+acos((l2.^2-l1.*l2.*cos(x))/(l2.*sqrt(l1.^2+l2.^2-2.*l1.*l2.*cos(x))))-asin((r1-r2)/l1)-asin((r3-r2)/sqrt(l1.^2+l2.^2-2.*l1.*l2.*cos(x))))
+sqrt(l1.^2-r1.^2-r2.^2+2.*r1.*r2)
+sqrt(l1.^2+l2.^2-2.*l1.*l2.*cos(x)-r3.^2-r2.^2+2.*r3.*r2);
plot(x,y,'r-'),grid on;

回复列表 (共1个回复)

沙发


看了你写的,还是多学习一下书(线性代数和Matlab)吧,线性代数告诉你什么叫矩阵,Matlab告诉你软件规则。 修改如下,已调试,请运行
l1=2000/3;
l2=1000;
r1=40;
r2=20;
r3=60;
for i=1:91  %(pi/2/(pi/180)+1)
    x(i)=(i-1)*pi/180;  %x一维矩阵
    y(i)= r1*(pi/2-x(i)+asin((r1-r2)/l1))+r3*(pi/2-acos((l2^2-l1*l2*cos(x(i)))/(l2*sqrt(l1^2+l2^2-2*l1*l2*cos(x(i)))))+...
        asin((r3-r2)/sqrt(l1^2+l2^2-2*l1*l2*cos(x(i)))))+r2*(x(i)+acos((l2^2-l1*l2*cos(x(i)))/(l2*sqrt(l1^2+l2^2-2*l1*l2*cos(x(i)))))-...
        asin((r1-r2)/l1)-asin((r3-r2)/sqrt(l1^2+l2^2-2*l1*l2*cos(x(i)))))+...
        sqrt(l1^2-r1^2-r2^2+2*r1*r2)+sqrt(l1^2+l2^2-2*l1*l2*cos(x(i))-r3^2-r2^2+2*r3*r2);
end
plot(x,y,'r-');
grid on;

我来回复

您尚未登录,请登录后再回复。点此登录或注册