1.弦截法求根

弦截法C语言实现如下:

//求根函数

float f( float x ){

float y;

y = ((a * x + b) * x + c) * x + d;

return (y);

}

//求解与x轴交点

float xpoint( float x1, float x2 ){

float y;

y = ( x1 * f(x2) - x2 * f(x1) ) / ( f(x2) - f(x1) );

return (y);

}

/*

[ x1, x2 ]为给定的求根区间

*/

float root( float x1, float x2 ) {//需满足f(x1)与f(x2)异号

int i;

float x, y, y1;

float a,b,c,d;

printf("input a,b,c,d:\r\n");

scanf("%f,%f,%f,%f",&a,&b,&c,&d);

y1 = f(x1);

do{

x = xpoint(x1, x2);//求解与x轴交点

y = f( x );

if( y * y1 > 0 ){

x1 = x;

y1 = y;

} else {

x2 = x;

}

} while( fabs(y) >= 1e-6);//计算精度

printf( "the value is %.14f\r\n", x );

return (x);

}

2.牛顿迭代法求根

牛顿迭代法C语言实现如下:

/*

a 三次系数

b 二次系数

c 一次系数

d 常系数

num 计算初值

*/

float solute( float a, float b, float c, float d, float num){

float x ,x0 ,f ,f1;

x = num;

do{

x0 = x;

f = (( a*x0 + b )*x0 + c )*x0 + d;

f1 = ( 3*a*x0 + 2*b )*x0 + c;

x = x0 - f / f1;

cnt++;

} while ( fabs( x - x0 ) > 1e-6 );

printf( "the value is %.14f \r\n", x );

return( x );

}

3.二分法求根

二分法C语言实现如下:

/*

a 三次系数

b 二次系数

c 一次系数

d 常系数

*/

void dichotomy( float a, float b, float c, float d ){

float a,b,c,d;

float x1,x2,x0,fx1,fx2,fx0;

//需满足f(x1)与f(x2)异号,且x1 < x2

do{

//输入求根范围

printf("input x1,x2:\r\n");

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

fx1 = ((a * x1 + b) * x1 + c) * x1 + d;

fx2 = ((a * x2 + b) * x2 + c) * x2 + d;

} while( fx1 * fx2 >= 0 );

do{

x0 = ( x1 + x2 ) / 2;

fx0 = (( a * x0 + b) * x0 + c) * x0 + d;

if( (fx0 * fx1) < 0 ){

x2 = x0;

fx2 = fx0;

} else {

x1 = x0;

fx1 = fx0;

}

} while( fabs( fx0 ) >= 1e-6 );//求根精度

printf( "the value is %.14f \r\n", x0 );

}

