数学实验6 非线性方程求解共48页文档
实验六_非线性方程求解
1 ai ln P 0, i 1, 2,3, 4
求解上述非线性方程组即可得出均相共沸混合物的沸点和组成。 编写 M 文件 azeofun.m function f=azeofun(XT,n,P,a,b,c,Q) x(n)=1; for i=1:n-1 x(i)=XT(i); x(n)=x(n)-x(i); end T=XT(n); p=log(P); for i=1:n d(i)=x*Q(i,1:n)'; dd(i)=x(i)/d(i); end for i=1:n f(i)=x(i)*(b(i)/(T+c(i))+log(x*Q(i,1:n)')+dd*Q(1:n,i)-a(i)-1-p); end 编写程序生成 ai , bi , ci 和 Q n=4; P=760; a=[18.607,15.841,20.443,19.293]'; b=[2643.31,2755.64,4628.96,4117.07]'; c=[239.73,219.16,252.64,227.44]'; Q=[1.0,0.192,2.169,1.611;0.316,1.0,0.477,0.524;0.377,0.360,1.0,0.296;0.524,0.282,2.06 5,1.0]; 利用不同初值计算(仅展示有限结果) 编写程序 XT0=[0.5,0.5,0,90]; XT=fsolve(@azeofun,XT0,[],n,P,a,b,c,Q) 得到如下结果 XT =
在压强 p 760 mmHg 下,为了形成均相共沸混合物,温度和组分分别是多少?请 尽量找出所有可能的解。 共沸混合物,是指由两种或两种以上物质组成的液体混合物,当在某种压力下被蒸 馏或局部汽化时,在气体状态下和液体状态下保持相同的组分。 该混合物由 4 个组分组成,组分 i 所占的比例为 xi i 1, 2,3, 4 ,则
非线性方程求解实验
第二部分:提高实验(例题讲解) 第二部分:提高实验(例题讲解) 1、编写二分法法的Matlab程序。 2、利用所编写的程序求解非线性方程的近似解。 例如:求方程 f ( x ) = x 3 − x − 1 = 0在区间[1,1.5]内 的根,要求误差不超过0.005. 首先定义函数erfenfa.m 然后在Matlab窗口下输入: >> erfenfa 输入函数f(x)='x^3-x-1' 输入区间=[1,1.5] 请输入误差=0.005
第二部分:提高实验(学生操作) 第二部分:提高实验(学生操作) 1、编写二分法法的Matlab程序。 2、利用所编写的程序求解非线性方程的近似解。 利用二分法求方程 x 3 − 2 x 2 − 4 x − 7 = 0在区间 [3,4]内的根,要求误差不超过0.0005.
第三部分:创新实验(学生操作) 第三部分:创新实验(学生操作) 1、编写Newton迭代法的Matlab程序。 2、利用源程序求解非线性方程的近似解。 利用牛顿法求方程 x 2 − 2 x − 3 = 0 的近似根,取初 始值为4,要求误差不超过0.0001.
实验二: 实验二:非线性方程典型解法的数值实验 数学实验室
本次实验的目的: 本次实验的目的: 1、掌握基本的绘图命令Plot,ezplot。 掌握基本的绘图命令Plot,ezplot。 Plot,ezplot 2、编写Matlab程序,利用二分法求非线性方程的 编写Matlab程序, Matlab程序 近似解。 近似解。 3、在Matlab软件中,用迭代法求解非线性方程的 Matlab软件中, 软件中 近似解。 近似解。 4、编写Matlab程序,利用牛顿法求非线性方程的近 编写Matlab程序, Matlab程序 似解。 似解。
清华大学数学实验6 非线性方程求解
a
x0 b x
a
f (x)
x0
f (b) 0
b x x0 : (a,b)中点
f (x0) 0 a1 a, b1 x0 f (x0) 0 a1 x0, b1 b
(a,b) (a1,b1) (an,bn) 区间每次缩小一半,n足
够大时,可确定根的范围
不足 收敛速度较慢
非线性方程迭代法的基本思想
y P1 h1
O
P2
C(x)
r1
r2
1 Q 2
x
h2
P1h1
P2h2
h12 x2 3
h22 (s x)2 3
s
x
实例2 均相共沸混合物的组分
均相共沸混合物(homogeneous azeotrope) 是由两种或两种 以上物质组成的液体混合物,当在某种压力下被蒸馏或局部汽 化时,在气体状态下和在液体状态下保持相同的组分(比例)
k 1
(qij表示组分i与组分j的交互作用参数 ,可以通过实验近似得到)
实例2 均相共沸混合物的组分
P i Pi
ln
Pi
ai
T
bi
ci
bi
T ci
ln
n
x j qij
j 1
n
j1
ln i
x j q ji
n
n 1 ln x jqij
j1
1
ai
ln
P
0
n
j1
将原方程 f (x) 0 改写成容易迭代的形式x (x) , 选
合适的初值x 0
,
进行迭代: x (x )
k 1
k
(k 0,1,2, )
例1
f (x) x2 x 14 0 x (x)
非线性方程的解法
20世纪60年代中期以后,发展了两种求解非线性方程组(1)的新方法。
一种称为区间迭代法或称区间牛顿法,它用区间变量代替点变量进行区间迭代,每迭代一步都可判断在所给区间解的存在惟一性或者是无解。
这是区间迭代法的主要优点,其缺点是计算量大。
另一种方法称为不动点算法或称单纯形法,它对求解域进行单纯形剖分,对剖分的顶点给一种恰当标号,并用一种有规则的搜索方法找到全标号单纯形,从而得到方程(1)的近似解。
这种方法优点是,不要求f(□)的导数存在,也不用求逆,且具有大范围收敛性,缺点是计算量大编辑摘要目录• 1 正文• 2 牛顿法及其变形• 3 割线法• 4 布朗方法• 5 拟牛顿法•非线性方程组数值解法 - 正文n个变量n个方程(n >1)的方程组表示为(1)式中ƒi(x1,x2,…,x n)是定义在n维欧氏空间R n的开域D上的实函数。
若ƒi中至少有一个非线性函数,则称(1)为非线性方程组。
在R n中记ƒ=则(1)简写为ƒ(尣)=0。
若存在尣*∈D,使ƒ(尣*)=0,则称尣*为非线性方程组的解。
方程组(1)可能有一个解或多个解,也可能有无穷多解或无解。
对非线性方程组解的存在性的研究远不如线性方程组那样成熟,现有的解法也不象线性方程组那样有效。
除极特殊的方程外,一般不能用直接方法求得精确解,目前主要采用迭代法求近似解。
根据不同思想构造收敛于解尣*的迭代序列{尣k}(k=0,1,…),即可得到求解非线性方程组的各种迭代法,其中最著名的是牛顿法。
非线性方程组数值解法 - 牛顿法及其变形牛顿法基本思想是将非线性问题逐步线性化而形成如下迭代程序:(2)式中是ƒ(尣k)的雅可比矩阵,尣0是方程(1)的解尣*的初始近似。
这个程序至少具有2阶收敛速度。
由尣k算到尣k+的步骤为:①由尣k算出ƒ(尣k)及;②用直接法求线性方程组的解Δ尣k;③求。
由此看到迭代一次需计算n个分量函数值和n2个分量偏导数值,并求解一次n阶线性方程组。
【清华】实验6非线性方程求解
实验六非线性方程求解姓名:李严凯学号:2009011887 班级:化93实验目的1掌握用MATLAB 软件求解非线性方程和方程组的基本用法,并对结果作出初步的分析2 练习用非线性方程组建立实际问题的模型并进行求解实验内容3.问题复述:(1)小张夫妇以按揭方式贷款买了一套价值20万的房子,首付了5万元,每月还款1000元,15年还清。
问贷款利率是多少?(2)某人欲贷款50万元购房,他咨询了两家银行,第一家银行开出的条件是每月还4500元,15年还清;第二家银行开出的条件是每年还45000元,20年还清。
从利率方面看,那家银行较优惠(简单假设年利率=月利率*12)?解答:模型:在实际问题中,购房人在支付首付后,向银行按揭申请贷款,并由银行支付购房人不足以支付的部分房价。
而后购房人将在一定时期内定期定额缴纳月供,直至还清银行的贷款本金及利息。
而银行则每月设定固定的月利率,按照复利的方式计算购房人应需缴纳的房款。
不妨设购房之初,购房人向银行申请了a0的贷款,银行的月利率为x,每月购房人向银行支付的月供为b,则在以后各月(第1、2、3…n个月),购房人所欠银行的贷款为:a1=a0*(1+x)-b;a2=a1*(1+x)-b;a3=a2*(1+x)-b;……an=a(n-1)*(1+x)-b当购房人所欠银行的贷款数an=0时,其贷款还清,还贷过程结束。
到此模型分析完毕,可以进行MATLAB求解。
求解:首先写出函数,表示出第n个月购房人所欠银行贷款:function y = interest( x,n ) %x为月利率n=180; %n为还清贷款的月数a(1)=15*(1+x)-0.1; %第1个月欠款for i=2:na(i)=a(i-1)*(1+x)-0.1; %第n个月欠款endy=a(n);end得到以上表达式后,令其中y=0即可解得月利率x,编程如下:[x,fv,ef,out]=fzero(@interest,0.05)考虑到银行贷款利率的实际情况,初值设为了0.05程序输出结果如下:x = 0.002081163889460fv = -5.287437154777308e-014ef =1out = intervaliterations: 12iterations: 14funcCount: 38algorithm: 'bisection, interpolation'message: 'Zero found in the interval [-0.014, 0.0952548]' 当然,也可以采用fsolve求解,列出:[x,fv,ef,out]=fsolve(@interest,0.05)得到x =0.002081163889460fv =-5.287437154777308e-014ef =1out = iterations: 14funcCount: 30algorithm: 'trust-region dogleg'firstorderopt: 9.769300386433235e-011message: [1x695 char]可以看出,两种解法的结果基本相同,不过fzero的解答时间更快,效果更优。
【清华】实验6-非线性方程求解(011813)
活塞受力应该平衡,因而外界大气压应该等于当时的气体压强 。所以当用力
推门的时候,活塞实际上受力为
。
利用绝热过程方程
,以及当气缸先后的长度,可以得出,开门时:
数学实验 焦阳 2009011813
又有:
,
从而得到如下的方程:
代入已知条件 a=0.8m,b=0.25m,r=0.04m, =0.5m, = 瓈N/m2,γ=1.4,
门力矩和作用在活塞上的力矩相平衡的关系(对门枢而言),球在一定的力 F 作
用下,们打开的角度 α。设 a=0.8m,b=0.25m,r=0.04m, =0.5m, = 瓈N/m2,
γ=1.4,F=25N。
建立模型并进行分析:根据力矩平衡可得到如下的关系:
注:此处之所以要减去 ,是考虑了大气压强的结果。因为在门关闭的时候,
活塞与圆柱形的汽缸相连,活塞半径 r,汽缸长 汽缸内气体的压强 。当用力
F 推门,使门打开一个角度 α 时,活塞下降的距离为 c,门销与 H 的水平距离 b 保持不变,于是汽缸内的气体被压缩,对活塞的压强增加。已知在绝热条件下,
气体的压强 p 和体积 V 满足 =C,其中 γ 是绝热系数,C 是常数。试利用开
数学实验 焦阳 2009011813
对于区间[14,15]之内的迭代序列情况,需要更细微的作图才能观察清楚,故 再用 MATLAB 作图如下:
根据以上两幅图可以读出 6 个分叉点,分别为:
,
,
,
,
直接读出的坐标可能比较粗略,利用此数据代入式:
,其中 取 , , ,
结果如下表:
n
2 3 4 5…
计算结果 2.96 3.84 4.67 4.62 …
结果分析:(1)本题第二问里,将第二家银行的年利率近似看作是月利率的
实验6非线性方程求解
实验6 非线性方程求解化学工程系分0 毕啸天 2010011811【实验目的】1.掌握用MATLAB 软件求解非线性方程和方程组的基本用法,并对结果作初步分析。
2.练习用非线性方程和方程组建立实际问题的模型并进行求解。
【实验内容】题目1分别用fzero和fsolve程序求方程sinx−x 22=0的所有根,准确到10-10,取不同的初值计算,输出初值、根的近似值和迭代次数,分析不同根的收敛域;自己构造某个迭代公式(如x=(2sinx)1/2等)用迭代法求解,并自己编写牛顿法的程序进行求解和比较。
1.1模型分析fzero命令主要用于单变量方程的求根,主要采用二分法、割线法和逆二次插值法等的混合方法。
fzero至少需要两个输入参数:函数、迭代初值(或有根区间)。
fsolve命令主要用于非线性方程组的求解,可以输出结果(如x点对应的雅可比矩阵等)。
本题可先作出该方程两边所代表的函数的图像。
可以看出,y=sinx是一个周期性有界函数,而二次函数在对称轴两边增长无界。
我们可以直接观察出x=0是方程的解,再从图上可以观察到在1到2之间有一个根。
而由两函数性质,在[0,2]之外,二次函数增长,而三角函数波动,再也不会有交点。
从而可知此方程只有两解。
1.2求根程序代码1.2.1 用fzero求解x=-4:0.1:4;y1=sin(x);y2=x.^2/2;plot(x,y1,x,y2);%先作出函数图像,大致观察出解的数目与分布opt=optimset('fzero');opt=optimset(opt,'tolx',1e-10);[x,fv,ef,out]=fzero(inline('sin(x)-x^2/2'),[1,2],opt)[x,fv,ef,out]=fzero(inline('sin(x)-x^2/2'),[-1,1],opt)输出结果如下:x =1.40441482402454fv =8.41122727024413e-011ef =1out =iterations: 7funcCount: 9algorithm: 'bisection, interpolation'message: [1x33 char]另一根为:x =1.74713912083679e-011fv =1.74713912082153e-011从而可知,方程一根为x=1.4404,另一根即为x=0。
实验六 非线性方程求解
一、实验问题
1. 给定 4 种物质对应的参数 ai,bi,ci 和交互作用矩阵 Q 如下。在压强 p=760mmHg 下,为了形成均相共沸混合物,温度和组分分别是多少?请尽量找出 所有可能解。
ki a b c 1 18.607 2643.31 239.73 2 15.841 2755.64 219.16 3 20.443 4628.96 252.64 4 19.293 4117.07 227.44
值函数.当 f1(x),f2(x)...fm(x)中至少有一个非线性函数时,方程组(2)称为非 线性方程组。多数情况下,方程组中包含的方程的个数等于未知数的个数 (即 m=n). 求解非线性方程(组)的一般方法是迭代法,其选代公式实际上可看作一种 非线性差分方程.采用非线性迭代法时,会出现类非常有趣的现象——分岔和混 沌现象。 1.非线性方程(组)的基本解法 1.1 图形法与二分法 解方程 f(x)=0 的第一歩通常是确定根的近似位置或大致范围.利用 MATLAB 的函数图形功能就能帮助我们快速判断方程有没有根 ,并且确定根的近似位置. 例如: X6-2x4-6x3-13x2+8x+12=O, (14) X2-2x-4lnx=0. (15) 用 MATLAB 作出方程(14),方程(15)左端函数 f(x)的图形(x 的范围需经适当
������(������������ )−������(������������−1 ) ������������ −������������−1
代替 f'(xk),
������(������������ )(������������ − ������������−1 ) ������(������������ ) − ������(������������−1 ) 用割线 PQ 代替了原来的切线,称为割线法(或弦截法),它的收敛速度比切 线法稍慢(可以证明,对于单根其收敛阶数是 1.618),并且需要两个初值 x0,x1 开始迭代. 1.4 非线性方程组的牛顿法 求解单变量非线性方程的牛顿法可以推广到多变量方程组的情形 . 方程组 (2):F(x)=0 , 其 中 x=(x1,x2....xn)T,F(x)=(f1(x),f2(x)...fm(x))T , 设 x(k)=(x(k)1,x(k)2....x(k)n)T 是方程组(2)的第 k 布近似解,与单变量非线性方程的牛 顿法类似.在 x(k)作泰勒展升,线性化后用 x(k+1)代替 x 可得 ������������+1 = ������������ − ������������ (������
求解非线性方程实验报告
求解非线性方程实验报告一.实验目的:通过本节实验课的学习,要求我们理解并掌握二分法、不动点迭代、牛顿切线法及弦截法解非线性方程求根的原理,掌握相应的算法原理,通过计算机解决实验问题二.实验内容:1、用对分区间法方程1-x-sinx=0在区间[0,1]上的误差小于10^(-4)的一个根,并记录对方区间的次数。
2、用不动点迭代法求解方程下x-log(x)=2(x>1)要求相对误差容限e=10^(-8)。
3、用Newton法求方程x^3-x-1=0在区间[-3,3]上的误差不大于10^(-5)的根,分别取初值x0=1.5, x0=0, x0=-1进行计算,比较他们的迭代次数。
三. 实验方案(程序设计说明)[包括算法设计思路,必要的流程图,界面设计说明、使用模块及变量的说明等。
]1、二分法是对区间收索法的一种改进,具体做法为:先求一区间的中点,并计算其函数值,若恰好有函数值为0,就是方程的根,若不为0,在判断此点的函数值与两端的函数值乘积的情况,取小于0的那个端点在进行上述对分,直到满足要求为止。
2、迭代法分为两种,一种是从任何可取的初值出发都能保证收敛,称之为大范围收敛的方法。
另一类称之为局部收敛法,即为了保证收敛必须选取初值充分接近于所要求的解。
迭代法的基本思想是一种逐渐逼近的方法,首先给定一个粗造的初值,然后用一个迭代公式,反复矫正这个初值,直到满足预先给出的精确要求为止。
3、双点弦接法与Newton法不同,两者有本质的区别,它分为两步,不属于不动点迭代法。
四. 实验步骤或程序(经调试后正确的源程序)(填写主要步骤与程序代码等,不够可附页)1、f=inline('x+sin(x)-1');a=0;b=1;dlt=1.0e-4;k=1;while abs(b-a)>dltc=(a+b)/2;if f(c)==0break;elseif f(c)*f(b)<0a=c;else b=c;endfprintf('k=%d,x=%.5f\n',k,c); k=k+1;end2、eps=10^(-8);dx=1;x0=3.5;k=0;while(dx>eps)k=k+1;x=log(x0)+2;dx=abs(x-x0)/(1+abs(x));x0=x;endkx3、f=inline('x^3-x-1');df=inline('3*x^2-1');d2f=inline('6*x');a=-3;b=3;dlt=1.0e-5;if f(a)*d2f(a)>0x0=a;elsex0=b;endm=min(abs(df(a)),abs(df(b)));k=0;while abs(f(x0))>m*dltk=k+1;x1=x0-f(x0)/df(x0);x0=x1;fprintf('k=%d x=%.5f\n',k,x0); end for x0=1.5fprintf('k=%d x=%.5f\n',k,x0); end for x0=0fprintf('k=%d x=%.5f\n',k,x0); end for x0=-1fprintf('k=%d x=%.5f\n',k,x0); end 五.程序运行结果:1、k=1,x=0.50000k=2,x=0.75000k=3,x=0.62500k=4,x=0.56250k=5,x=0.53125k=6,x=0.51563k=7,x=0.50781k=8,x=0.51172k=9,x=0.50977k=10,x=0.51074k=11,x=0.51123k=12,x=0.51099k=13,x=0.51086k=14,x=0.51093 2、k =15x =3.14623、k=1 x=-2.03846 k=2 x=-1.39028k=3 x=-0.91161k=4 x=-0.34503k=5 x=-1.42775k=6 x=-0.94242k=7 x=-0.40495k=8 x=-1.70690k=9 x=-1.15576k=10 x=-0.69419 k=11 x=0.74249k=12 x=2.78130k=13 x=1.98273k=14 x=1.53693k=15 x=1.35726k=16 x=1.32566k=17 x=1.32472当x0=1.5时:k=17 x=1.50000当x0=0时:k=17 x=0.00000当x0=-1时:k=17 x=-1.000002、六.实验总结:通过实验学会理解并掌握二分法、不动点迭代、牛顿切线法及弦截法解非线性方程求根的原理,掌握相应的算法原理,通过计算机解决实验问题并通过反复的上机实验操作,解决了在实验过程中遇到的实验问题,并了解了一些函数的特殊用法,学会了用这三种基本方法解决实际遇到的问题,并了解了二分法、不动点迭代、牛顿切线法及弦截法的各种变形算法。
大学数学实验六_非线性方程求解
大学数学实验六非线性方程求解实验报告【实验目的】1、掌握用MATLAB软件求解非线性方程和方程组的基本用法,并对结果作初步分析。
2、练习用非线性方程和方程组建立实际问题的模型并进行求解。
【实验内容】3 按揭贷款问题(1)小张夫妇以按揭方式贷款买了1套价值20万元的房子,首付了5万元,每月还款1000元,15年还清。
问贷款利率是多少?(2)某人欲贷款50万元购房,他咨询了两家银行,第一家银行开出的条件是每月还4500元,15年还清;第二家银行开出的条件是每年还45000元,20年还清。
从利率方面看,哪家银行较优惠(简单假设:年利率=月利率×12)?按揭贷款问题模型:设某人按揭贷款购买价值为m元的房子,首付a元,每月还款x元,还n月还清贷款,月利率为r。
设x0=m–a表示第一个月还款前的欠额。
设x i=x i-1(1+r)–x表示第i个月还款后的欠额(i=1,2,3,……,n)。
由题意可知x1=x0(1+r)–xx2=x1(1+r)–x= x0(1+r)2–x(1+r)–xx3= x0(1+r)3–x(1+r)2–x(1+r)–x……x n= x0(1+r)n–x(1+r)n-1–……–x(1+r)–x= x0(1+r)n–=0 故有x0(1+r)n =第一小问根据上述模型,第1小题可转化为求解下述方程:150r(1+r)180=(1+r)180-1 (1)设f(r)= 150r(1+r)180-(1+r)180+1,利用MA TLAB输出f(r)的图像。
输出的结果如下。
从上图可作出初步估计,r在0.00200和0.00225之间。
解答过程:1、先根据模型将2个小题转化为求解非线性方程。
2、利用MATLAB估计解的大致范围。
3、利用本章介绍的二分法、牛顿法、fzero命令三种方法求解。
利用二分法求解下面的程序实现的是用二分法求解方程(1)。
需要说明几点:1、r1和r2分别表示之前估计的r的范围的上下限。
非线性方程组的解法精选全文
可编辑修改精选全文完整版
非线性方程组的解法
非线性方程组的解法包括:
(1)近似法。
近似法是根据所给非线性方程组,使用一定的数值方法,建立非线性方程组结果的拟合曲线,以此求解非线性方程组的常用方法,目前有贝塔、拉格朗日近似法和微分近似法等。
(2)多元分割法。
多元分割法根据非线性方程组的参数和变量空间,
将整个运算范围分割成多余小区间,利用各区间中只含有一个未知变
量的简单方程组,将非线性方程组转换成多个一元方程组,再用一次法、弦截法和二分法等算法求解,最终得出整个非线性方程组的解。
(3)迭代映射法。
迭代映射法是通过给定一个初始值,然后利用迭代,反复运算,最终达到收敛点的一种方法,主要包括牛顿法、收敛法、
弦截法、松弛法和隐函数法等。
(4)最小二乘法。
最小二乘法是将非线性方程组表示为残差函数,然
后求解残差函数最小值,获得未知变量的最优解,常用于数值分析中。
(5)特征法。
特征法是采用将非线性方程组表示为线性方程组特征值
和它们关于某一特征量的关系式,利用梯度下降法,最小化残差函数,求解非线性方程组的方法。
以上是非线性方程组的解法的简单综述,它们在一定程度上增加了解
决非线性方程组的效率,但并非所有情况都能使用以上求解方法。
正
确使用相应的求解方法就可以有效的求解非线性方程组,以便更好的
解决实际问题。
非线性方程(组)的解法
即
x - cn
bn an 2
2
8
2.2一般迭代法
2.2.1 迭代法及收敛性 对于 f ( x) 0 有时可以写成 x ( x) 形式 如: x3 x 1 0 x 3 x 1
x 1 x3
x cos x 0 x cos x
4
二分法
用二分法(将区间对平分)求解。 令 a1 a, b1 b, c1 1 2 (a1 b1 ) 若 f (a1 ) f (c1 ) 0,则 [a1 , c1 ] 为有根区间,否 则 [c1 , b1 ]为有根区间 记新的有根区间为 [a2 , b2 ], 则
[a1 , b1 ] [a2 , b2 ]
18
3.非线性方程组的迭代解法
f1 ( x1 , x2 , , xn ) 0 f1 ( x) f1 ( x1 , L , xn ) 或 F ( x) L 0 L f ( x) f ( x , L , x ) f ( x , x ,, x ) 0 n n பைடு நூலகம் n 1 n n 1 2
an x bn
n 1,2...... 1 lim(bn an ) lim n 1 (b a) 0 n n 2
lim an lim bn x
n n
1 取 x cn (an bn ) 为 2
x 的近似解。
7
二分法
迭代终止准则
且
b2 a2 1 2 (b1 a1 )
5
二分法
对 [a2 , b2 ]重复上述做法得
数学实验6 非线性方程求解共48页文档
•ቤተ መጻሕፍቲ ባይዱ
29、在一切能够接受法律支配的人类 的状态 中,哪 里没有 法律, 那里就 没有自 由。— —洛克
•
30、风俗可以造就法律,也可以废除 法律。 ——塞·约翰逊
谢谢
11、越是没有本领的就越加自命不凡。——邓拓 12、越是无能的人,越喜欢挑剔别人的错儿。——爱尔兰 13、知人者智,自知者明。胜人者有力,自胜者强。——老子 14、意志坚强的人能把世界放在手中像泥块一样任意揉捏。——歌德 15、最具挑战性的挑战莫过于提升自我。——迈克尔·F·斯特利
数学实验6 非线性方程求解
•
26、我们像鹰一样,生来就是自由的 ,但是 为了生 存,我 们不得 不为自 己编织 一个笼 子,然 后把自 己关在 里面。 ——博 莱索
•
27、法律如果不讲道理,即使延续时 间再长 ,也还 是没有 制约力 的。— —爱·科 克
•
28、好法律是由坏风俗创造出来的。 ——马 克罗维 乌斯
【清华】2.0_实验6-非线性方程求解
实验6-非线性方程求解『实验目的』1.掌握用MATLAB 软件求解非线性方程和方程组的基本用法,并对结果作初步分析。
2.练习用非线性方程和方程组建立实际问题的模型并进行求解。
『实验内容』–––––––––––––––––––––––––––––––––––––––一、题目3:(1)小张夫妇以按揭方式贷款买了1套价值20万元的房子,首付了5万元,每月还款1000元,15年还清。
问贷款利率是多少?(2)某人欲贷款50万元购房,他咨询了两家银行,第一家银行开出的条件是每月还4500元,15年还清;第二家银行开出的条件是每年还450000元,20年还清。
从利率方面看,哪家银行较优惠(简单地假设年利率=月利率×12)?———————————————————————————————————————★首先解答问题(1):【模型建立】假设一开始的总还款额为0a ,在第k 次还款后,还需还款的金额为k a ),,2,1,0(n k =,n 为还款的总月数(或年数)。
贷款月(年)利率设为r ,每月(年)还款额为b 。
则根据题意有如下递推方程组:⎪⎪⎪⎩⎪⎪⎪⎨⎧-+=-+=-+==-br a a b r a a b r a a a a n n )1()1()1(1120100 ……(1)对(1)式处理求通项:)()1())(1(01r b a r r b a r r b a n n n -+==-+=-- ,所以rb r b a r a n n +-+=()1(0……(2)。
因为在第n 个月(年)还清了贷款,所以有0=n a ,于是得到了本题的非线性方程模型:0)()1(0=+-+rb r ba r n ……(3)。
【模型解答】下面运用MATLAB 的fzero 命令求解该单变量方程:———————————————————————————————————————function y=loan1(a0,b,n,r)y=(1+r)^n*(a0-b/r)+b/r;%建立函数文件a0=150000;b=1000;n=180;%第(1)问中,给定的是按月还款,月数为15*12=180[x,fv,ef,out]=fzero(@loan1,0.1,[],a0,b,n)———————————————————————————————————————输出结果为:x=0.0021%该值即位月利率rfv=6.9849e-010%此函数值表明确以找到零点ef=1%发生变号out=intervaliterations:12iterations:16%迭代次数funcCount:40%函数调用次数algorithm:'bisection,interpolation'%表明算法为二分法和插值法message:'Zero found in the interval[-0.028,0.19051]'【结论】贷款的月利率是0.21%。
数学中的非线性方程求解
数学中的非线性方程求解非线性方程是指未知量与其函数之间不满足线性关系的方程。
解决非线性方程的问题一直是数学领域的研究重点之一,因为非线性方程在自然科学、工程技术以及金融经济等领域中具有广泛的应用。
在本文中,我们将探讨几种常见的非线性方程求解方法。
一、二分法二分法也称为区间二分法,是求解非线性方程最基本的方法之一。
该方法利用非线性方程连续性的特点,将方程的解所在的区间不断二分并缩小区间范围,最终找到非线性方程的解。
考虑一个一元非线性方程f(x)=0,其中f(x)在区间[a, b]上连续且f(a)与f(b)异号。
根据区间中值定理可知,存在一点c属于(a, b),使得f(c)=0。
我们可以按以下步骤进行二分法的求解:步骤1:选择区间[a, b],计算函数值f(a)与f(b)。
步骤2:如果f(a)与f(b)异号,则继续进行下一步。
否则,结束计算,方程无解。
步骤3:计算区间中点c=(a+b)/2,并计算f(c)。
步骤4:如果f(c)接近于0或满足终止条件,则c为方程解。
否则,根据f(a)与f(c)的符号确定新的区间[a, c]或[c, b]。
步骤5:重复步骤3和步骤4,直至满足终止条件。
二、牛顿法牛顿法是一种迭代逼近的方法,通过使用函数的一阶和二阶导数来逼近非线性方程的解。
该方法基于泰勒级数展开,通过不断迭代逼近函数零点的位置。
考虑一个一元非线性方程f(x)=0,我们可以按以下步骤进行牛顿法的求解:步骤1:选择一个初始近似值x0。
步骤2:计算函数f(x)的一阶导数f'(x)和二阶导数f''(x)。
步骤3:使用初始近似值x0和函数导数来进行迭代计算,得到新的近似值x1。
迭代公式为x1 = x0 - f(x0)/f'(x0)。
步骤4:计算函数f(x1)的值。
步骤5:如果f(x1)接近于0或满足终止条件,则x1为方程解。
否则,将x1作为新的近似值,重复步骤3和步骤4。
步骤6:重复步骤3至步骤5,直至满足终止条件。
非线性方程求解
牛顿法
牛顿法也称为牛顿-拉普森法或者切线法。由 于这个方法的计算结果颇佳,而计算过程也比 较简单,所以被普遍采用。
牛顿法的核心内容是通过泰勒级数将非线性方 程式转化为线性方程式,然后用迭代法求解。
牛顿法原理
设方程式 f x 0 的近似根为 x0
数值计算的误差
模型误差
误 差 观测误差
的
分 类
截断误差
计算时只截 ln(x 1) x 1 x2 1 x3 1 x4 (1)n1 1 xn
取有限项
234
ቤተ መጻሕፍቲ ባይዱ
n
舍入误差
计算机对所 储存的数据 位数有限制
误差的分类 有效数字
绝对误差 相对误差
(x) x*x
(x)
二分法 不动点迭代 牛顿法
二分法
若函数f(x)在区间[a,b]内单调连续,且f(a)f(b)<0, 则在闭区间[a,b]内必然存在方程f(x)=0的根x*
二分法的图形解释
二分法的MATLAB程序
function x=mabisec(fun,a,b,ep)
x=(a+b)/2.0; k=0;
课堂练习
某蒸馏釜的操作压力位106.7kpa,其中溶液含苯摩尔分 数为0.2,甲苯为0.8,求此溶液的泡点和平衡的气相组 成。
苯甲苯溶液可以看做理想溶液,组分蒸汽压为:a为苯, b为甲苯
log Pa 6.301 1211 t 220.8
log Pb 6.080 1345 t 219.5
{ x0, x1, x2, …, xk, … }
如果这个数列有极限,则迭代格式是收敛的。
非线性方程的解法数学实验报告
[x,fv,ef,out]=fzero(@f,x0(k))
end
结果
x0 =
1 4 10
x =
1.4044
fv =
0
ef =
1
out =
intervaliterations: 9
iterations: 6
funcCount: 25
algorithm: 'bisection, interpolation'
初值为x=3时,结果为
ans =
1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000
3.0000 1.9075 1.5163 1.4130 1.4045 1.4044 1.4044
【实验总结】
通过本次试验我们学会了用Matlab解非线性方程的fzero和fsolve方法,明白了两种方法的相同和不同之处;此外还学会了利用牛顿法构造迭代公式求解已知非线性方程的解。
message: 'Zero found in the interval [0.547452, 1.45255]'
x =
1.4044
fv =
0
ef =
1
out =
intervaliterations: 11
iterations: 12
funcCount: 34
algorithm: 'bisection, interpolation'
firstorderopt: 1.6457e-007
message: 'Optimization terminated: first-order optimality is less than options.TolFun.'
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
21、没有人陪你走一辈子,所以你要 适应孤 独,没 有人会 帮你一 辈子, 所以你 要奋斗 一生。 22、当眼泪流尽的时候,留下的应该 是坚强 。 23、要改变命运,首先改变自己。
24、勇气很有理由被当作人类德性之 首,因 为这种 德性保 证了所 有其余 的德性 。--温 斯顿. 丘吉尔 。 25、梯子的梯阶从来不是用来搁脚的 ,它只 是让人 们的脚 放上一 段时间 ,以便 让别一 只脚能 够再往 上登。
41、学问是异常珍贵的东西,从任何源泉吸 收都不可耻。——阿卜·日·法拉兹
42、只有在人群中间,才能认识自 己。——德国
43、重复别人所说的话,只需要教育; 而要挑战别人所说的话,则需要头脑。—— 玛丽·佩蒂博恩·普尔
44、卓越的人一大优点是:在不利与艰 难的遭遇里百折不饶。——贝多芬
45、自己的饭量自己知道。——苏联