求助:过来帮小弟看看
请高手指点一下,matlab中输入这样一段代码u=168.2/180*pi;
p=39.63/180*pi;
xa=-76.5;
ya=-2.7;
xc=-3.6;yc=-14;
xd=-6;yd=-15;xb=-45.7;yb=-6.7;
AB=31.1;AC=42.0;BD=40.6;CD=30.0;
k=178.1/180*pi;
g=u:-0.2:p;
CBi=sqrt(BD^2+CD^2-2*CD*BD*cos(k-g));
s=acos((AC^2+CBi.^2-AB^2)./(2*AC*CBi))+asin((yd-yc+BD*sin(g))/CBi);
输入g输出结果为
g =
Columns 1 through 8
2.9356 2.7356 2.5356 2.3356 2.1356 1.9356 1.7356 1.5356
Columns 9 through 12
1.3356 1.1356 0.9356 0.7356
输入CBi输出结果为
CBi =
Columns 1 through 8
12.1915 16.7235 22.3866 28.3595 34.3059 40.0525 45.4880 50.5293
Columns 9 through 12
55.1096 59.1730 62.6724 65.5684
然后输入S,输出结果为
s =
Columns 1 through 8
1.1269 1.4301 1.5413 1.5661 1.5487 1.5085 1.4550 1.3935
Columns 9 through 12
1.3273 1.2585 1.1892 1.1215
我的理解是s结果中1.4301是在g中以2.7356代入计算后求得CBi中的16.7235再代入公式,通过matlab求出来
的,不知道对否?
但是如果是这样的话,小弟将2.7356直接以数值代入CBi计算公式中,即
CBi=sqrt(BD^2+CD^2-2*CD*BD*cos(k-2.7356));
这样输入CBi后,输出结果为16.7246
跟之前的16.7235接近,无法看出问题,暂且放着,但是当我把16.7235代入s计算公式中,即
s=acos((AC^2+16.7235^2-AB^2)./(2*AC*16.7235))+asin((yd-yc+BD*sin(2.7356))/16.7235);
这样输入s后,输出结果为1.8152,这与1.4301差别可是比较大的 ,小弟就搞不明白,望高手指教。