一元三次方程c语言程序,求解一元三次方程近似解的几种算法(C语言)相关推荐

  1. 密码学实验报告c语言程序,密码学_实验一_古典密码算法_C语言.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp高等教育&nbsp>&nbsp实验设计 密码学_实验一_古典密码算法_C语言.doc8页 本 ...

  2. C语言程序——计算一元二次方程ax^2+bx+c=0的根

    文章目录 前言 一.求解一元二次方程的根 二.程序实例 1.程序代码 2.运行结果 3.结果分析 总结 前言 求解一元二次方程的根,由键盘键入系数,输出方程的根. 一.求解一元二次方程的根 这种问题解 ...

  3. java语言实现一个长度为n_Java语言实现求解一元n次多项式的方法示例[Java代码]...

    本文主要向大家介绍了Java语言实现求解一元n次多项式的方法示例,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 项目需要做趋势预测,采用线性拟合.2阶曲线拟合和指数拟合的算法,各种线 ...

  4. java 输入 方程,用java 编写一程序,求解一元二次方程:aX2+bX+c=0.参数a、b及c从命令行做参数输入 java...

    题目: 用java 编写一程序,求解一元二次方程:aX2+bX+c=0.参数a.b及c从命令行做参数输入 java 答案参考: 以下程序在jdk5.0测试通过 import java.util.Sca ...

  5. c语言程序能够在不同的操作系统下运行,这说明c语言具有很好的,程序设计(C)作业一(有答案)...

    程序设计(C)作业一 1.C语言程序的执行,总是起始于(). A.程序中的第一条可执行语句 B.程序中的第一个函数 C.main函数 D.包含文件中的第一个函数 2.以下叙述不正确的是(). A.一个 ...

  6. c语言程序能够在不同的操作系统下运行,这说明c语言具有很好的,上海交通大学继续教育学院2012春——程序设计(C)作业1(有答案)...

    程序设计(C)作业一 1. C语言程序的执行,总是起始于( ). A.程序中的第一条可执行语句 B.程序中的第一个函数 C.main函数 D.包含文件中的第一个函数 2. 以下叙述不正确的是( ). ...

  7. 编写lisp程序解一元二次方程_用C语言编写一程序求解一元二次方程的根。

    展开全部 C语言编写一程序求解32313133353236313431303231363533e78988e69d8331333365643661一元二次方程的根: #include #include ...

  8. C语言(求解一元二次方程的根)

    以下程序均在Visual C++6.0中运行成功 例:求方程2x^2-3x-6=0的根 #include <stdio.h> #include <math.h> void ma ...

  9. Python编写程序求解一元二次方程,打印九九乘法表,判断三条边是否可以构成三角形,并求三角形面积

    目录 求解一元二次方程题目总体要求如下: 打印九九乘法表题目总体要求如下: 判断三条边是否可以构成三角形题目要求如下: 求解一元二次方程题目总体要求如下: 编写程序,输入一元二次方程的三个系数a.b. ...

  10. python解一元二次方程步骤-Python实现求解一元二次方程的方法示例

    Python实现求解一元二次方程的方法示例 本文实例讲述了Python实现求解一元二次方程的方法.分享给大家供大家参考,具体如下: 1. 引入math包 2. 定义返回的对象 3. 判断b*b-4ac ...

最新文章

  1. SAP Lumira 初探
  2. 极客大挑战2020_五省同燃,千人开赛。2020年全国轮滑大联动暨MX名星轮滑伴我行城市轮滑挑战赛——扬州站、襄阳站、南宁站、潍坊站、沈阳站完美收官...
  3. 什么样的计算机书才是市场需要的——2009年计算机图书选题策划方向(三) (全文完)...
  4. hashmap储存有向图_java-对后边缘进行运算以获取有向图中的循环数
  5. mysql5.7.23版本环境配置
  6. Object之defineProperty
  7. 辨析 const指针 和 指向常量的指针
  8. Storm编程模型总结
  9. python rs232_使用Python進行RS-232通信返回垃圾信息
  10. 宁波华为服务器项目招聘,宁波服务器
  11. Emmet快速编写HTML代码
  12. 对自定义SharePoint WebService的总结
  13. 输出文件名,用i迭代的时候的方法
  14. 分享6个国内优秀Java后台管理框架的开源项目,建议收藏!
  15. Linux宝库名人轶事栏目 | 人生若只如初见,我与开源圈
  16. java按钮鼠标_我想用java做一个鼠标永远点不到button的应用,下面这个程序的错误在哪?...
  17. 使用dom4j把XML文件解析成JavaBean
  18. ssr提示服务器名无效_联想服务器在UEFI HII界面中配置阵列的基本操作
  19. API接口设计的五大公共参数
  20. 雷曼另类“死因”:巴菲特漏看求救短信

热门文章

  1. 广袤之中:沿着克拉克三大定律,读懂华为的最深期待
  2. 虎爸虎妈看过来,AI时代,陪孩子玩什么游戏?
  3. SPSS实现线性回归
  4. x86、ARM和MIPS三种主流芯片架构
  5. 横向堆积柱状图(peak distribution)
  6. uniapp项目 App端实现微信登录、QQ登录
  7. 树莓派python虚拟环境的设置与使用
  8. Oracle迁移到MySQL的各种坑及自救方案
  9. jsdroid 教程_安卓10 ROM编译教程(六):清除编译与更新源码
  10. 安装的Mac Windows双系统,Mac分区的空间太小/太大了,有什么办法调整吗?