C++编写程序用牛顿迭代法求一元方程5x^3—3x^2+2x—8=0 在x=1.1附近的根要求的精

C++编写程序用牛顿迭代法求一元方程5x^3—3x^2+2x—8=0在x=1.1附近的根要求的精度为10的负六次方这道题怎么编写程序... C++编写程序用牛顿迭代法求一元方程5x^3—3x^2+2x—8=0
在x=1.1附近的根要求的精度为10的负六次方这道题怎么编写程序
展开
 我来答
286199120
2015-11-23 · 超过14用户采纳过TA的回答
知道答主
回答量:62
采纳率:100%
帮助的人:16.2万
展开全部
#include "stdafx.h"
#include "iostream"
#include "math.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
double x = 1.1;
while(fabs(5*x*x*x-3*x*x+2*x-8)>0.000001)
x = x - (5*x*x*x-3*x*x+2*x-8)/(15*x*x-6*x+2);
cout<<"方程的解为"<<x<<endl;
system("pause");
return 0;
}

 

百度网友d580670
推荐于2017-07-27 · TA获得超过1983个赞
知道大有可为答主
回答量:2054
采纳率:82%
帮助的人:699万
展开全部
#include "iostream"
#include "math.h"
using namespace std;
typedef double (*func) (double);
double y(double x){
    return ((5*x-3)*x+2)*x-8;
}
double dy(double x) {
    return (15*x-6)*x+2;
}

double newton(double x, func fy, func fdy) {
    double x0;
    do {
        x0 = x;
        if (fabs(fdy(x)) < 1e-100) break;
        x = x - fy(x)/fdy(x);
        cout << fy(x) << "  " << x << endl;
    } while  (fabs(x-x0) > 1e-6);
    return x0;
}

int main() {
    cout << newton(1.1, y, dy);
    return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李小期的店铺
2015-11-20 · TA获得超过350个赞
知道小有建树答主
回答量:1627
采纳率:0%
帮助的人:230万
展开全部
嘎嘎
追答
我写过类似的啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式