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

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

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

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

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

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

实验5解非线性方程组实验成绩专业班级数学112学号姓名报告日期4.26.实验类型:●验证性实验○综合性实验○设计性实验实验目的:进一步熟练掌握解非线性方程组牛顿迭代算法,提高编程能力和解算非线性方程组问题的实践技能。实验内容:设有非线性方程组设初始值误差小于0.001实验原理实验说明实验步骤1要求上机实验前先编写出程序代码2编辑录入程序3调试程序并记录调试过程中出现的问题及修改程序的过程4经反复调试后,运行程序并验证程序运行是否正确。5记录运行时的输入和输出。实验总结实验报告:根据实验情况和结果撰写并递交实验报告。1.实验过程①把非线性方程组保存到F1.m文件中,内容如下:functionZ=F1(X)x=X(1);y=X(2);Z=zeros(1,2);Z(1)=x^2-2*x-y+0.5;Z(2)=x^2+4*y^2-4;②把非线性方程组的雅可比矩阵保存到JF1.m文件中,内容如下:functionW=JF1(X)x=X(1);y=X(2);W=[2*x-2-1;2*x8*y];③建立zhangyuenewdon.m程序代码文件,内容如下:function[P,iter,err]=zhangyuenewdon(F1,JF1,P,delta,epsilon,max1)disp('Ifthereisanyproblem,pleaseconsultZhangYueforhelp!')Y=feval(F1,P);fork=1:max1J=feval(JF1,P);Q=P-(J\Y')';Z=feval(F1,Q);err=norm(Q-P);relerr=err/(norm(Q)+eps);P=Q;Y=Z;iter=k;if(err<delta)|(relerr<delta)|(abs(Y)<epsilon)breakendend④在commandwindow里按如下操作,得到输出结果如下:>>[P,iter,err]=zhangyuenewdon('F1','JF1',[2.000.25],0.001,0.001,99)Ifthereisanyproblem,pleaseconsultZhangYueforhelp!P=1.90070.3112iter=2err=0.00572.实验总结:求解非线性方程组,该方法是在给定初值的情况下,计算函数F(),然后计算雅克比矩阵,再求线性方程组J()∆P=-F()的解∆P,然后计算=+∆P,然后重复以上步骤,经一定的迭代次数后,便可得到误差允许内的近似解。实验原理为。由上面的解可知,迭代速度比较快,经过两次迭代就求出了近似解。