- 积分
- 0
- 注册时间
- 2010-10-4
- 仿真币
-
- 最后登录
- 1970-1-1
|
本帖最后由 luckyrhkr 于 2010-12-11 16:11 编辑
下面程序中的xx=A\b
结果为
0.0000
-0.0000
-0.0000
-0.0090
0
0.0088- clc;clear all;
- syms q1 q2 q3 q4 q5 q6 t
- x=[0.5,-0.866,5.236,1.5,-1,6.14]
- e=[q1-cos(q3);q2-sin(q3);q4-cos(q3)-cos(q6);q5-sin(q3)-sin(q6);q5+1;q3-pi/6*t-5*pi/3]
- for ii=1:numel(e)
- qq(ii)=strcat({'q'},num2str(ii)) ;%qq is is to calculate Jacobian Matrix
- end
- for ii=1:numel(e)
- qqq(ii)=sym(['q',num2str(ii)]); %qqq is for the formation of Jacobian Matrix
- end
- t=0;
- Jq=jacobian(e,qqq);
- ee=subs(e);
- arrayfun(@(q)(assignin('base', qq{q}, x(q))),1:length(x));
- A=subs(Jq);
- b = -subs(ee);
- xx=A\b
复制代码 但是我想要的结果是
0
0
0
-0.0089
0
0.0088
我试了下,当直接输入下面程序后,结果是对的。-
- A=[1,0,-0.8660,0,0,0;0,1,-0.5,0,0,0;0,0,-0.8660,1,0,-0.1427;0,0,-0.5,0,1,-0.9898;0,0,0,0,1,0;0,0,1,0,0,0];
- b=[0;0;-0.0102;-0.0087;0;0];
- A\b
复制代码 请问这个属于什么问题呀?怎么设置才能得到我要的答案 |
|