预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于Matlab实现牛顿迭代法解非线性方程组 已知非线性方程组如下 给定初值,要求求解精度达到0.00001 首先建立函数F(x),方程组编程如下,将F.m保存到工作路径中: functionf=F(x) f(1)=x(1)^2-10*x(1)+x(2)^2+8; f(2)=x(1)*x(2)^2+x(1)-10*x(2)+8; f=[f(1)f(2)]; 建立函数DF(x),用于求方程组的Jacobi矩阵,将DF.m保存到工作路径中: functiondf=DF(x) df=[2*x(1)-10,2*x(2);x(2)^2+1,2*x(1)*x(2)-10]; 编程牛顿迭代法解非线性方程组,将newton.m保存到工作路径中: clear; clc x=[0,0]'; f=F(x); df=DF(x); fprintf('%d%.7f%.7f\n',0,x(1),x(2)); N=4; fori=1:N y=df\f'; x=x-y; f=F(x); df=DF(x); fprintf('%d%.7f%.7f\n',i,x(1),x(2)); ifnorm(y)<0.0000001 break; else end end 运行结果如下: 00.00000000.0000000 10.80000000.8800000 20.99178720.9917117 30.99997520.9999685 41.00000001.0000000