实验报告一题目:非线性方程求解摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要
本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法
前言:(目的和意义)掌握二分法与Newton法的基本原理和应用
数学原理:对于一个非线性方程的数值解法很多
在此介绍两种最常见的方法:二分法和Newton法
对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)0;a=c;elseb=c;endR=b-a;%求出误差k=k+1;endx=c%给出解Newton法及改进的Newton法源程序:clear%%%%输入函数f=input('请输入需要求解函数>>','s')%%%求解f(x)的导数df=diff(f);%%%改进常数或重根数miu=2;%%%初始值x0x0=input('inputinitialvaluex0>>');k=0;%迭代次数max=100;%最大迭代次数R=eval(subs(f,'x0','x'));%求解f(x0),以确定初值x0时否就是解while(abs(R)>1e-8)x1=x0-miu*eval(subs(f,'x0','x'))/eval(subs(df,'x0','x'));
R=x1-x0;x0=x1;k=k+1;if(eval(subs(f,'x0','x'))max;%如果迭代次数大于给定值,认为迭代不收敛,重新输入初值ss=input('mayberesultiserror,chooseanewx0,y/n
>>',