使用octave符號運算求解不定積分、微分方程等(兼容matlab)


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)來表達。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM