搜索
编程论坛
→
开发语言
→
C++论坛
→
『 VC++/MFC 』
→ 用弦截法求f(x)=x^3+2x^2+10x-20=0的根,精度要求10^-6,并绘出迭代次数。(x1=1,x2=2)
标题:
用弦截法求f(x)=x^3+2x^2+10x-20=0的根,精度要求10^-6,并绘出迭代次数。( ...
只看楼主
waili0713
等 级:
新手上路
帖 子:8
专家分:0
注 册:2017-5-17
楼主
问题点数:0 回复次数:1
用弦截法求f(x)=x^3+2x^2+10x-20=0的根,精度要求10^-6,并绘出迭代次数。(x1=1,x2=2)
用弦截法求f(x)=x^3+2x^2+10x-20=0的根,精度要求10^-6,并绘出迭代次数。(x1=1,x2=2)
越快越好!用c/c++编程。
[此贴子已经被作者于2017-5-17 20:35编辑过]
搜索更多相关主题的帖子:
精度
要求
迭代
次数
编程
2017-05-17 20:34
waili0713
等 级:
新手上路
帖 子:8
专家分:0
注 册:2017-5-17
第
2
楼
得分:0
[b]就这样没问题,自己找到问题啦。
#include <stdio.h>
#include <stdlib,h>
#include <math.h>
double x,x0,x1;
double f(double x)
{
double c;
c=x*x*x+2*x*x+10*x-20;
return(c);
}
double root(double x0,double x1)
{
int i;
while(f(x)<-0.000001||f(x)>0.000001);
{
double k,b;
k=(f(x0)-f(x1))/(x0-x1);
b=f(x0)-k*x0;
x=-b/k;
i++;
if(f(x)*f(x0)>=0)x0=x;
if(f(x)*f(x1)>=0)x1=x;
}
printf("迭代次数=%d\n",i);
return x;
}
int main()
{
double x0=1;
double x1=2;
printf("x0=1\nx1=2\n");
while(f(x0)*(x1)>=0)
{
scanf("%lf%lf",&x0,&x1);
}
root(x0,x1);
printf("根=%f\n",x);
systeam("pasue";)
return 0;
}
[此贴子已经被作者于2017-5-19 19:05编辑过]
2017-05-17 20:39
2
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-477075-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.347998 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved