山野莽夫

  • 归档
    • 随笔
    • 建站资源
    • 分享
    • 代码
  • 地球物理学
    • 专业课
    • 概念解释
  • 计算机
  • 互联网
  • 教程
  • 规划
  • 实验室
    • 珍藏的软件
    • 贴吧云签到
    • A1账号自助申请
山野莽夫
小学生的挣扎的点点滴滴
  1. 首页
  2. 地球物理学
  3. 正文

计算方法实习实验报告-割线法

2016年5月26日 2972点热度 0人点赞 0条评论

计算方法实习实验报告

  1. 实验一 割线法
    1. 实验要求(含有算法说明和程序说明)

      牛顿迭代法收敛速度很快,不过每迭代一次,需要计算f(xk)和

      f'(xk)如果f(xk)比较复杂则计算f'(xk)的工作量就会比较大,为了解决这个问题于是使用差商来代替函数的导数。

      当经过k次迭代后,欲求xk+1。用f(x)在xk,xk+1两点的差商


      来代替迭代公式(k=0,1,2,…..)

      中的导数值
      ,于是得到新的迭代公式

      ( k=1,2,…..)
      这就是割线法公式。它的几何意义是一个点斜式方程。

      这个程序是根据割线法公式和实习指导书上牛顿迭代法程序改编而成,把牛顿迭代法相应求导数的部分用差商进行了替换。本程序把方程单独编成一个函数,目的是提高程序的通用性,计算其他方程的时候可以快速的应用。

      d=fabs(x2)<1? x2-x1:(x2-x1)/x2;此段程序是为了防止x2过小时导致误差变大的情况。其他都已经在程序中标明。

    2. 源代码

#include<stdio.h>

#include<math.h>

#define N 100

#define eps 1e-6

#define eta 1e-8

float f(float x);

float Newton(float(*f)(float),float x0,float x1)

{

float x2,d,g;

int k =0;

do

{

x2=x1-(*f)(x1)*(x1-x0)/((*f)(x1)-(*f)(x0));//割线法迭代公式

if(k++>N || fabs(((*f)(x1)-(*f)(x0))/(x1-x0))<eps)//判断迭代是否收敛

{

printf("\n Newton 迭代发散");

break;

}

d=fabs(x2)<1? x2-x1:(x2-x1)/x2;//误差计算

x0=x1;x1=x2;

printf("x(%d)=%f\t",k,x1);//输出迭代计算结果

}

while(fabs(d)>eps&&fabs((*f)(x2))>eta);//根据误差判断程序是否终止

return x2;

}

float f(float x)

{

return x*x-exp(x);//方程

}

void main()

{

float x0,x1,y0;

printf("请输入迭代初值x0,x1\n");

scanf("%f,%f",&x0,&x1);

printf("x(0)=%f\n",x0);

y0=Newton(f,x0,x1);

printf("方程的根为%f\n",y0);//输出结果

}

  1. 实验结果

    (1)

    (2)

    (3)

标签: 割线法 实习报告 计算方法
最后更新:2018年4月6日

小菜菜

菜鸟

打赏 点赞
< 上一篇
下一篇 >

文章评论

取消回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据。

标签聚合
c语言 虚拟机 onedrive 宝塔面板 模板 wordpress ppt 地震学程序
最新 热点 随机
最新 热点 随机
Azure Student 微软云 学生订阅 免费12个月用量避坑注意点集合 MP3音频文件格式详细解析 python按固定采样点个数分割wav格式音频 愉快使用谷歌免费人工智能平台colab,训练你的神经网络模型,为你的学术生活添砖加瓦 华为云版轻量应用服务器-云耀云服务器简单体验评测 Cloudflare 免费CDN自定义节点ip之自选cloudflare 高速节点ip工具分享
考研英语复试常考话题答题技巧及范文--谈谈你的大学 使用CloudFlare Workers 零成本部署 OneDrive 文件列表程序FODI(Fast OneDrive Index) 薄层干涉效应 浦科特固态硬盘m7vc ueditor-for-wordpress插件1.4.3.1 WPJAM Basic插件安装最新版却没有变化的解决方法

COPYRIGHT © 2021 shanyemangfu.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备15031791号-2