• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      程序設(shè)計(jì)求解數(shù)學(xué)問題的應(yīng)用實(shí)例

      2018-06-06 10:14王明菱付云偉王麗明
      電腦知識(shí)與技術(shù) 2018年7期
      關(guān)鍵詞:積分程序設(shè)計(jì)矩陣

      王明菱 付云偉 王麗明

      摘要:程序設(shè)計(jì)為解決數(shù)學(xué)問題提供了可行的思路和方法。借助程序可以快速解決不可積的積分問題、快速求冪問題、矩陣乘法問題、歐幾里德問題等數(shù)學(xué)問題,從應(yīng)用實(shí)例中領(lǐng)悟了程序設(shè)計(jì)在解決數(shù)學(xué)問題上的優(yōu)越性和便利性。

      關(guān)鍵詞:程序設(shè)計(jì);數(shù)學(xué);積分;快速冪;矩陣;歐幾里德

      中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)07-0078-04

      程序設(shè)計(jì)與數(shù)學(xué)之間有著天然的聯(lián)系,兩者相輔相成。數(shù)學(xué)是程序設(shè)計(jì)的基礎(chǔ),程序設(shè)計(jì)基于數(shù)學(xué)建模,又成為解決數(shù)學(xué)問題的一種重要途徑。實(shí)踐中,借助程序快速求解了不可積的積分問題、快速求冪問題、矩陣乘法問題、歐幾里德問題,用實(shí)例證明并展示了程序設(shè)計(jì)應(yīng)用于解決數(shù)學(xué)問題的獨(dú)特優(yōu)勢(shì)和便捷高效。

      1 不可積的積分問題

      在實(shí)際數(shù)學(xué)運(yùn)算中,經(jīng)常要用到各種積分。能夠直接積出來的積分已經(jīng)不是難題,但一旦遇到不可積的積分,人們往往束手無(wú)策。作者借助程序?qū)⒉豢煞e的積分進(jìn)行了求解。對(duì)不可積的積分問題的近似解,提出了兩種方法,一種是根據(jù)積分的性質(zhì)以及求積分的基本思想,利用分割取近似的方法,將積分的近似值求出來。另一種是使用Romberg算法,將被積函數(shù)展開,并使用梯形法遞推公式,以求出積分的值。

      1.1分割取近似法(詳見附錄1:“求積分(近似).cpp”)

      分割取近似法是在求定積分的過程中常用的方法。具體方法是,設(shè)被積函數(shù)為f(x),將積分區(qū)間平均分成n等份,每份的寬度為h,則:

      實(shí)踐中,可以用類似于上述實(shí)例的求解方法,在求gcd(m,n)的過程中,通過逆推將線性組合表示出來。

      擴(kuò)展歐幾里德算法實(shí)現(xiàn):詳見附錄6:“歐幾里德.cpp”。

      5 結(jié)束語(yǔ)

      借助程序快速求解不可積的積分問題、快速求冪問題、矩陣乘法問題、歐幾里德問題等實(shí)例,從新的視角展示了程序設(shè)計(jì)在解決數(shù)學(xué)問題上的應(yīng)用優(yōu)越性。利用分割取近似的方法求解積分的近似值,使用Romberg算法展開被積函數(shù),并運(yùn)用梯形法遞推公式求出積分的值,結(jié)合滿二叉樹定律及遞歸思想,將O(n)求冪的算法優(yōu)化至[O(log2n)],使用矩陣乘法+快速冪的思想解決斐波那契數(shù)列問題等等,為人們?cè)诳焖偾蠼馄渌麛?shù)學(xué)問題時(shí)提供了新的思路。今后,隨著程序設(shè)計(jì)應(yīng)用的不斷深入,必將使更多更復(fù)雜的數(shù)學(xué)問題迎刃而解。

      參考文獻(xiàn):

      [1]陳宇.數(shù)論及應(yīng)用[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2012.

      [2]俞勇.ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽:算法與實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2013.

      [3]趙一煊.淺析數(shù)學(xué)與程序設(shè)計(jì)的關(guān)系[J].通訊世界,2015(23):296-297.

      [4]劉方明.程序設(shè)計(jì)中的數(shù)學(xué)方法[J].電腦知識(shí)與技術(shù),2012,8(25):6022-6024.

      附錄:

      1.求積分(近似).cpp

      #include

      #include

      #include

      #include

      #include

      #include

      #define MIN_LIMIT 1e-5

      #define e 2.71828182

      #define pie 3.1415926

      #define INF 100000

      using namespace std;

      int N;

      double H,A,B,V,ak[10],bk[10],hk[10];

      inline double f(double x)

      {

      return pie*(A*A*pow(e,-2.0*x*x)+B*B*x+2*A*B*pow(e,-x*x)*pow(x,0.5));

      }

      template

      double simpson(const T &f;,double a,double b,int n)

      {

      const double h=(b-a)/n;

      double ans=f(a)+f(b);

      for(int i=1;i

      ans+=4*f(a+i*h);

      for(int i=2;i

      ans+=2*f(a+i*h);

      return ans*h/3;

      }

      int main()

      {

      double a,b;

      while(cin>>a>>b>>A>>B)

      {

      cout<

      }

      return 0;

      }

      2. 求積分(精確).cpp

      3. 快速冪.cpp

      #include

      #include

      #include

      #include

      using namespace std;

      int a,n;

      int ksm(int a,int n)

      {

      if(n<=1)

      return a;

      int ans=ksm(a,n/2);

      ans*=ans;

      if(n&1)

      ans*=a;

      return ans;

      }

      int main()

      {

      while(scanf("%d%d",&a;,&n;)!=EOF)

      {

      printf("%d\n",ksm(a,n));

      }

      return 0;

      }

      4. 矩陣乘法.cpp

      5. 經(jīng)典歐幾里德.cpp

      #include

      #include

      #include

      #include

      using namespace std;

      typedef long long ll;

      ll gcd(ll m,ll n)

      {

      if(!n)

      return m;

      return gcd(n,m%n);

      }

      int main()

      {

      ll m,n;

      while(cin>>m>>n)

      {

      cout<

      }

      return 0;

      }

      6. 擴(kuò)展歐幾里德.cpp

      #include

      #include

      #include

      #include

      using namespace std;

      typedef long long ll;

      ll exgcd(ll m,ll &x;,ll n,ll &y;)

      {

      ll x1,y1,x0,y0;

      x0=1;y0=0;

      x1=0;y1=1;

      ll r=(m%n+n)%n;

      ll q=(m-r)/n;

      x=0;y=1;

      while(r)

      {

      x=x0-q*x1;

      y=y0-q*y1;

      x0=x1;y0=y1;

      x1=x;y1=y;

      m=n;n=r;r=m%n;

      q=(m-r)/n;

      }

      return n;

      }

      int main()

      {

      ll m,n;

      while(cin>>m>>n)

      {

      ll x,y;

      ll ans=exgcd(m,x,n,y);

      cout<

      }

      return 0;

      }

      猜你喜歡
      積分程序設(shè)計(jì)矩陣
      基于Visual Studio Code的C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)探索
      從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
      高職高專院校C語(yǔ)言程序設(shè)計(jì)教學(xué)改革探索
      微“積分”:構(gòu)建活力班級(jí)的一把金鑰匙
      積分激勵(lì)機(jī)制在生物課堂教學(xué)《青春期》中的運(yùn)用
      淺談高等數(shù)學(xué)教學(xué)過程中的教育思想
      初等行變換與初等列變換并用求逆矩陣
      矩陣
      矩陣
      矩陣
      濮阳市| 衡阳市| 青龙| 视频| 克什克腾旗| 搜索| 扎鲁特旗| 贡山| 龙岩市| 新龙县| 仙游县| 齐河县| 怀柔区| 五寨县| 静宁县| 唐河县| 宝坻区| 平安县| 正镶白旗| 曲周县| 塔城市| 锦屏县| 比如县| 大关县| 大宁县| 竹溪县| 鄂尔多斯市| 张家口市| 静安区| 保定市| 连平县| 杭锦后旗| 寿宁县| 广水市| 务川| 灵寿县| 班玛县| 通江县| 长沙县| 长宁区| 方正县|