用弦截法求非线性方程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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 winform的chart曲线生成时有凸起
- ¥15 msix packaging tool打包问题
- ¥15 finalshell节点的搭建代码和那个端口代码教程
- ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
- ¥15 Centos / PETSc / PETGEM
- ¥15 centos7.9 IPv6端口telnet和端口监控问题
- ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
- ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
- ¥20 海浪数据 南海地区海况数据,波浪数据
- ¥20 软件测试决策法疑问求解答