// 双点弦截法迭代
#include "stdafx.h"
#include <cmath>
#include <iostream>
#include <iomanip>
double fx(double x)
{
double f = log(x) +2.0/9/(x - 1) - 4.697;//注意用2.0/9, 而不是2/9
return f; //f(x) = 0中的f(x)函数形式
}
void main()
{
using namespace std;
int N = 100,//迭代次数最大值
k = 0;//迭代次数实际值
double a = 1.04,//(a, b)为x取值区间,可以先用Excel试算法确定大概的范围
b = 1.05,
epsilon = 0.00001,//允许精度
x = b, //初始化
delta = b - a,//初始化
Oldfx = fx(a),//初始化
Newfx = fx(x);//初始化
cout<<"x0 = "<<a<<endl;
cout<<setw(15)<<"delta"<<setw(15)<<"x"<<setw(15)<<"f(x)"<<endl;
cout<<setw(15)<<0<<setw(15)<<a<<setw(15)<<Oldfx<<endl;
cout<<setw(15)<<delta<<setw(15)<<x<<setw(15)<<Newfx<<endl;
for(int i = 0; i<N; i++)//迭代步骤
{
双点弦截法迭代程序
最新推荐文章于 2022-08-17 11:01:04 发布
本文介绍了一段C++代码,用于实现双点弦截法迭代求解方程。通过设置迭代次数、初始区间和允许的精度,程序能够计算并输出迭代过程中的细节,直至达到设定的精度要求。
摘要由CSDN通过智能技术生成