高等数学的MATLAB应用
今天开始更新这个专题,写的非常简略,只是为了收录一些常用的MATLAB指令的算法,供写MATLAB程序时参考用。先写出大的框架,之后会继续补充和完善~
目录
微积分
求极限
limit(expr,x,a);
limit(expr,a);
limit(expr);
limit(expr,x,a,'left');
limit(expr,x,a,'right');
求导数
diff(expr);
diff(expr,v);
diff(expr,sym('v'));
diff(expr,n);
diff(expr,v,n);
diff(expr,n,v);
df = jacobian(f);%求一阶偏导数
d2f = jacobian(df);%求Hessian矩阵
求积分
int(expr);
int(expr,v);%不定积分
int(expr,a,b);
int(expr,v,a,b);%定积分符号解
quadl(expr,a,b);
bdlquad(expr,a1,b1,a2,b2);
triplequad(expr,a1,b1,a2,b2,a3,b3);%定积分数值解
级数求和
symsum(expr,v);
symsum(expr,v,a,b);
线性代数
%A为一矩阵
b = rref(A);%求A的最大线性无关组
b = null(a,'r');%求齐次线性方程组的有理基
solution = pinv(a)*b;%求非齐次线性方程组的解,或给出最小二乘解
[P,D] = eig(A);%求特征根与正交矩阵
微分方程
微分方程符号解
[y1,...,yN] = dsolve(eqns,conds,Name,Value);%eqns为符号微分方程组,conds为初值或边值条件,
初值问题的Matlab数值解,工具箱中提供了ode45
(四五阶龙格-库塔(RK)方法),ode23
(二三阶RK方法),ode113
(多步法)这样的方法。
对于
这样的初值问题,解法为
[t,y] = solver('F',tspan,y0);%solver为ode45,ode23或ode113,F为用m文件定义的f(x,y),tspan为求解区间,tspan = [t0,tfinal]
参考文献:
[1]. 司守奎,孙兆亮. 数学建模算法与应用(第二版)[M]. 北京:国防工业出版社,2017