m0_74118720 2022-10-07 10:47 采纳率: 92.3%
浏览 25
已结题

关于#c语言#的问题:用弦截法求非线性方程23-42+3x-6=0在区间[0,3]的一个实根

用弦截法求非线性方程23-42+3x-6=0在区间[0,3]的一个实根,精度为10-6。

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2022-10-07 11:17
    关注

    刚才那个写的有点错误,方程写错了,修改如下:

    float f(float x)                    // 求 y 函数
    {
        return 2*pow(x,3) - 4*pow(x,2)+3*x-6;
    }
    
    float newx(float x1, float x2)    // 求 x 的下一迭代值
    {
        return x1-f(x1)*(x1-x2)/(f(x1)-f(x2));
    }
    
    float root(float x1, float x2)         // 求根函数
    {
        float x, y, y1;
        y1 = f(x1);                        // 先固定(x1,y1),并不断调整(x2,y2)
        for(y = y1; fabs(y) >= 1e-6; ) // 循环求解,判断精度是否满足需求
        {
            x = newx(x1, x2);            // 下一迭代值 x
            y = f(x);                    // x 对应的 y 值
    
            if(y*y1 > 0)                // 如果新点(x,y)和(x1,y1)在 x 轴的同侧,则替换(x1,y1)
            {
                y1 = y;
                x1 = x;
            }
            else
            {
                x2 = x;                    
            }
        }
        return x;
    }
    
    int main()
    {
        float x;
    
        x = root(0,3);
    
        printf("%.2f",x);
        
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月16日
  • 已采纳回答 10月8日
  • 创建了问题 10月7日

悬赏问题

  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用