python sympy库实现代数符号运算及表达式推导
matlab是工程和科研人員必備的工具利器, 其一大功能就是可以實現代數符號運算,以及表達式推導,或者復雜表達式的化簡工作, 是廣大粗心而沒有耐心計算人員的福音.
clc close all clear allsyms theta1 theta2 theta3; syms delta1 delta2 delta3;lm11 = cos(theta1) * sin(delta1); lm12 = sin(theta1) * sin(delta1); lm13 = cos(delta1); lm21 = cos(theta2) * sin(delta2); lm22 = sin(theta2) * sin(delta2); lm23 = cos(delta2); lm31 = cos(theta3) * sin(delta3); lm32 = sin(theta3) * sin(delta3); lm33 = cos(delta3);lightMatrix = [lm11,lm12,lm13;lm21,lm22,lm23;lm31,lm32,lm33] lightMatrix_Inv = inv(lightMatrix); simplify(lightMatrix_Inv) latex(lightMatrix)
顯示latex表達式,結果如下:
(sin?(δ1)cos?(θ1)sin?(δ1)sin?(θ1)cos?(δ1)sin?(δ2)cos?(θ2)sin?(δ2)sin?(θ2)cos?(δ2)sin?(δ3)cos?(θ3)sin?(δ3)sin?(θ3)cos?(δ3))\left(\begin{array}{ccc} \sin\left(\delta _{1}\right)\,\cos\left(\theta _{1}\right) & \sin\left(\delta _{1}\right)\,\sin\left(\theta _{1}\right) & \cos\left(\delta _{1}\right)\\ \sin\left(\delta _{2}\right)\,\cos\left(\theta _{2}\right) & \sin\left(\delta _{2}\right)\,\sin\left(\theta _{2}\right) & \cos\left(\delta _{2}\right)\\ \sin\left(\delta _{3}\right)\,\cos\left(\theta _{3}\right) & \sin\left(\delta _{3}\right)\,\sin\left(\theta _{3}\right) & \cos\left(\delta _{3}\right) \end{array}\right) ???sin(δ1?)cos(θ1?)sin(δ2?)cos(θ2?)sin(δ3?)cos(θ3?)?sin(δ1?)sin(θ1?)sin(δ2?)sin(θ2?)sin(δ3?)sin(θ3?)?cos(δ1?)cos(δ2?)cos(δ3?)????
人生苦短,我用python。python中實現代數符號運算和推導需要利用symps庫,總體使用方法基本與matlab中相一致。
在pycharm中無法實現表達式的latex格式顯示,導致公式看起來繁瑣復雜,不夠清晰明了,容易導致錯誤。
可以在jupyter notebook中實現公式的latex格式顯示:
簡單的函數值計算:
更多的其他代數運算符號可以參考該鏈接
總結
以上是生活随笔為你收集整理的python sympy库实现代数符号运算及表达式推导的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 号称BI商业智能界的“四大天王”
- 下一篇: 参数化三维地下管线建模关键技术研究