(原创)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表达式的结果一致

转载于:https://www.cnblogs.com/yuehq/p/6501547.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值