![薛定宇教授大讲堂(卷Ⅱ):MATLAB微积分运算](https://wfqqreader-1252317822.image.myqcloud.com/cover/148/29977148/b_29977148.jpg)
4.2 参数方程的导数
MATLAB的符号运算工具箱并没有提供参数方程求导的函数,所以这里先看一下参数方程求导的数学公式,然后根据该规则编写出通用的MATLAB求解程序,直接求解参数方程的求导问题。
定理4-3 若已知参数方程y=f(t),x=g(t),则dny/dxn可以由递推公式求出
![](https://epubservercos.yuewen.com/30E2CE/16499866805000006/epubprivate/OEBPS/Images/Figure-P68_23565.jpg?sign=1738890229-BmCC6ETQ1cXOfUK1EVvqK7PlponCkjfS-0-cce3f82d8ae0c29c48c7d13590590256)
MATLAB并没有提供可以直接用于参数方程的高阶导数求取的函数,所以应该编写一个通用函数完成这项工作。我们用循环结构编写出求取参数方程任意阶导数的通用MATLAB函数,其效率高于文献给出的递归调用格式的函数。
![](https://epubservercos.yuewen.com/30E2CE/16499866805000006/epubprivate/OEBPS/Images/Figure-P68_23567.jpg?sign=1738890229-B3bWmXMC1FKLyLYwDMWsXpfKzojlr3PX-0-86907e82907b617958a8d9556a41bf7e)
例4-13 已知参数方程,
,试求
。
解 由前面给出的函数调用格式,可以得出所需的高阶导数。
![](https://epubservercos.yuewen.com/30E2CE/16499866805000006/epubprivate/OEBPS/Images/Figure-P68_23575.jpg?sign=1738890229-L7mgJu8rk7EdYnJ23u3ttXXHw27UMVyo-0-aa4c1807154aaf3f9c5ca1e75699e833)
得出如下的结果:
![](https://epubservercos.yuewen.com/30E2CE/16499866805000006/epubprivate/OEBPS/Images/Figure-P68_23576.jpg?sign=1738890229-NDQxGoYobPgFhMawSfgapS8xOoXzx3cv-0-a3f246ef105a67e9588b6272ca235021)
对sin t、cos t合并同类项后,通过手工整理得出
![](https://epubservercos.yuewen.com/30E2CE/16499866805000006/epubprivate/OEBPS/Images/Figure-P68_23578.jpg?sign=1738890229-r62BGWwaVXVlElETkVPkLh6Enlu672Rl-0-0d6e4fdb9ad55ffd1f107579dd234ae9)
例4-14 已知参数方程x(t)=ln t,y(t)=tm,试求出dny/dxn。
解 我们编写的paradiff()只能求解给定数值n的问题,并不能接受n为变量的命令,所以可以选择一些特定的n值求导,并从结果总结函数的n阶导数。给出下面的命令:
![](https://epubservercos.yuewen.com/30E2CE/16499866805000006/epubprivate/OEBPS/Images/Figure-P68_23581.jpg?sign=1738890229-SG8trPqZE0r4YY9CcExWT4mC1VTz0Uof-0-82604c80003ef6448e9c79af2524024d)
直接得出f1=mtm,f2=m2tm,f3=m3tm,f4=m4tm。可见,dny/dxn=mntm。
由数学归纳法可以很容易证明这样的结论。由f1可知k=1命题成立,假设k=n时命题成立,即dny/dxn=mntm,由于该表达式仍是参数方程,所以k=n+1时,可以用如下命令求出dn+1y/dxn+1。
>> syms n; F=m^n*t^m; F1=simplify(diff(F,t)/diff(x,t))
其结果为F1=mn+1tm,说明k=n+1命题也成立,因此可以由数学归纳法证明dny/dxn=mntm对任意自然数都成立。
如果想求出x(t)对y(t)的高阶导数,则可以给出下面的命令。
![](https://epubservercos.yuewen.com/30E2CE/16499866805000006/epubprivate/OEBPS/Images/Figure-P69_23586.jpg?sign=1738890229-c4NmDVqpAd4jGNHyA6s3nn4p0a2PkFPW-0-59142cd1c4144aa2b90f2a8a90b9c27a)
所得出的结果为f1=1/(mtm),f2=−1/(mt2m),f3=2/(mt3m),f4=−6/(mt4m),由此归纳出dnx/dyn=(−1)n+1(n−1)!/(mtnm)。
仍可以采用数学归纳法证明上面的结论。已知k=1时命题成立,假设k=n时上式成立,则可以由下面语句导出k=n+1时的结果为(−1)nn(n−1)!/(mtm(n+1))。显然,k=n+1时命题也成立,由数学归纳法证明该命题是正确的。
>> F1=(-1)^(n+1)*factorial(n-1)/m/t^(n*m); diff(F1,t)/diff(y,t)
另外,可能细心的读者会注意到,对本例而言,dny/dxn̸=dnx/dyn,这是正常的现象,不要弄混了。