![薛定宇教授大讲堂(卷Ⅱ):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=1738906641-XC1oqnPauTJ9JhROXVyPeSmS9sLQLMbg-0-ab576f0121caea950206b704520ae26d)
MATLAB并没有提供可以直接用于参数方程的高阶导数求取的函数,所以应该编写一个通用函数完成这项工作。我们用循环结构编写出求取参数方程任意阶导数的通用MATLAB函数,其效率高于文献给出的递归调用格式的函数。
![](https://epubservercos.yuewen.com/30E2CE/16499866805000006/epubprivate/OEBPS/Images/Figure-P68_23567.jpg?sign=1738906641-to7jYMCwC9NXwdFumq63pK6wjweJE41L-0-64afce1a3bb1a0b5f9ed0e1564fc308c)
例4-13 已知参数方程,
,试求
。
解 由前面给出的函数调用格式,可以得出所需的高阶导数。
![](https://epubservercos.yuewen.com/30E2CE/16499866805000006/epubprivate/OEBPS/Images/Figure-P68_23575.jpg?sign=1738906641-r9u9IJwnw4Nj2OmgNgf9dLYz1s99NtLC-0-18139820a5b488fc464370430d551d5c)
得出如下的结果:
![](https://epubservercos.yuewen.com/30E2CE/16499866805000006/epubprivate/OEBPS/Images/Figure-P68_23576.jpg?sign=1738906641-UDT4QB0dm7X9LpHZNX4TACFswoRY4U1r-0-93b04de708659c1cbb327ee88a7109fc)
对sin t、cos t合并同类项后,通过手工整理得出
![](https://epubservercos.yuewen.com/30E2CE/16499866805000006/epubprivate/OEBPS/Images/Figure-P68_23578.jpg?sign=1738906641-1Nm7r0QNr2PUQ03RhhYSAQcPqcEBQjM5-0-f73f44b3b4686252714736473786ba32)
例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=1738906641-9sP02EWpKUwVvL94aTu6iy1ycg41XXPd-0-7386d9188fbbf96ad83eb55114021b81)
直接得出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=1738906641-ZWnm9MN2ZBuR7HMM7yEfVbeMJ5YuhDuz-0-357f1a4f5836a753ebb7f66d8ef38629)
所得出的结果为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,这是正常的现象,不要弄混了。