非线性方程组迭代解法

非线性方程组迭代解法

ID:26540994

大小:109.00 KB

页数:5页

时间:2018-11-27

非线性方程组迭代解法_第1页
非线性方程组迭代解法_第2页
非线性方程组迭代解法_第3页
非线性方程组迭代解法_第4页
非线性方程组迭代解法_第5页
资源描述:

《非线性方程组迭代解法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、非线性方程组迭代解法不动点法(unmovepoints.m)%非线性方程组的不动点法function[x,n]=unmovepoints(fun,x0,eps)ifnargin<3eps=1e-3;endx1=feval(fun,x0);n=1;while(norm(x1-x0))>=epsx0=x1;x1=feval(fun,x0);n=n+1;ifn>100000disp('无法收敛!');breakendendx=x1;Newton迭代法(newtons.m)%非线性方程组的Newton迭代法fun

2、ction[x,n]=newtons(fun1,fun2,x0,eps)ifnargin<4eps=1e-3;endx1=x0-feval(fun1,x0)/feval(fun2,x0);n=1;whilenorm(x1-x0)>=epsx0=x1;x1=x0-feval(fun1,x0)/feval(fun2,x0);n=n+1;ifn>100000disp('无法收敛!');breakendendx=x1;注:方程组的迭代与方程迭代不同之处在于收敛的判断不能用abs而应用norm(范数,默认值为向量各

3、元素的平方和的开方;norm(x1-x0)即为向量x1与x0对应元素差的平方和的开方。在对应的函数程序中应注意向量的运算与数量运算的区别。)用以上方法求解下列非线性方程组:函数:%非线性方程组函数(适用于不动点法)functionf=nonlinerequs1(x)f(1)=0.7*sin(x(1))+0.2*cos(x(2));f(2)=0.7*cos(x(1))-0.2*sin(x(2));%非线性方程组函数(适用于Newton迭代法)functionf=nonlinerequs2(x)f(1)=x(

4、1)-0.7*sin(x(1))-0.2*cos(x(2));f(2)=x(2)-0.7*cos(x(1))+0.2*sin(x(2));%非线性方程组函数导数(适用于Newton迭代法)functionf=nonlinerequs3(x)f=[1-0.7*cos(x(1)),0.2*sin(x(2));0.7*sin(x(1)),1+0.2*cos(x(2))];导数为,对多方程则类似。命令:fsolve(@nonlinerequs2,[0.5,0.5])[x,n]=unmovepoints(@nonl

5、inerequs1,[0,0],1e-6)[x,n]=newtons(@nonlinerequs2,@nonlinerequs3,[0,0],1e-6)计算结果:(eps=0.000001)迭代方法迭代次数解析解[0.526522621918180.50791971903685]-fsolve[0.526522661712950.50791973020932]-不动点法[0.526521300913880.50792028463452]30Newton迭代法[0.526522793690200.50791

6、961189450]16在某操作条件下,有如下四个独立的反应:其平衡常数分别为:0.08,0.06,0.001,0.05;反应前只有组分,没有其他物质,试求反应平衡时组分的摩尔分率为多少?解:设反应前组分的总摩尔数为1,反应平衡后四反应过程分别消耗组分的摩尔数为、、、,所以反应平衡时各组分的摩尔数为:::::::故有:reaction.m%非线性方程组函数(化学平衡,适用于fsolve)functionf=reaction(x)f(1)=x(1)/(1-x(1)-x(2)-x(3)-x(4))-0.08;

7、f(2)=(x(2)+x(4))*(x(2)+x(3))/(1-x(1)-x(2)-x(3)-x(4))/(1+x(2)+x(3)+x(4))-0.06;f(3)=x(3)*(x(2)+x(3))/(1-x(1)-x(2)-x(3)-x(4))/(1+x(2)+x(3)+x(4))-0.001;f(4)=x(4)*(x(2)+x(4))/(1-x(1)-x(2)-x(3)-x(4))/(1+x(2)+x(3)+x(4))-0.05;命令:x=fsolve(@reaction,[0.3,0.2,0.1,0]

8、)或x=fsolve(@reaction,[0.3,0.2,0.1,0],foptions)计算结果:x=[0.0514,0.1621,0.0050,0.1392]因此组分的摩尔分率为:reaction1.m%非线性方程组函数(化学平衡,适用于不动点法)functionf=reaction1(x)f(1)=(1-x(1)-x(2)-x(3)-x(4))*0.08;f(2)=(1-x(1)-x(2)-x(3)-x(4))*(1+

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。