弦截法是一种求方程根的基该方法,在计算机编程中经常使用。

他的思路是这种:任取两个数x1、x2,求得相应的函数值f(x1)、f(x2)。假设两函数值同号,则又一次取数。直到这两个函数值异号为止。

连接(x1,f(x1))与(x2,f(x2))这两点形成的直线与x轴相交于一点x。求得相应的f(x)。推断其与f(x1)、f(x2)中的哪个值同号。如f(x)与f(x1)同号,则f(x)为新的f(x1)。

将新的f(x1)与f(x2)连接,如此循环。

体现的是极限的思想

//弦截法求x*x*x-5*x*x+16*x-80=0的根
求x^3-5x^2+16x-80的值:
#include<math.h>
#include<stdio.h>
float f(float x)
{ //计算f(x)的值
return x*(x*x-5*x+16)-80;
}
float point(float x1,float x2)
{
//计算与x轴交点的x值
return (x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));
}
void main()
{
//输入两个数x1,x2
float x1,x2,x;
do
{
printf("输入两个数x1,x2:");
scanf("%f%f",&x1,&x2)。
}
while (f(x1)*f(x2) >= 0); // 当输入两个数大于0为真时,继续又一次输入
//关键循环步骤:
do
{
x=point(x1,x2);//得到交点的值
if(f(x)*f(x1)>0)
x1=x;//新的x1
else
x2=x;
}
while (fabs(f(x)) > 0.0001); //0.0001为取值精度
printf("一个解为%f\n",x);
}

The Secant Method(正割法、弦截法) 附C语言代码的更多相关文章

  1. 35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n); (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和; (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n

      35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n): (2)编写一个类:ClassA来实现接口InterfaceA,实现in ...

  2. 基于R实现k-means法与k-medoids法

    k-means法与k-medoids法都是基于距离判别的聚类算法.本文将使用iris数据集,在R语言中实现k-means算法与k-medoids算法. k-means聚类 首先删去iris中的Spec ...

  3. Secant Method (Website)

    Secant Method:  https://www.youtube.com/watch?v=qC9xnsfOd30 Secant Method : http://mathworld.wolfram ...

  4. matlab secant method

    % Matlab script to illustrate the secant method % to solve a nonlinear equation % this particular sc ...

  5. 选择排序法、冒泡排序法、插入排序法、系统提供的底层sort方法排序之毫秒级比较

    我的代码: package PlaneGame;/** * 选择排序法.冒泡排序法.插入排序法.系统提供的底层sort方法排序之毫秒级比较 * @author Administrator */impo ...

  6. C# 冒泡排序法、插入排序法、选择排序法

    冒泡排序法 是数组等线性排列的数字从大到小或从小到大排序. 以从小到大排序为例. 数据 11, 35, 39, 30, 7, 36, 22, 13, 1, 38, 26, 18, 12, 5, 45, ...

  7. php排序介绍_冒泡排序_选择排序法_插入排序法_快速排序法

    这里我们介绍一些常用的排序方法,排序是一个程序员的基本功,所谓排序就是对一组数据,按照某个顺序排列的过程. 充效率看 冒泡排序法<选择排序法<插入排序法 排序分两大类: 内部排序法 交换式 ...

  8. Abaqus 子模型法 和 子结构法

    目录 1 子模型法 1.2 子模型法应用考虑因素 1.3 子模型法关键技术 1.3.1 单元选择 1.3.2 驱动变量 1.3.3 链接整体模型和子模型 1.4 仿真过程 1.4.1 问题描述 1.4 ...

  9. (1)编写一个接口:InterfaceA,只含有一个方法int method(int n); (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和; (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n!); (4)编写测试类E测试

    package a; public interface InterfaceA { int method(int n); } package a; public class ClassA impleme ...

随机推荐

  1. 08使用NanoPiM1Plus在Android4.4.2下接TF卡

    08使用NanoPiM1Plus在Android4.4.2下接TF卡 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 21504965 AT qq.com 完成时间:2017/12/5 17:51 版本: ...

  2. JPQL 模糊查询,查询条件拼接(like使用)

    @Transactional public List<ViewCorplist2> findAllCorpsLikeK(String kw) { System.out.println(kw ...

  3. Error parsing D:\sdkforas\android-sdk-windows\system-images\android-22\android-wear\x86\devices.xml

    今天在工作过程中向Android Studio中导入一个项目,最后运行出现如下错误: Cannot reload AVD list: cvc-enumeration-valid: Value '280 ...

  4. Spring与Struts2集成开发

    Struts2和Spring都是不错的开源框架,Spring与Struts2集成开发,把二者结合在一起使用,开发效果更佳,效率杠杠的.下面介绍一下如何将Spring与Struts2集成在一起开发.分七 ...

  5. vue过渡 & 动画---进入/离开 & 列表过渡

    (1)概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animat ...

  6. 【转载】linux下的zookeeper启动

    zookeeper的安装目录:/usr/local/zookeeper-3.4.6/bin/zkServer.sh; 配置文件路径:../conf/zoo.cfg 端口 :2181: ZooKeepe ...

  7. Deepin系统关于每次启动终端都要输入source /etc/profile的问题

    关于每次启动终端都要输入source /etc/profile的问题 当我在Deepin系统中下载了node以及npm之后,我为了将node导入到系统文件,使用了以下命令sudo gedit ``/e ...

  8. springmvc学习及源码地址

    http://jinnianshilongnian.iteye.com/blog/1634096

  9. new实现

    前言 本篇来分析new是怎么实现的, 使用c++进行在申请对象的时候用到new, 但是为什么申请对象要用到new, 而不能用malloc, 而有时申请数组的用new或者malloc似乎又都可以, 这里 ...

  10. docker-compose 报错记录

    1.如往常一样对docker-compose.yml配置修改后,docker-compose up -d 后台启动,启动后报错,由原来的done变成了error. 第一反应就是down掉这些容器: d ...