地球物理计算方法课件:上机课3

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
格式:f=poly2sym(p)
说明: 将多项式向量p转换为字符 例如:f=poly2sym([1,2,1]),则f =x^2 + 2*x + 1
Matlab应用程序(APP)
4
课堂练习
1. 求下列数据表的最小二乘法拟合的多项式函数, 并将数据表中数据与多项式曲线画在同一图中比较。
xi -1 -0.75 -0.5 -0.25 0 0.25 0.5 0.75 1 yi 50 40 25 20 18 21 35 56 66
5
Matlab符号积分函数
符号积分
格式: int(f) 求表达式f对默认自变量的积分值 int(f, t) 求表达式f对自变量t的不定积分值 int(f, a, b) 求表达式f对默认自变量的定积分值,积分区间为[a,b] int(f, t, a, b) 求表达式f对自变量t的定积分值,积分区间为[a,b]
Matlab数值积分函数
数值积分
梯形求积公式:
Z = trapz(x,y)
x、y为求积函数一系列已知的节点及函数值, Z返回积分的近似值。
Matlab数值积分函数
自适应复化Simpson公式: [I,n]=quad('fname',a,b,tol,trace)
说明: ① 返回参数I即定积分值,n为被积函数的调用次数; ② fname是被积函数名,定义被积函数须用数值运算符; ③ a和b分别是定积分的下限和上限; ④ tol用来控制积分精度,缺省时取tol=10-6; ⑤ trace控制是否展现积分过程,若取非0则展现积分过程,
对于一元函数f = f(x): ezplot(f):在默认区间-2π<x<2π绘制f = f(x)的图形; ezplot(f, [a,b]):在区间a<x<b绘制f = f(x)的图形;
非刚性 多步法;Adams算法;高低精 计算时间比 ode45 短 度均可到 10-3~10-6
适度刚性 采用梯形算法
适度刚性情形
刚性 多步法;Gear’s 反向数值微分;若 ode45 失效时,可尝
精度中等
试使用
刚性 刚性
单步法;2 阶Rosebrock 算法;当精度较低时,计算时
低精度
间比 ode15s 短
取0则不展现,缺省时取trace=0。
Matlab数值积分函数
二重积分: I=dblquad(fun,xmin,xmax,ymin,ymax,tol ,trace)
三重积分: I = triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)
高斯积分: I = quadgk(fun,a,b)
方法2:极坐标 方法3:网格化 [u,v]=meshgrid(xmin:h:xmax,ymin:h:ymax) k=inpolygon(u,v,x,y) S=h^2*nnz(k)
上机课 3
第四章 方程求根 +
第五章 线性方程组迭代法
Matlab函数作图命令
利用描图法寻找隔根区间,常用到plot、ezplot、fplot等函 数作图命令。
二维数值函数的专用绘图函数fplot
fplot(functionname,[a,b],tol,选项)
其中functionname为函数名,以字符串形式出现; [a,b]为绘图区间; tol为相对允许误差,其系统默认值为2e-3; 选项定义与plot函数相同。
17
Matlab函数作图命令
二维符号函数曲线专用命令ezplot
Matlab数值微分函数
数值差分: D=diff(x) x为向量返回差分值,x为矩阵按列作差分 D=diff(x, k) k阶差分,即差分k次
求导数: q=polyder(p) 求多项式函数p的导函数q(向量) Fx=gradient(F, x) 返回向量F表示的一元函数沿x方
向的导函数F’(x),其中x与F是同维数的向量 [Fx, Fy]=gradient(F, x, y) 返回矩阵F表示的二元函数
地球物理计算方法
地球物理与信息技术学院
复习:Matlab多项式拟合函数
格式:p=polyfit(x,y,m)
说明: ① x,y 输入同维数据向量 ② m 拟合多项式次数 ③ p 输出拟合多项式的系数向量
Matlab多项式拟合函数
格式:yi=polyval(p, xi) 说明: ① p为输入多项式向量 ② 输出多项式p在x=xi时的值yi
梯形算法;低精度
当精度较低时,计算时 间比ode15s短
课堂练习
3. 分别用二阶和四阶龙格-库塔方法求解下列常微分方程初值问题,并将方
程的解用图形表Biblioteka Baidu。
y ' 3y2 2x2 3x, 0 x 1
y(x0 ) 1, x0 0
选做题
请在上次作业的基础上,尝试求出你自己手掌的面积。
方法1:多边形面积公式
的数值梯度(F’x, F’y)
课堂练习
2. 考虑函数f(x)=lg(1+x)lg(1-x).
(1) 用ezplot在[-1, 1]上画出f(x)的图像;
(2) (3)
用 用符复号化求Sim积p的son方公法式计计算算积积分分的11 f近(x似)dx值的;精确值;
(4) 从梯形公式出发构造龙贝格算法计算积分的近似值;
没有一种算法可以有效地解决所有的 ODE 问题,因此 MATLAB 提供了多种ODE函数。
函数
ode45 ode23
ode113 ode23t ode15s ode23s
ode23tb
ODE类 型
特点
说明
非刚性 单步法;4,5 阶 R-K 方法; 大部分场合的首选方法 累计截断误差为 (△x)5
非刚性 单步法;2,3 阶 R-K 方法; 使用于精度较低的情形 累计截断误差为 (△x)3
Matlab常微分方程函数
格式 [x,y]=solver(′ fun′, [x0,xn], y0,option)
solver = ode45 ode23 ode113 ode15s ode23s ode23t ode23tb 说明: ① 适用于求解一阶常微分方程/方程组 ② fun定义微分方程组的函数文件名 ③ [x0,xn]求解区域 ④ y0初始条件向量(初值问题) ⑤ option可选参数,由ODESET函数设置,比较复杂 ⑥ x输出自变量向量,y输出[y, y ′, y ″,..]
相关文档
最新文档