数学建模基础入门:非线性方程和迭代

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
end
2 迭代法
迭代法是从解的初始近似值x0(简称初值) 开始,利用某种迭代格式x k+1 = g (x k ),求 得一近似值序列x1, x2, …, xk, xk+1, …逐步逼 近于所求的解(称为不动点)。最常用的迭 代法是牛顿迭代法,其迭代格式为
x k 1 x k
f ( xk ) f ' ( xk )
end
三、数值解法:图解法和迭代法 1 图解法 适用于求一元或二元方程(组)低精度解或 找迭代初值 例1 解方程 sin(x) = 0.1x 解 -1 sinx 1, 得| x |<10, 作出sin(x), 0.1x 在[-10,10]范围内的图, 可看出根的大致位置 »fplot('sin',[-10,10]);hold on; »fplot('0.1*x',[-10,10]) ;grid; zoom
end
补充知识:认识混沌
线性迭代要么收敛于它的不动点,要么 趋于无穷大。 不收敛的非线性迭代可能会趋于无穷大, 也可能趋于一个周期解,但也有可能在 一个有限区域内杂乱无章地游荡,这类 由确定性运动导致的貌似随机的现象称 为混沌现象
end
1、昆虫数量的Logistic模型 xk+1 = a x k (1 - x k), 0a4 xk表示第k代昆虫数量(1表示理想资源环 境最大可能昆虫数量)。 a为资源系数, 0a4保证了xk在区间(0,1)上封闭。 2、平衡与稳定 若g () = ,称为映射g(x)的平衡解或 不动点, 若对于不动点附近的初始值x0,迭代收 敛于此不动点,称此不动点是稳定的
end
例2 求方程 x 2 - 3 x + e x = 2 的正根 (要求精度 = 10 -6) 解 令f (x) = x 2 - 3 x + e x - 2, f(0)=-1,当x > 2, f (x) > 0, f ’(x) > 0即f (x)单调上升,所以 根在[0,2]内。 先用图解法找初值, » fplot('x^2-3*x+exp(x)-2',[0,2]) ,grid 取x0 = 1, 迭代格式
一、引例 :购房贷款的利率 下面是《新民晚报》2000年3月30日第七 版上的一则房产广告:
建筑面积 总价 30%首付 70%按揭 月还款 85.98 m 36 万 10.8 万
2
30 年
1436 元
不难算出,你向银行总共借了25.2万,30 年内共要还51.696万,约为当初借款的两 倍。这个案例中贷款年利率是多少呢?
end
2 一元函数零点 fzero (F,X,tol),返回函数F的一个零点,其 中F为字符串表示的函数或M函数名。X 为标量时,为迭代初值; X为向量[a,b]时, 返回函数F在[a,b]中的 一个零点,要求F在a,b异号。tol为可变精 度(缺省值1e-4)。
例1可求解如下 » fzero('sin(x)-0.1*x',6) » fzero('sin(x)-0.1*x',[2,6])
x 3x k e 2 xk 1 xk xk 2 xk 3 e
2 k xk
end
四、使用MATLAB
1 多项式的根 roots(p)可求得多项式p的所有复根 MATLAB中一个多项式用系数降幂排 列向量来表示。 例如 求多项式x3 + 2 x2 - 5的根 用MATLAB命令 »roots([1 2 0 -5])
end
3、周期解、分叉和混沌 若g k() = , 对任意j<k, g j ()不等于 (这里 g j 表示g的j次复合),称为映 射g(x)的周期k点,并称,g (),……, g k-1()为周期k轨道。 4、混沌的特征 (i)初值敏感性: 两个任意近的点出发的两 条轨迹迟早会分得很开; (ii)遍历性: 任意点出发的轨迹总会进入 [0,1]内任意小的开区间。
end
例5(栓牛鼻的绳子)农夫有一个长满草 的半径10米的圆形牛栏,他要将一头牛栓 在栏桩上,但只让牛吃到一半草,问栓牛 鼻的绳子应为多长? 解 设A为栓桩,绳AB长R 半径OA=OB= r, C O B =角OBA, R 那么R=2rcos θ D 扇形BAC面积 A S1=2 R2/(2 ) = R2
e来自百度文库d
冠形ADB面积 S2=( - 2 ) r2/(2 ) – Rr(sin )/2 =( /2- )r2– Rr(sin )/2 那么 R2 + ( -2 ) r2 – Rr(sin )= r2/2 即 sin(2 ) - 2 cos(2 ) = /2 经MATLAB计算 得R=11.5861
解法三:直接求解 » x=fsolve(‘[4*x(1)-x(2)+exp(x(1))/10-1,… -x(1) +4*x(2)+x(1).^2/8]’,[0,0])
4 解析求解solve solve是符号数学工具箱中的解方程组命令。 可求各种类型方程组的解析解。当找不到 解析解时,solve会自动寻求一个近似解, 并且精度很高 » solve(‘a*x^2+b*x+c’, ‘x’) 可得二次多项式求根公式
end
二、数学理论复习:非线性方程(组)
一元非线性方程的一般形式为 f (x) = 0 若对于数有f () = 0, 则称为方程的解或 根,也称为函数f (x)的零点
若对于数有f () = 0, f ’()0则称为单根 若有k >1, f () = f ’() = …= f (k-1)() = 0 但f (k)()0 , 称为k重根 非线性方程(组)求解通常用数值方法求 近似解,常见的有二分法、牛顿法等
end
对于Logistic模型 解得有两个不动点0和1-1/a 当0a<1, 在[0,1]内有一个不动点0,且由 |g’(0)| =a<1, 可知它是稳定的, 说明资源匮 乏时,昆虫趋于消亡; 当a>1, 不动点0不再稳定; 当1<a3,由|g’ (1-1/a)| =|2-a|<1可知 不动 点1 - a -1稳定,说明资源适当时,昆虫稳定 于一定数量。
end
» solve(‘x^2-3*x+exp(x)-2’,‘x’) 可解例2 » [x,y]=solve(‘4*x-y+exp(x)/10=1’,… ‘-x+4*y+x^2/8=0’, ‘x,y’) 可解例3
五、实验例题 例4 (引例) 常识上,r应比当时活期存款月 利率略高一些。我们用活期存款月利率 0.0198/12 作为迭代初值,用fzero求解 » r=fzero('25.2*(1+x)^360-((1+x)^360-1)/... x*0.1436',0.0198/12); R=12*r 得年利率为5.53%
end
解 设xk为第k个月的欠款数, a为月还款数, r为月利率。 xk+1 = (1+r) xk- a 那么 xk = (1+r) xk-1- a = (1+r)2 xk-2 – (1+r)a – a =…… = (1+r)k x0 – a[1+(1+r)+……+(1+r)k-1] = (1+r)k x0 – a[(1+r)k-1]/r 根据 a=0.1436, x0=25.2, x360=0 得到 25.2(1+r)360 – 0.1436[(1+r)360-1]/r=0
end
例(蛛网图)我们用蛛网图来显示混沌 的遍历性。 yk = a x k (1 - x k), xk+1 = yk 蛛网图正好显示迭代计算x0, y0, x1, y1,……的一系列变化过程。
end
end
3 非线性方程组求解 fsolve可求非线性方程或多元非线性方 程组的实根, 用法与fzero类似。
例3 解方程组
解法一:本题可通过作二元函数图求解 解法二:先写一个M函数eg2_2fun.m, 然后用 » x=fsolve(‘eg2_2fun’,[0,0]) 求解
end
1 x1 4 x x e 1 1 2 10 1 2 x1 4 x2 x1 0 8
相关文档
最新文档