本文内容是学习《Mechanisms and robot analysis with Matlab》一书中的第二章:机构的位置计算。
不同matlab版本的语法不同,我用的是matlab r2016b,经历了一番波折,终于运行出原文中的例题。
一、solve()函数
原文程序:
% 由B点C点的坐标得BC长度,列出等式
eqnC = ’( xB - xCsol )ˆ2 + ( yB - yC )ˆ2 = BCˆ2’;
% 用solve函数求解等式
solC = solve(eqnC, ’xCsol’);
% 等式求得2个解,后续再根据具体条件舍去一个
xC1=eval(solC(1));
xC2=eval(solC(2));
matlab r2016b中solve()不能再用等式,而要全部移到等号一边,成为一个默认=0的式子。等式eqnC和solve()括号中的引号也不再需要。
修改后程序:
eqnC = (xB-xCsol)^2 + (yB- yC)^2-BC^2;
solC = solve(eqnC,xC