编写C++风格的程序,用二分法求解f(x)=0的根。要求使用内联函数。f(x)=2x3-4x2+3x-6
1条回答 默认 最新
- bostonAlen 2021-11-05 16:02关注
#include <iostream> using namespace std; inline double fx(double x)//函数式只需要对返回值进行修改即可 { return 2.0 * x * x * x - 4.0 * x * x + 3.0 * x - 6.0; } inline void printResult(double ax, double bx,int k) { cout<<k<<"\t" << ax << "\t" << bx << "\t" << (ax+bx)*0.5 << "\t"; if (fx((ax + bx) * 0.5) > 0) { cout << "+" << endl; } else { cout << "-" << endl; } } double fun(double a, double b,double ep)//二分法,[a,b]区间进行迭代递归,ep是精度 { int k = 0; while (abs(a - b) > 2 * ep) { double x0 = (a + b) * 0.5; double fx0 = fx(x0); double fa = fx(a); double fb = fx(b); if (fa * fx0 < 0) { b = x0; } else if (fa * x0 == 0) { break; } else { a = x0; } k++; //printResult(a, b, k); } return (a + b )*0.5; } int main() { //cout<<fx(0.0)<<fx(5.0); //fx(0)*fx(5)<0 cout << "方程的根是:"; cout<<fun(0,5,0.00000001)<<endl; return 0; }
输出:方程的根是:2
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 MATLAB APP 制作出现问题
- ¥15 wannier复现图像时berry曲率极值点与高对称点严重偏移
- ¥15 利用决策森林为什么会出现这样·的问题(关键词-情感分析)
- ¥15 DispatcherServlet.noHandlerFound No mapping found for HTTP request with URI[/untitled30_war_e
- ¥15 使用deepspeed训练,发现想要训练的参数没有梯度
- ¥15 寻找一块做为智能割草机的驱动板(标签-stm32|关键词-m3)
- ¥15 信息管理系统的查找和排序
- ¥15 基于STM32,电机驱动模块为L298N,四路运放电磁传感器,三轮智能小车电磁组电磁循迹(两个电机,一个万向轮),怎么用读取的电磁传感器信号表示小车所在的位置
- ¥15 如何解决y_true和y_predict数据类型不匹配的问题(相关搜索:机器学习)
- ¥15 PB中矩阵文本型数据的总计问题。