1
我注意到,数字'float'
值的符号矩阵的置换后,转换是在分数形式具有非常大的值,即我想避免:Matlab的:麻烦转换符号表达为数字
A=(uvw(1,:)-bMat(1,:)).^2+(uvw(2,:)-bMat(2,:)).^2+(uvw(3,:)-bMat(3,:)).^2-legStroke.^2;
A=subs(A,[x,y,z,phi,theta,psi],...
[1.37,0.0,0.0,degtorad(0.0),degtorad(-1.32),degtorad(0.0)]);
A=simplify(A)
,我得到的结果如下:
A=[((9004809005642893*p1x)/9007199254740992 - b1x + 137/100)^2-l1^2 +(44086462975326147772185208371001*p1x^2)/83076749736557242056487941267521536 + ...
我试图用sym(A,'d')
或类似的,以下从网上的一些技巧,但我得到这个错误信息:
错误符号> tomupad(线2232)
假设(S,x.s,一个);
您的代码无法运行。请修改您的问题以定义所有值,数字或符号以及您指定的任何假设,以便我们可以复制您的问题。它不需要是你正在使用的准确的代码,只是简短的展示了相同的问题。另外,你用的是什么'版本'的Matlab?此外,FYI,'degtorad'是矢量化的,因此您可以简单地执行'degtorad([0.0 -1.32 0.0]]'。 – horchler 2015-02-23 19:57:21