1.求解1/(1+cos(x))^2的不定積分。
在和學生討論一道物理競賽題的時候,出現了這個函數的積分求解需求。查積分表也可寫出答案。但是可以使用octave的符號運算工具箱來做。
syms x; y = 1/(1+cos(x))^2; int(y)
既可以得到結果:
ans = (sym)
3/x\ /x\
tan |-| tan|-|
\2/ \2/
------- + ------
6 2
octave中的符號工具箱實際上是調用了sympy的核心庫。所以看自來結果有符號藝術的感覺。
2.求解微分方程
在一些場合,需要求解微分方程的解析解。
舉個例子,求解諧振子的微分方程。hamonic.m
syms x(t) DE = diff(x,2) + w^2*x == 0 dsolve(DE)
得到的結果是:
>> hamonic
DE = (sym)
2
2 d
w *x(t) + ---(x(t)) = 0
2
dt
ans = (sym)
-I*t*w I*t*w
x(t) = C1*e + C2*e
這里面octave的微分方程表達方法和matlab不大一樣,二階導函數不是寫作D2(x),而是使用 diff(x,2)來表達。
