C语言二分法求方程根

C语言二分法求方程根对于二分法求根 其实和弦截法思想很像 甚至更简单 原理 先看如下的图 A B 两个点为跟的一个边界 通过一直缩小跟的边界 从而获取跟的值 1 知道函数 即方程的式子 这个好说 题上都有 2 循环的输入 A B 的横坐标的值 即 x1 x2 的初值 直到 f x1 与 f x2 的乘积为负数才停止 必须保证方程的跟在 x1 x2 区间 这样的 x1 x2 的初值才有意义 3 令 xx x1 x2 2

#include <stdio.h> #include <iostream> #include <string.h> #include <math.h> using namespace std; double f(double x) { 
    return (x*x*x-3*x*x+3*x-1); } int main() { 
    double x1,x2,xx;//x1,x2代表区间左右边界,xx代表方程跟的值 do { 
    scanf("%lf%lf",&x1,&x2); } while(f(x1)*f(x2)>0);//保证f(x1)和f(x2)是异号,这样才可以进行下一步的精准区间,否则,重新输入x1,x2的值 do { 
    xx=(x1+x2)/2; if(f(xx)*f(x1)>0) x1=xx; else x2=xx; } while(fabs(f(xx))>=1e-7);//le-6代表1*10的-6次方,它的值将影响到跟的准确度的问题 printf("%.2lf\n",xx); return 0; } 

第二种:

#include <stdio.h> #include <iostream> #include <string.h> #include <math.h> using namespace std; double f(double x) { 
    return (x*x*x-3*x*x+3*x-1); } double erfen(double x1,double x2,double (*p)(double))//double (*p)(double)为形参,相当于函数别名 { 
    double xx; do { 
    xx=(x1+x2)/2; if((*p)(xx)*(*p)(x1)>0) x1=xx; else x2=xx; }while(fabs((*p)(xx))>=1e-7);//le-7代表1*10的-6次方,它的值将影响到跟的准确度的问题 return xx; } int main() { 
    double x1,x2; double f(double); double (*p)(double); p=f; do { 
    scanf("%lf%lf",&x1,&x2); } while((*p)(x1)*(*p)(x2)>0);//保证f(x1)和f(x2)是异号,这样才可以进行下一步的精准区间,否则,重新输入x1,x2的值 printf("%.2lf\n",erfen(x1,x2,f)); return 0; } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232244.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 基于麦克风阵列的现有声源定位技术有_阵列原理

    基于麦克风阵列的现有声源定位技术有_阵列原理《基于麦克风阵列声源定位系统.doc》由会员分享,可免费在线阅读全文,更多与《基于麦克风阵列声源定位系统》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。1、()cosiiiiettH,则有:cos()ex()()cosjiijijjiijretjkrretr()由于()()cos()cosex()jjijjijjjjiettHtHjkrr…

    2022年9月22日
    3
  • Java基础学习教程,eclipse简单使用教程(Java集成开发工具)

    Java基础学习教程,eclipse简单使用教程(Java集成开发工具)使用集成开发工具eclipse1、java的集成开发工具很多,包括:eclipse、IntellijIDEA、netbeans….. eclipse: IBM开发的。eclipse翻译为:日食。寓意吞并SUN公司(SUN是太阳。)最终没有成功,SUN公司在2009年的时候被oracle甲骨文公司收购。eclipse在以前的开发中使用非常多,但是由于IDEA工具的出现,让eclipse的用户大大减少,目前eclipse占市场份额30%。IDEA占市场份额60%,剩下10%是其他的开

    2022年6月28日
    31
  • Inputstream_java input

    Inputstream_java inputimportjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;publicclassInputStreamDemo{/**InputStream字节输入流*FileInputStream:文件字节输入…

    2022年9月21日
    5
  • list集合为空或为null的区别

    list集合为空或为null的区别简述判断一个list集合是否为空,我们的惯性思维是判断list是否等于null即可,但是在Java中,list集合为空还是为null,这是两码事。引用举个形象的例子,我有一个空着的水杯(list),而你没有,那你是null,我的size为0。你想装水就需要自己去买个水杯(new ArrayList();),但是我就可以直接装水(list.add(水))。你要是没有杯子直接倒水,水就流出…

    2022年6月13日
    30
  • scrollTop和scrollHeight「建议收藏」

    scrollTop和scrollHeight「建议收藏」scollTopscrollTop可以被设置为任何整数值,同时注意:如果一个元素不能被滚动(例如,它没有溢出,或者这个元素有一个”non-scrollable”属性),scrollTop将被设置为0。设置scrollTop的值小于0,scrollTop被设为0如果设置了超出这个容器可滚动的值,scrollTop会被设为最大值.总结:元素发生溢出时可以设置scrollT…

    2022年7月24日
    9
  • 爬虫爬取妹子图片(入门篇)

    爬虫爬取妹子图片(入门篇)

    2021年11月11日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号