欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言二分法求解方程根的兩種方法

 更新時間:2020年06月16日 10:55:43   作者:咕嘟咕嘟520  
這篇文章主要為大家詳細(xì)介紹了C語言二分法求解方程根的兩種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言二分法求解方程根的具體代碼,供大家參考,具體內(nèi)容如下

對于二分法求根,其實和弦截法思想很像,甚至更簡單。

原理:先看如下的圖

A,B兩個點為跟的一個邊界,通過一直縮小跟的邊界,從而獲取跟的值。

(1)知道函數(shù)(即方程的式子),這個好說,題上都有
(2)循環(huán)的輸入A,B的橫坐標(biāo)的值,即x1,x2的初值,直到f(x1)與f(x2)的乘積為負(fù)數(shù)才停止。(必須保證方程的跟在(x1,x2)區(qū)間)這樣的x1,x2的初值才有意義。
(3)令xx=(x1+x2)/2;(即中值),若f(xx)*f(x1)>0此刻證明了x1要被xx替代了,即區(qū)間變成了(xx,x2);。若f(xx)*f(x2)>0此刻證明了x2要被xx替代了,即區(qū)間變成了(x1,xx);大家可以用上面的圖試一下就知道了,很好理解的。
(4)那么什么時候結(jié)束呢,這就是一個精度的問題了,看你把精度設(shè)成什么樣子,最精準(zhǔn)的方程跟的函數(shù)值是0,那么就用f(xx)與0比較,相差在自己設(shè)置的精度(一般是10的-6次方,C語言中寫作:1e-6)以內(nèi),則可以把xx近似當(dāng)做是方程的跟。

下面用代碼實現(xiàn):

第一種是直接的,第二種是可移植性的(即使方程改變需要修改的地方很少,而前者則需要修改很多),第二種用函數(shù)指針實現(xiàn)。

第一種:

#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代表區(qū)間左右邊界,xx代表方程跟的值
  do
  {
    scanf("%lf%lf",&x1,&x2);
  }
  while(f(x1)*f(x2)>0);//保證f(x1)和f(x2)是異號,這樣才可以進(jìn)行下一步的精準(zhǔn)區(qū)間,否則,重新輸入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次方,它的值將影響到跟的準(zhǔn)確度的問題
  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)為形參,相當(dāng)于函數(shù)別名
{
  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次方,它的值將影響到跟的準(zhǔn)確度的問題
  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)是異號,這樣才可以進(jìn)行下一步的精準(zhǔn)區(qū)間,否則,重新輸入x1,x2的值

  printf("%.2lf\n",erfen(x1,x2,f));
  return 0;
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 約瑟夫環(huán)問題(數(shù)組法)c語言實現(xiàn)

    約瑟夫環(huán)問題(數(shù)組法)c語言實現(xiàn)

    這篇文章主要介紹了約瑟夫環(huán)問題(數(shù)組法)c語言實現(xiàn),有需要的朋友可以參考一下
    2013-12-12
  • C++ 使用CRC32檢測內(nèi)存映像完整性的實現(xiàn)步驟

    C++ 使用CRC32檢測內(nèi)存映像完整性的實現(xiàn)步驟

    當(dāng)我們使用動態(tài)補(bǔ)丁的時候,那么內(nèi)存中同樣不存在校驗效果,也就無法抵御對方動態(tài)修改機(jī)器碼了,為了防止解密者直接對內(nèi)存打補(bǔ)丁,我們需要在硬盤校驗的基礎(chǔ)上,增加內(nèi)存校驗,防止動態(tài)補(bǔ)丁的運(yùn)用。
    2021-06-06
  • C++實現(xiàn)LeetCode(137.單獨(dú)的數(shù)字之二)

    C++實現(xiàn)LeetCode(137.單獨(dú)的數(shù)字之二)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(137.單獨(dú)的數(shù)字之二),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++實現(xiàn)字符串類型相互轉(zhuǎn)換的代碼示例

    C++實現(xiàn)字符串類型相互轉(zhuǎn)換的代碼示例

    在C/C++編程中,字符串是非常基礎(chǔ)且常用的數(shù)據(jù)類型,但是由于不同的編程語言或標(biāo)準(zhǔn)庫可能采用不同的字符串類型,因此在不同的應(yīng)用場景下可能需要進(jìn)行字符串類型的相互轉(zhuǎn)換,本文將介紹如何在C/C++中將char*,std::string,QString,CString/MFC?String相互轉(zhuǎn)換
    2023-06-06
  • C++使用map實現(xiàn)多進(jìn)程拷貝文件的程序思路

    C++使用map實現(xiàn)多進(jìn)程拷貝文件的程序思路

    這篇文章主要介紹了C++使用mmap實現(xiàn)多進(jìn)程拷貝文件,通過本文給大家分享程序思路及完整代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • C++中const與#define的利弊分析

    C++中const與#define的利弊分析

    C++中不但可以用define定義常量還可以用const定義常量,下面這篇文章主要給大家分析介紹了關(guān)于C++中const與#define的利弊,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2018-05-05
  • C語言實現(xiàn)騎士飛行棋

    C語言實現(xiàn)騎士飛行棋

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)騎士飛行棋,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C語言常量介紹

    C語言常量介紹

    這篇文章介紹了C語言中的常量,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • c語言實現(xiàn)輸入一組數(shù)自動從大到小排列的實例代碼

    c語言實現(xiàn)輸入一組數(shù)自動從大到小排列的實例代碼

    下面小編就為大家?guī)硪黄猚語言實現(xiàn)輸入一組數(shù)自動從大到小排列的實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • C語言實現(xiàn)飛機(jī)大戰(zhàn)小游戲

    C語言實現(xiàn)飛機(jī)大戰(zhàn)小游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)飛機(jī)大戰(zhàn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06

最新評論