版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、非线性方程组求解l.mulStablePoint用不动点迭代法求非线性方程组的一个根function r,n=mulStablePoint(F,x0,eps)线性方程组:f%U始解:a嗨军的精度:eps%求得的一组解:r旭代步数:nif nargin=2eps=1.0e-6;end x0 = transpose(x0);n=1;tol=1;while toleps迭代公式注意矩阵的误差求法,norm为矩阵的欧几里迭代步数控制1);r= subs(F,findsym(F),x0);%tol=norm(r-x0);%德范数n=n+1;x0=r;if(n100000)%disp( 迭代步数太多,可能
2、不收敛! return; end endmulNewton用牛顿法法求非线性方程组的一个根function r,n=mulNewton(F,x0,eps)if nargin=2eps=1.0e-4;endx0 = transpose(x0);Fx = subs(F,findsym(F),x0);var = findsym(F);dF = Jacobian(F,var);dFx = subs(dF,findsym(dF),x0);r=x0-inv(dFx)*Fx;n=1;tol=1;while tolepsx0=r;Fx = subs(F,findsym(F),x0);dFx = subs(dF
3、,findsym(dF),x0);核心迭代公式迭代步数控制r=x0-inv(dFx)*Fx;%tol=norm(r-x0);n=n+1;if(n100000)%disp(迭代步数太多,可能不收敛!,);return;endendmulDiscNewton用离散牛顿法法求非线性方程组的一个根 function r,m=mulDiscNewton(F,x0,h,eps)format long;if nargin=3eps=1.0e-8;endn = length(x0);fx = subs(F,findsym(F),x0);J = zeros(n,n);for i=1:nx1 = x0;x1(i)
4、 = x1(i)+h(i);J(:,i) = (subs(F,findsym(F),x1)-fx)/h(i);endr=transpose(x0)-inv(J)*fx;m=1;tol=1;while tolepsxs=r;fx = subs(F,findsym(F),xs);J = zeros(n,n);for i=1:nx1 = xs;x1(i) = x1(i)+h(i);J(:,i) = (subs(F,findsym(F),x1)-fx)/h(i);end核心迭代公式迭代步数控制r=xs-inv(J)*fx;%tol=norm(r-xs);m=m+1;if(m100000)%disp(迭
5、代步数太多,可能不收敛!,);return;end endformat short;mulMix用牛顿-雅可比迭代法求非线性方程组的一个根function r,m=mulMix(F,x0,h,l,eps)if nargin=4eps=1.0e-4;endn = length(x0);J = zeros(n,n);Fx = subs(F,findsym(F),x0);for i=1:nx1 = x0;x1(i) = x1(i)+h(i);J(:,i) = (subs(F,findsym(F),x1)-Fx)/h(i);endD = diag(diag(J);C = D - J;inD = inv
6、(D);H = inD*C;Hm = eye(n,n);for i=1:l-1Hm = Hm + power(H,i);enddr = Hm*inD*Fx;r = transpose(x0)-dr;m=1;tol=1;while tolepsx0=r;Fx = subs(F,findsym(F),x0);J = zeros(n,n);for i=1:nx1 = x0;x1(i) = x1(i)+h(i);J(:,i) = (subs(F,findsym(F),x1)-Fx)/h(i);endD = diag(diag(J);C = D - J;inD = inv(D);H = inD*C;Hm
7、 = eye(n,n);for i=1:l-1Hm = Hm + power(H,i);enddr = Hm*inD*Fx;r = x0-dr;%核心迭代公式tol=norm(r-x0);m=m+1;if(m100000)%迭代步数控制disp( 迭代步数太多,可能不收敛!,);return;endendmulNewtonSOR用牛顿-SOR迭代法求非线性方程组的一个根function r,m=mulNewtonSOR(F,x0,w,h,l,eps)if nargin=5eps=1.0e-4;endn = length(x0);J = zeros(n,n);Fx = subs(F,findsy
8、m(F),x0);for i=1:nx1 = x0;x1(i) = x1(i)+h(i);J(:,i) = (subs(F,findsym(F),x1)-Fx)/h(i);endD = diag(diag(J);L = -tril(J-D);U = -triu(J-D);inD = inv(D-w*L);H = inD*(D - w*D+w*L);Hm = eye(n,n);for i=1:l-1Hm = Hm + power(H,i);enddr = w*Hm*inD*Fx;r = transpose(x0)-dr;m=1;tol=1;while tolepsx0=r;Fx = subs(F
9、,findsym(F),x0);J = zeros(n,n);for i=1:nx1 = x0;x1(i) = x1(i)+h(i);J(:,i) = (subs(F,findsym(F),x1)-Fx)/h(i);endD = diag(diag(J);L = -tril(J-D);U = -triu(J-D);inD = inv(D-w*L);H = inD*(D - w*D+w*L);Hm = eye(n,n);for i=1:l-1Hm = Hm + power(H,i);enddr = w*Hm*inD*Fx;r = x0-dr;%核心迭代公式tol=norm(r-x0);m=m+1
10、;if(m100000)%迭代步数控制disp( 迭代步数太多,可能不收敛!,);return;end endmulDNewton用牛顿下山法求非线性方程组的一个根function r,m=mulDNewton(F,x0,eps)线性方程组:F%5始解:x0%军的精度:eps%求得的一组解:r%代步数:nif nargin=2eps=1.0e-4;endx0 = transpose(x0);dF = Jacobian(F);m=1;tol=1;while tolepsttol=1;w=1;Fx = subs(F,findsym(F),x0);dFx = subs(dF,findsym(dF),
11、x0);卜面的循环是选取下山因子w的过核心的迭代公式迭代步数控制F1=norm(Fx);while ttol=0%程r=x0-w*inv(dFx)*Fx;%Fr = subs(F,findsym(F),r);ttol=norm(Fr)-F1;w=w/2;endtol=norm(r-x0);m=m+1;x0=r;if(m100000)%disp(迭代步数太多,可能不收敛!,);return;endendmulGXF1用两点割线法的第一种形式求非线性方程组的一个根function r,m=mulGXF1(F,x0,x1,eps)format long;if nargin=3eps=1.0e-4;e
12、ndx0 = transpose(x0);x1 = transpose(x1);n = length(x0);fx = subs(F,findsym(F),x0);fx1 = subs(F,findsym(F),x1);h = x0 - x1;J = zeros(n,n);for i=1:nxt = x1;xt(i) = x0(i);J(:,i) = (subs(F,findsym(F),xt)-fx1)/h(i);endr=x1-inv(J)*fx1;m=1;tol=1;while tolepsx0 = x1;x1 = r;fx = subs(F,findsym(F),x0);fx1 = s
13、ubs(F,findsym(F),x1);h = x0 - x1;J = zeros(n,n);for i=1:nxt = x1;xt(i) = x0(i);J(:,i) = (subs(F,findsym(F),xt)-fx1)/h(i);endr=x1-inv(J)*fx1;tol=norm(r-x1);m=m+1;if(m100000)%迭代步数控制disp(迭代步数太多,可能不收敛!,);return;endendformat short;mulGXF2用两点割线法的第二种形式求非线性方程组的一个根function r,m=mulGXF2(F,x0,x1,eps)format long
14、;if nargin=3eps=1.0e-4;endx0 = transpose(x0);x1 = transpose(x1);n = length(x0);fx = subs(F,findsym(F),x0);fx1 = subs(F,findsym(F),x1);h = x0 - x1;J = zeros(n,n);xt = x1;xt(1) = x0;J(:,1) = (subs(F,findsym(F),xt)-subs(F,findsym(F),x1)/h(1);for i=2:nxt = x1;xt(1:i) = x0(1:i);xt_m = x1;xt_m(1:i-1) = x0
15、(1:i-1);J(:,i) = (subs(F,findsym(F),xt)-subs(F,findsym(F),xt_m)/h(i);endr=x1-inv(J)*fx1;m=1;tol=1;while tolepsx0 = x1;x1 = r;fx = subs(F,findsym(F),x0);fx1 = subs(F,findsym(F),x1);h = x0 - x1;J = zeros(n,n);xt = x1;xt(1) = x0;J(:,1) = (subs(F,findsym(F),xt)-subs(F,findsym(F),x1)/h(1);for i=2:nxt = x
16、1;xt(1:i) = x0(1:i);xt_m = x1;xt_m(1:i-1) = x0(1:i-1);J(:,i) = (subs(F,findsym(F),xt)-subs(F,findsym(F),xt_m)/h(i); endr=x1-inv(J)*fx1;tol=norm(r-x1);m=m+1;迭代步数控制if(m100000)%disp(迭代步数太多,可能不收敛!,);return;endendformat short;mulVNewton用拟牛顿法求非线性方程组的一组解function r,m=mulVNewton(F,x0,A,eps)%?程组:F附程组的初始解:x0%初
17、始A矩阵:A%军的精度:eps%求得的一组解:r%代步数:mif nargin=2A=eye(length(x0); %A 取为单位阵eps=1.0e-4;elseif nargin=3eps=1.0e-4;endend x0 = transpose(x0);Fx = subs(F, findsym(F),x0);r=x0-AFx;m=1;tol=1;while tolepsx0=r;Fx = subs(F, findsym(F),x0);r=x0-AFx;y=r-x0;Fr = subs(F, findsym(F),r);z= Fr-Fx;A1=A+(z-A*y)*transpose(y)/
18、norm(y);%调整 AA=A1;m=m+1;if(m100000)%迭代步数控制disp(迭代步数太多,可能不收敛!,);return;endtol=norm(r-x0);endmulRank1用对称秩1算法求非线性方程组的一个根function r,n=mulRank1(F,x0,A,eps)if nargin=2l = length(x0);A=eye(l);%A取为单位阵eps=1.0e-4;elseif nargin=3 eps=1.0e-4;endendfx = subs(F,findsym(F),x0);r=transpose(x0)-inv(A)*fx;n=1;tol=1;w
19、hile tolepsx0=r;fx = subs(F,findsym(F),x0);r=x0-inv(A)*fx;y=r-x0;fr = subs(F,findsym(F),r);z = fr-fx;A1=A+ fr *transpose(fr)/(transpose(fr)*y);%调整 AA=A1; n=n+1; if(n100000)%迭代步数控制disp(迭代步数太多,可能不收敛!,);return; end tol=norm(r-x0); end 11. mulDFP用D-F-P算法求非线性方程组的一组解 function r,n=mulDFP(F,x0,A,eps) if nar
20、gin=2 l = length(x0); B=eye(l);%A取为单位阵eps=1.0e-4; else if nargin=3 eps=1.0e-4; end end fx = subs(F,findsym(F),x0); r=transpose(x0)-B*fx; n=1; tol=1; while toleps x0=r; fx = subs(F,findsym(F),x0); r=x0-B*fx; y=r-x0; fr = subs(F,findsym(F),r); z = fr-fx; B1=B+ y*y/(y*z)-B*z*z*B/(z*B*z);%调整 AB=B1; n=n+
21、1; if(n100000)%迭代步数控制disp(迭代步数太多,可能不收敛!,);return; end tol=norm(r-x0); end 12. mulBFS用B-F-S算法求非线性方程组的一个根function r,n=mulBFS(F,x0,B,eps) if nargin=2 l = length(x0);B=eye(l);%Beps=1.0e-4; else if nargin=3 eps=1.0e-4; end end fx = subs(F,findsym(F),x0); r=transpose(x0)-B*fx; n=1; tol=1; while toleps x0=
22、r; fx = subs(F,findsym(F),x0); r=x0-B*fx; y=r-x0; fr = subs(F,findsym(F),r); z = fr-fx; u = 1 + z*B*z/(y*z);B1= B+ (u*y*y-B*z*y-y*z*B)/(y*z);B=B1; n=n+1; if(n100000)%disp(迭代步数太多,可能不收敛!return; end tol=norm(r-x0);取为单位阵%调整B迭代步数控制1);endmulNumYT用数值延拓法求非线性方程组的一组解 function r,m=mulNumYT(F,x0,h,N,eps) format
23、 long;if nargin=4 eps=1.0e-8;endn = length(x0);fx0 = subs(F,findsym(F),x0);x0 = transpose(x0);J = zeros(n,n);for k=0:N-1fx = subs(F,findsym(F),x0);for i=1:nx1 = x0;x1(i) = x1(i)+h(i);J(:,i) = (subs(F,findsym(F),x1)-fx)/h(i);endinJ = inv(J);r=x0-inJ*(fx-(1-k/N)*fx0);x0 = r;endm=1;tol=1;while tolepsxs
24、=r;fx = subs(F,findsym(F),xs);J = zeros(n,n);for i=1:nx1 = xs;x1(i) = x1(i)+h(i);J(:,i) = (subs(F,findsym(F),x1)-fx)/h(i);endr=xs-inv(J)*fx;%核心迭代公式tol=norm(r-xs); m=m+1; if(m100000)%迭代步数控制disp(迭代步数太多,可能不收敛!,);return;endendformat short;DiffParam1用参数微分法中的欧拉法求非线性方程组的一组解function r=DiffParam1(F,x0,h,N) 线
25、性方程组:f%5始解:x0喊值微分增量步大小:h哪可比迭代参量:l%军的精度:eps%求得的一组解:r%代步数:nx0 = transpose(x0);n = length(x0);ht = 1/N;Fx0 = subs(F,findsym(F),x0);for k=1:NFx = subs(F,findsym(F),x0);J = zeros(n,n);for i=1:nx1 = x0;x1(i) = x1(i)+h(i);J(:,i) = (subs(F,findsym(F),x1)-Fx)/h(i);endinJ = inv(J);r = x0 - ht*inJ*Fx0; x0 = r;
26、endDiffParam2用参数微分法中的中点积分法求非线性方程组的一组解function r=DiffParam2(F,x0,h,N)线性方程组:f剂始解:x0喊值微分增量步大小:h%推可比迭代参量:l%军的精度:eps%求得的一组解:r旭代步数:nx0 = transpose(x0);n = length(x0);ht = 1/N;Fx0 = subs(F,findsym(F),x0);J = zeros(n,n);for i=1:nxt = x0;xt(i) = xt(i)+h(i);J(:,i) = (subs(F,findsym(F),xt)-Fx0)/h(i);endinJ = i
27、nv(J);x1 = x0 - ht*inJ*Fx0;for k=1:Nx2 = x1 + (x1-x0)/2;Fx2 = subs(F,findsym(F),x2);J = zeros(n,n);for i=1:nxt = x2;xt(i) = xt(i)+h(i);J(:,i) = (subs(F,findsym(F),xt)-Fx2)/h(i); endinJ = inv(J);r = x1 - ht*inJ*Fx0;x0 = x1;x1 = r;endmulFastDown用最速下降法求非线性方程组的一组解function r,m=mulFastDown(F,x0,h,eps)form
28、at long;if nargin=3eps=1.0e-8;endn = length(x0);x0 = transpose(x0);m=1;tol=1;while tolepsfx = subs(F,findsym(F),x0);J = zeros(n,n);for i=1:nx1 = x0;x1(i) = x1(i)+h;J(:,i) = (subs(F,findsym(F),x1)-fx)/h;endlamda = fx/sum(diag(transpose(J)*J);r=x0-J*lamda; % 核心迭代公式fr = subs(F,findsym(F),r);tol=dot(fr,
29、fr);x0 = r;m=m+1;if(m100000)%迭代步数控制disp(迭代步数太多,可能不收敛!,);return;endendformat short;mulGSND用高斯牛顿法求非线性方程组的一组解function r,m=mulGSND(F,x0,h,eps)format long;if nargin=3eps=1.0e-8;endn = length(x0);x0 = transpose(x0);m=1;tol=1;while tolepsfx = subs(F,findsym(F),x0);J = zeros(n,n);for i=1:nx1 = x0;x1(i) = x1
30、(i)+h;J(:,i) = (subs(F,findsym(F),x1)-fx)/h;endDF = inv(transpose(J)*J)*transpose(J);r=x0-DF*fx; % 核心迭代公式tol=norm(r-x0);x0 = r;m=m+1;if(m100000)%迭代步数控制disp(迭代步数太多,可能不收敛!,);return;endendformat short;mulConj用共轲梯度法求非线性方程组的一组解function r,m=mulConj(F,x0,h,eps)format long;if nargin=3eps=1.0e-6;endn = length(x0);x0 = transpose(x0);fx0 = subs(F,findsym(F),x0);p0 = zeros(n,n);for i=1:nx1 = x0;x1(i) = x1(i)*(1+h);p0(:,i) = -(subs(F,findsym(F),x1)-fx0)/h;endm=1;tol=1;while tolepsfx = subs(F,findsym(F),x0);J = zeros(n,n);for i=1:nx1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年四川文化产业职业学院单招职业适应性测试题库含答案详解(夺分金卷)
- 2026年电竞眼镜用户体验报告
- 2026年吉林电子信息职业技术学院单招综合素质考试题库含答案详解(夺分金卷)
- 国风团建活动策划方案(3篇)
- 冶金工厂库存管理制度(3篇)
- 书画互换活动策划方案(3篇)
- 基于区块链的智能研修学分认证系统在教育资源共享中的应用教学研究课题报告
- 儿童红包活动策划方案(3篇)
- 2026年唐山科技职业技术学院单招职业技能测试题库附答案详解(研优卷)
- 2026年吉林科技职业技术学院单招职业倾向性测试题库附答案详解(夺分金卷)
- GB/T 17587.2-2025滚珠丝杠副第2部分:公称直径、公称导程、螺母尺寸和安装螺栓公制系列
- AKI免疫炎症反应与CRRT免疫调节策略
- 医疗技术临床应用质量控制管理制度(2025年等级医院评审制度)
- 初一地理上册期末试卷附参考答案
- HSK6标准教程课件
- 2025年福建省中考数学试卷(含答案)
- 企业内训师授课能力评估及培训模板
- DB5328∕T 14-2021 大百解育苗技术规程
- (2025年)山东省临沂市事业单位面试真题及参考答案
- 2026年湖南水利水电职业技术学院单招职业倾向性测试必刷测试卷附答案
- 湖南高速铁路职业技术学院2024单招试卷
评论
0/150
提交评论