一元三次方程c语言程序,求解一元三次方程近似解的几种算法(C语言)
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语言)相关推荐
- 密码学实验报告c语言程序,密码学_实验一_古典密码算法_C语言.doc
您所在位置:网站首页 > 海量文档  > 高等教育 > 实验设计 密码学_实验一_古典密码算法_C语言.doc8页 本 ...
- C语言程序——计算一元二次方程ax^2+bx+c=0的根
文章目录 前言 一.求解一元二次方程的根 二.程序实例 1.程序代码 2.运行结果 3.结果分析 总结 前言 求解一元二次方程的根,由键盘键入系数,输出方程的根. 一.求解一元二次方程的根 这种问题解 ...
- java语言实现一个长度为n_Java语言实现求解一元n次多项式的方法示例[Java代码]...
本文主要向大家介绍了Java语言实现求解一元n次多项式的方法示例,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 项目需要做趋势预测,采用线性拟合.2阶曲线拟合和指数拟合的算法,各种线 ...
- 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 ...
- c语言程序能够在不同的操作系统下运行,这说明c语言具有很好的,程序设计(C)作业一(有答案)...
程序设计(C)作业一 1.C语言程序的执行,总是起始于(). A.程序中的第一条可执行语句 B.程序中的第一个函数 C.main函数 D.包含文件中的第一个函数 2.以下叙述不正确的是(). A.一个 ...
- c语言程序能够在不同的操作系统下运行,这说明c语言具有很好的,上海交通大学继续教育学院2012春——程序设计(C)作业1(有答案)...
程序设计(C)作业一 1. C语言程序的执行,总是起始于( ). A.程序中的第一条可执行语句 B.程序中的第一个函数 C.main函数 D.包含文件中的第一个函数 2. 以下叙述不正确的是( ). ...
- 编写lisp程序解一元二次方程_用C语言编写一程序求解一元二次方程的根。
展开全部 C语言编写一程序求解32313133353236313431303231363533e78988e69d8331333365643661一元二次方程的根: #include #include ...
- C语言(求解一元二次方程的根)
以下程序均在Visual C++6.0中运行成功 例:求方程2x^2-3x-6=0的根 #include <stdio.h> #include <math.h> void ma ...
- Python编写程序求解一元二次方程,打印九九乘法表,判断三条边是否可以构成三角形,并求三角形面积
目录 求解一元二次方程题目总体要求如下: 打印九九乘法表题目总体要求如下: 判断三条边是否可以构成三角形题目要求如下: 求解一元二次方程题目总体要求如下: 编写程序,输入一元二次方程的三个系数a.b. ...
- python解一元二次方程步骤-Python实现求解一元二次方程的方法示例
Python实现求解一元二次方程的方法示例 本文实例讲述了Python实现求解一元二次方程的方法.分享给大家供大家参考,具体如下: 1. 引入math包 2. 定义返回的对象 3. 判断b*b-4ac ...
最新文章
- SAP Lumira 初探
- 极客大挑战2020_五省同燃,千人开赛。2020年全国轮滑大联动暨MX名星轮滑伴我行城市轮滑挑战赛——扬州站、襄阳站、南宁站、潍坊站、沈阳站完美收官...
- 什么样的计算机书才是市场需要的——2009年计算机图书选题策划方向(三) (全文完)...
- hashmap储存有向图_java-对后边缘进行运算以获取有向图中的循环数
- mysql5.7.23版本环境配置
- Object之defineProperty
- 辨析 const指针 和 指向常量的指针
- Storm编程模型总结
- python rs232_使用Python進行RS-232通信返回垃圾信息
- 宁波华为服务器项目招聘,宁波服务器
- Emmet快速编写HTML代码
- 对自定义SharePoint WebService的总结
- 输出文件名,用i迭代的时候的方法
- 分享6个国内优秀Java后台管理框架的开源项目,建议收藏!
- Linux宝库名人轶事栏目 | 人生若只如初见,我与开源圈
- java按钮鼠标_我想用java做一个鼠标永远点不到button的应用,下面这个程序的错误在哪?...
- 使用dom4j把XML文件解析成JavaBean
- ssr提示服务器名无效_联想服务器在UEFI HII界面中配置阵列的基本操作
- API接口设计的五大公共参数
- 雷曼另类“死因”:巴菲特漏看求救短信