第二次实验报告(非线性方程求根)

2019-08-28 23:42

数值计算方法Matlab实验报告

班级: 学号: 姓名: 成绩:

实验2 非线性方程的数值解法实验

1实验目的

1)进一步熟练掌握求解非线性方程的牛顿迭代法和弦截法。

2)根据牛顿迭代法和弦截法的原理,编写程序求解非线性方程,提高编程解决问题的能力。

2 实验内容

(1)用牛顿法和割线法求下列方程的根

x^2-e^x=0; x*e^x-1=0; (2)用牛顿迭代法求平方根,计算5 3实验原理

(1)牛顿迭代公式:xk?1?xk?f(xk)/f'(xk)

双点弦法公式:xk?1?xk?f(xk)(xk?xk?1)

f(xk)?f(xk?1)(2)令f(x)?x2?A,再用牛顿法求根。

4实验步骤

1)根据牛顿迭代法,双点弦法的算法编写相应的求根函数; 2)用牛顿迭代法和双点弦法分别对方程进行求解;

5 程序设计 牛顿迭代法

x0=1.0; N=100; k=0;

数值计算方法Matlab实验报告

eps=5e-6; delta=1e-6; while(1)

x1=x0-fc1(x0)/fc2(x0); k=k+1; if k>N

disp('Newton method failed') break end

if(abs(x1-x0)

fprintf('%f',x0)

fprintf('%f',abs(fc1(x1)))

双点弦法

function cutline(x0,x1) N=100; k=0; delta=5e-8; while(1)

(abs(x1-x0)>=delta) c=x1;

x1=cutnext(x0,x1);

x0=c;

k=k+1; if k>N

disp('Cutline method failed') break; end

if(abs(x1-x0)

fprintf('f\\n',x1);

function y=cutnext(a,b) y=b-fc(b)/(fc(b)-fc(a))*(b-a);

数值计算方法Matlab实验报告

1) 原函数

function fc1=fc1(x) fc1=x^2-exp(x); end

导函数

function fc2=fc2(x) fc2=2*x-exp(x); end

2)原函数

导函数

3)原函数

导函数

6实验结果及分析

方程 牛顿迭代法结果 牛顿法迭代次数 弦截法结果 弦截法迭代次数 x^2-e^x=0 x*e^x-1=0 x2?5?0 注:牛顿迭代法由于设置delta=1e-6,所以算出的误差e<1.0*10^-6;

割线法由于设置delta=5e-8,所以误差e<5.0*10^-8.

7总结


第二次实验报告(非线性方程求根).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:村干部调查问卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: