(原創)matlab符號微分含有未知函數時的導數計算


我們先來看一個例子:

\(y=sin(x)\)\(y\)是x的函數,同時\(x\)是關於t的函數,即為\(x(t)\),很多時候\(x(t)\)的具體表達式是未知的,這時該如何用matlab符號求\(y\)關於\(t\)的導數呢?

先來看\(x(t)​\)表達式已知時matlab代碼:

syms t
x = t^2 %例如x=t*t
y = sin(x)
df = diff(y,t)
>> df = 2*t*cos(t^2) %求導結果

從上面可以看出函數表達式已知時,可以很方便做符號微分。

接下來看函數未知時的情況:

x = sym('x(t)') %定義x是關於t的一個表達式
y = sin(x)
df = diff(y,t)
>> df = cos(x(t))*diff(x(t), t) %驗證與手動求導結果一致

有了上面的結果之后,突然有一天\(x(t)\)的具體表達式有了該怎么辦呢?這時subs函數就可以出場了,例如:

x = sym('x(t)') %定義x是關於t的一個表達式
y = sin(x)
df = diff(y,t)
df = subs(df,x,t^2)
>> 2*t*cos(t^2) %與先知道x表達式的結果一致


免責聲明!

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



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