首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >[f(x) =x2-2] (sqrt2)的二分法

[f(x) =x2-2] (sqrt2)的二分法
EN

Stack Overflow用户
提问于 2022-05-20 23:38:14
回答 1查看 52关注 0票数 -1

我试图编写一个计算f(x) = x^2 -2根的程序,但它似乎不改变xfafb的值。

代码语言:javascript
运行
复制
  int x2(float a, float b)
    {
        float tmp = (a + b) / 2; 
        return tmp; 
    }
    
    int func(float a)
    {
        float tmp = (a * a) - 2;
        return tmp;
    } 
    
    int main()
    {
        float a = 1, b = 2;
        float fa = func(a), fb = func(b);
        float y = 0, x=0; 
    
        while (fa < 0 && fb > 0)
        {
    
            y = x2(a,b);
            x = func(y);
    
            if (x < 0) { a = x2(a, b); b = b; }
            if (x > 0) { a = a; b = x2(a, b); }
            if (x == 0) { cout << "Zero-Point: " << x << endl; break; }
    
            fa = func(a), fb = func(b);
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2022-05-28 14:36:33

所有函数都返回int,但是funcx2应该返回float。否则,您将以x2返回x2(1, 2)上的1,从而永久返回a = y = 1结束。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72325645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档