求解析解:要先将变量符号化;
syms x y a b
x0处的极限
格式1: L= limit( fun, x, x0)
x0处左右极限
格式2: L= limit( fun, x, x0, ‘left’ 或 ‘right’)
无穷处
L=limit(fun,x,inf)
1.2 多变量函数的极限
格式: L1=limit(limit(f,x,x0),y,y0)
或 L1=limit(limit(f,y,y0), x,x0)
函数的导数和高阶导数
格式: y=diff(fun,x) %求导数
y= diff(fun,x,n) %求n阶导数
多元函数的偏导:
格式: f=diff(diff(f,x,m),y,n)
或 f=diff(diff(f,y,n),x,m)
简化,化简函数
simplify(fun)
美化函数
pretty(fun)
隐函数的偏导数:
格式:F= - diff(f,xj)/diff(f,xi)
不定积分:
格式: F=int(fun,x)
定积分与无穷积分计算:
格式: I=int(f,x,a,b)
格式: I=int(f,x,a,inf)
例题,多重积分解析解,matlab求解
syms x y z
int(int(int(4xzexp(-x2*y-z2),x,0,1),y,0,pi),z,0,pi)
ans =
-(exp(-pi^2) - 1)(eulergamma + log(pi) - ei(-pi))
Ei(n,z)为指数积分,无解析解,但可求其数值解:
vpa(ans,60)
ans =
1.73276222303122046279036924954865797833228791294854004417627
taylor(f,x,a,'order',k) %x =a ,处的前k项展开
多变量函数的Taylor幂级数展开
taylor(f,[x,y],[0,0],'order',8)
2.2 Fourier傅里叶级数展开
[A,B,F]=fseries(f,x,n,a,b)
2.3 级数求和
S = symsum(fk, k, k0, kn)
3 数值微分
回顾一下导数:
matlab实现,中心差分方法
调用格式:[dy,dx]=diff_ctr(y, 德尔塔t, n)
y为 等距实测数据, dy为得出的导数向量, dx为相应的自变量向量,dy、dx的数据比y短 。
用插值、拟合多项式的求导数
d=polyfit(x-a,y,length(xd)-1)
二元函数的梯度计算
例题:计算 z=(x. ^2-2*x). *exp(-x.2-y.2-x.*y) 梯度,绘制引力线图:
解:z矩阵是建立在等间距的形式生成的网格基础上,将x ,y 网格化
[x,y]=meshgrid(-3:.2:3,-2:.2:2
[fx,fy]=gradient(z);
fx=fx/0.2; fy=fy/0.2;
contour(x,y,z,30);
hold on;
quiver(x,y,fx,fy)
4 数值积分
4.1 梯形法:
将x的积分区间划成步长为h的n个等分
随着步距h的减小,计算精度逐渐增加
trapz(x,y) %梯形积分法函数
4.2 单变量数值积分
y=quad(Fun,a,b) y=quadl(Fun,a,b) % 求定积分
4.3 integral 数值积分
q = integral(fun,xmin,xmax)
q = integral(fun,xmin,xmax,Name,Value)
4.4 quadgk()函数(自适应高斯-勒让德积分法)
[q,errbnd] = quadgk(fun,a,b,param1,val1,param2,val2,...)
4.5 双重积分的数值解
y=dblquad(Fun,xmin,xMax,ymin,yMax)
对x是不可积的,故调用解析解方法不会得出结果,而数值解求解不受此影响。
4.6 三重定积分的数值求解I=triplequad(Fun,xm,xM,ym,yM, zm,zM, 精度值 ,@quadl)