系列更新MATLAB各种运算和操作的说明。
本篇主要包括微积分运算相关内容(可利用侧边目录直接定位):
- 求极限:“limit”
- 数列求和:“symsum”
- 偏导数:“diff”
- 泰勒展开:“taylor”
- 定积分、不定积分、多重积分:“int”
- 微分方程:“dsolve”
前文:
1- 求极限:“limit”
例1:计算极限
输入:syms x; f=(3^x+9^x)^(1/x); limit(f,x,inf)
输出:
例2:计算极限
输入:syms x y; f=x*y/(sqrt(x*y+1)-1); limit(limit(f,x,0),y,0), limit(limit(f,y,0),x,0)
输出:
说明:这说明结果与求极限的变量顺序无关
2- 数列求和:“symsum”
注:之前矩阵篇中对数组或列求和使用“sum”,此处求和符号的函数为“symsum”
例1:计算
输入:syms k; symsum(k^2,1,n)
输出:
例2:计算
输入:syms k; symsum(1/(k^2),1,n)
输出:
说明:psi(1,)为digamma函数的1阶导数
例3:计算
输入:syms x n; symsum(1/((2*n+1)^(2*n+1))),n,0,Inf)
输出:
说明:piecewise为分段函数,2x+1的绝对值大于1时,atanh为双曲正切反函数
3- 偏导数:“diff”
例1:计算
输入:syms x y z; f=sin((x^2)*y*z); a=diff(diff(f,y,1),x,2); subs(subs(subs(a,z,3),y,1),x,1)
输出:
说明:运用diff求偏导,subs可以将数值代入含有符号的表达式求解。
4- 泰勒展开:“taylor”
例1:求函数在x=0的Taylor幂级数展开式 (n=8)
输入:syms x; f=log(x+sqrt(x^2+1)); taylor(f,x,'Order',8)
输出:
说明:利用taylor(f,x)求f关于x的麦克劳林展开,order后加8代表n=8.
5- 定积分、不定积分、多重积分:“int”
例1:(定积分)计算积分
输入:syms x y; f=(sin(x+2*y))*(x-y)^3; I=int(f,y,-x,x)
输出:
说明:利用int函数积分int(函数,积分对象,下限,上限)
例2:(不定积分)计算积分
输入:syms y; f=(exp(2*y))/(exp(y)+2); int(f,y)
输出:
说明:利用int(,)不定积分
验证:
例3:(多重积分)计算
输入:syms t r; f=sqrt(2+(r^2)*sin(t)); s=int(int(f,r,0,1),t,0,2*pi); s1=double(s)
输出:
说明:忽略结果中为0的虚数部分。结果约为8.86。
6- 微分方程:“dsolve”
例1:y’=x+y, y(0)=1, 0<x<3 (要求输出x=1, 2, 3点的y值)
输入:
syms y(x)
eqn = diff(y,x)==y+x;
cond = [y(0)==1];
y1(x) = dsolve(eqn,cond);
y1(1), y1(2), y1(3)
输出:
例2:2x’’(t)-5x’(t)-3x(t)=45e2t, x(0)=2, x’(0)=1. 0<t<2
输入:
syms y(x)
eqn = 2*diff(x,t,2) - 5*diff(x,t) - 3*x == 45*exp(2*t);
Dx = diff(x,t);
cond = [x(0)==2, Dx(0)==1];
dsolve(eqn,cond)
输出:
解的图像:
【本篇完】