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