最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

数值分析实验二分法

来源:动视网 责编:小OO 时间:2025-09-26 11:08:21
文档

数值分析实验二分法

石家庄经济学院实验报告(学院)系:信息工程学院专业:计算机科学与技术姓名:000班级:计科二班学号:5111091111112任课教师:00《数值分析》实验报告姓名学号51110903日期实验室152机房设备编号实验题目用二分法求f(x)=x^3+x^2-3x-3=0的正根(精确到1e-3)牛顿法求x-cos(x)=0的实根,精确到小数后六位一实验目的使用matlab编程,熟悉matlab编程环境。分别使用二分法和牛顿法求方程的根,掌握二分法和牛顿法求方程根的过程及其算法。深入分析二分法的优缺
推荐度:
导读石家庄经济学院实验报告(学院)系:信息工程学院专业:计算机科学与技术姓名:000班级:计科二班学号:5111091111112任课教师:00《数值分析》实验报告姓名学号51110903日期实验室152机房设备编号实验题目用二分法求f(x)=x^3+x^2-3x-3=0的正根(精确到1e-3)牛顿法求x-cos(x)=0的实根,精确到小数后六位一实验目的使用matlab编程,熟悉matlab编程环境。分别使用二分法和牛顿法求方程的根,掌握二分法和牛顿法求方程根的过程及其算法。深入分析二分法的优缺
                             

石家庄经济学院

 

 

实验报告 

(学 院)系:    信息工程学院    

专    业:    计算机科学与技术 

姓    名:      000        

班    级:       计科二班      

学    号:       5111091111112  

任课教师:         00           

《数值分析》实验报告

姓名学号51110903日期
实验室152机房

设备编号
实验题目用二分法求f(x)=x^3+x^2-3x-3=0的正根(精确到1e -3)

牛顿法求x-cos(x)=0的实根,精确到小数后六位

一  实验目的

   使用matlab编程,熟悉matlab编程环境。

分别使用二分法和牛顿法求方程的根,掌握二分法和牛顿法求方程根的过程及其算法。

深入分析二分法的优缺点和牛顿法与弦割法进行比较。

二  实验内容

1 二分法实验 f(x)=x^3-x^2-3*x-3=0 的正根(精度精确到0.001)

算法实现

    步1:构造区间[a,b],取a=1,b=2.先把c=(a+b)/2代入方程f(x),如果fb*fc>0说明根的区间在[a,c],及令b=c;

    步2:如果fb*fc不大于0说明根的区间在[c,b],及令a=c;继续在新的区间内二分,直到达到要求的精度0.001;

    步3:循环执行步骤1,2,直到步骤2的条件成立;

步4:取区间中点及c为所求方程的根;

参数说明

     a,b: 区间端点

      c: 每次所取区间的中间值

     x  :最后所求的近似值

     ya,yb:对应的所求函数值

     abs(): 求绝对值函数

源代码

clc

close all 

format long;

f=input('f(x)=');

qujian=input('输入区间=') ;

err=input('误差范围;');

a=qujian(1);

b=qujian(2);

yc=1;

while((b-a)>err)&(yc~=0);

    c=(a+b)/2; %设定中点

    x=a;

    ya=eval(f);

    x=b;

    yb=eval(f);

    x=c;

    yc=eval(f);

    if ya*yc<0    %当根不在左边的子区间时,把右边的子区间设为迭代范围

        b=c;

    else    %当根不在左边的子区间时,把右边的子区间设为迭代范围

        a=c;

    end

    x0=c

End

运行结果

>>erfenfa

fx =

4.596249527821783e-005

x =

    1.732055606250

2 牛顿法实验 f(x)=x-cosx的正根(精度精确到0.000001)

算法实现

      1:构造区间[-1,1] ,代入方程f(x),如果f(-1)*f(1)<0说明根的区间在[-1,1];

      2:利用fzero(’x-cos(x)’),取得临界点0.5;

      3:取f(x)的一介导数,构造牛顿方法;

      4:在构造区间[-1,1]中计算得到所求的方程根;

      5:循环次数k为10次;

      6: 误差的大小为1E-6;

参数说明

     Error:误差限

     k: 循环的区间

     p:原函数

     dirv_p:原函数的一介导函数

     funNewton:用户自定义的函数

     abs(): 求绝对值函数

源代码:

clear  all;

Error =1E-6;

format long;

x=0.5;

for k=1:10

          [p dirv_p]=funNewton(x);

          xk=x;

          x=x-p/dirv_p;

          if(abs(xk-x)<=Error)

             break;

          end

end

%用户自定义函数:

function [p dirv_p]=funNewton(x)

     p=x-cos(x);

 dirv_p=1+sin(x);

牛顿法和弦截法:与牛顿法相比,弦截法的收敛速度也是比较快的。可以证明,弦截法具有超线性收敛速度。

相同之处:都是线性化方法。

不同之处:牛顿法在计算xk+1时只用到前一步的值xk,故这种方法称为单点迭代法。

而弦截法在求xk+1时要用到前两步的值xk和xk-1,因此这种方法称为多点迭代法。

运行结果

end 

>> x

x =

   0.73908513321516    

三  本次实验总结

通过做此实验,我对MATLAB有更进一步的了解,了解了MATLAB强大的功能以及如何用MATLAB来解决实际问题,激发了我学习MATLAB的兴趣,更加使我认识到MATLAB在我们的工作生活中都有广泛的应用。对于此次编程实验,我也意识到自己对MATLAB还不够了解,今后需要花更多时间在这门课上,以求更好的掌握MATLAB,同时这次试验也让我对用二分法和牛顿法解决数学问题有了更深一步的了解。 

四  教师评语

文档

数值分析实验二分法

石家庄经济学院实验报告(学院)系:信息工程学院专业:计算机科学与技术姓名:000班级:计科二班学号:5111091111112任课教师:00《数值分析》实验报告姓名学号51110903日期实验室152机房设备编号实验题目用二分法求f(x)=x^3+x^2-3x-3=0的正根(精确到1e-3)牛顿法求x-cos(x)=0的实根,精确到小数后六位一实验目的使用matlab编程,熟悉matlab编程环境。分别使用二分法和牛顿法求方程的根,掌握二分法和牛顿法求方程根的过程及其算法。深入分析二分法的优缺
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top