求matlab高手帮忙改错,汽车转向的阿克曼原理的程序

发布网友

我来回答

1个回答

热心网友

clear all

k=600;

m=65;

x(2)=110;

x(1)=2.0944*pi/180;%%x(1)要计算它的三角函数值,转化为弧度

I=1:360;%%I的取值应该是角度吧,那把范围扩大

h=75;

I1=I*pi/180;%%i换成别的变量,避免和虚数的i混淆

%%

r=atan(m/(2*h));

V=k-m/2-x(2)*cos(x(1));

C=h-x(2)*sin(x(1));

l2=sqrt(V^2+C^2);

%%

D=I1-x(1);%%换i为I1

B=sqrt(h^2+m^2);

M=x(2)^2+(k^2)/4+B^2-l2^2;

E=k*B-(2*x(2)*B)*cos(D);

F=((-2)*x(2)*B)*sin(D);

X=(M-(x(2)*k)*cos(D))./sqrt(E.^2+F.^2);

Y=atan(F./E);

a=r-asin(X)+Y;

P=r+a;

H=x(2)*k-(2*x(2)*B).*sin(P);

G=(-2)*x(2)*B.*cos(P);

T=(M-(k*B)*sin(P))./sqrt(H.^2+G.^2);

Z=atan(H./G);

J1=-x(1)-asin(T)+Z;%%同样把j换成别的符号表示

J=J1*180/pi;

beta=acot(cot(I1)-600/1500);

betae=beta*180/pi;

plot(I,J,'r-',I,betae,'g',I,I,'b')%%画到一幅图上

grid on

%%%%%%%%%%%%%%%%%%%%%%结果如图

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com