![薛定宇教授大讲堂(卷Ⅱ):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=1739235093-JHkI4nu6HDB0yRK4CZZuizEnNFxYEmon-0-a5fac4d73cbd9a66d03c3dab3b4a880f)
MATLAB并没有提供可以直接用于参数方程的高阶导数求取的函数,所以应该编写一个通用函数完成这项工作。我们用循环结构编写出求取参数方程任意阶导数的通用MATLAB函数,其效率高于文献给出的递归调用格式的函数。
![](https://epubservercos.yuewen.com/30E2CE/16499866805000006/epubprivate/OEBPS/Images/Figure-P68_23567.jpg?sign=1739235093-D6LmhZL10sP22RKYobj7895MamVDwaOk-0-2a098b70e65f8fa438ddc7f4f2c82d56)
例4-13 已知参数方程,
,试求
。
解 由前面给出的函数调用格式,可以得出所需的高阶导数。
![](https://epubservercos.yuewen.com/30E2CE/16499866805000006/epubprivate/OEBPS/Images/Figure-P68_23575.jpg?sign=1739235093-cLy6lqN8DCD9A4XkZ0ieM3fhY8G79GRU-0-8db5d5f987d671b2408fbd90a2e126d0)
得出如下的结果:
![](https://epubservercos.yuewen.com/30E2CE/16499866805000006/epubprivate/OEBPS/Images/Figure-P68_23576.jpg?sign=1739235093-j0tOz5dzW3yfGhH9OxNKvJmV9JqTz3C4-0-b29ea446f04d7f300e3f10c6af7b7edf)
对sin t、cos t合并同类项后,通过手工整理得出
![](https://epubservercos.yuewen.com/30E2CE/16499866805000006/epubprivate/OEBPS/Images/Figure-P68_23578.jpg?sign=1739235093-WAmQu5JbCG8jtMyoMiGcUBH1u2lI3fTF-0-610e5c5e23cf7d8480b8dd3ddb2702e7)
例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=1739235093-mVNNdWKJfx8EQXXVhPjcG4Uf34orA6Am-0-b8458851d85957ef93ca0fdfef782de3)
直接得出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=1739235093-O1wvx6BclGlP8MSXGXqdDQuLgPmUu6IT-0-ddcfc867a3883a38c9432066508d056e)
所得出的结果为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,这是正常的现象,不要弄混了。