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)
matlab求导df = diff(y,t)
df = 2t 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)
2t cos(t^2) %与先知道x表达式的结果⼀致