• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            /**
              復化Simpson積分  
                                                                              m-1                   m-1
             復化Simpson公式: Tn = (h/3) *  { f(a)/2  +  4 * ∑ f ( x2i  + 2 * ∑ f ( x2i+1 ) +  f(b)/2 )} 
                                                                              i=0                     i=1
             步長: h=b-a/n,  n=2*m

             屬性: 數值積分法

            《數值計算方法與算法》-2 Editon -科學出版社 P55
               
             代碼維護:2007.04.20   pengkuny
            **/ 

            #include<iostream>
            #include
            <cmath>

            using namespace std;

            #define f(x) (sin(x))  //舉例函數
            #define epsilon 0.00001  //精度

            //復化Simpson公式
            float Simpson(float aa, float bb, long n)
            {//aa,bb:端點  n,分區數
                if (!(n%2)) //保證n為偶數
                    n = n+1;
                
            long m = n/2;

                
            float sum = 0;
                
            float h = (bb-aa)/n; //步長

                
            float sum1 = 0, sum2 = 0;
                
            for (long i=0; i<m; i++)
                
            {
                    sum1 
            += f(aa + (2*i+1)*h);
                }

                
            for (long i=1; i<m; i++)
                
            {
                    sum2 
            += f(aa + (2*i)*h);
                }


                sum 
            = f(aa) + f(bb) + 2*sum2 + 4*sum1;

                
            return (h*sum/3);
            }



            int main()
            {
                
            float a,b;
                
            long n;
                cout
            <<"復化Simpson積分,請輸入積分范圍a,b:"<<endl;
                cin
            >>a>>b;
                cout
            <<"請輸入分割區間數n:"<<endl;
                cin
            >>n;

                cout
            <<"積分結果:"<<Simpson(a, b, n)<<endl;

                system(
            "pause");
                
            return 0;
            }


             

            posted on 2007-04-20 10:55 哈哈 閱讀(1520) 評論(3)  編輯 收藏 引用

            評論:
            # re: 復化Simpson積分 2007-11-26 20:13 | 網友
            題目中的精度好像沒有用  回復  更多評論
              
            # re: 復化Simpson積分 2008-12-28 20:30 |
            @網友
            i重復初始化了  回復  更多評論
              
            # re: 復化Simpson積分 2009-09-05 11:22 | zh
            保證n為偶數,書寫錯誤!上面的n變為恒是奇數了  回復  更多評論
              
            亚洲国产精品无码久久SM| 亚洲AV无码久久| 久久久久久午夜成人影院| 久久国产精品-久久精品| 欧美性大战久久久久久| MM131亚洲国产美女久久| 99久久这里只精品国产免费| 国产精品岛国久久久久| 亚洲AV无码久久精品蜜桃| 精品久久久久久久久午夜福利| 色综合久久中文色婷婷| 国内精品久久久久久99蜜桃| 97久久精品人人澡人人爽| 久久99国产精品久久久| 中文字幕无码久久人妻| 中文成人久久久久影院免费观看| 久久久久久夜精品精品免费啦| 久久精品18| 中文字幕久久亚洲一区| 91久久九九无码成人网站 | 久久亚洲国产精品一区二区| 香蕉久久永久视频| 久久国产精品免费一区| 久久综合视频网站| 亚洲国产高清精品线久久 | 久久精品www| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 无码人妻少妇久久中文字幕蜜桃| 久久se精品一区二区| 欧美喷潮久久久XXXXx| 久久亚洲熟女cc98cm| 亚洲人成电影网站久久| 亚洲国产精品一区二区三区久久| 国产一级做a爰片久久毛片| 97久久综合精品久久久综合| 人妻无码αv中文字幕久久| 亚洲国产精品无码久久98| 亚洲综合日韩久久成人AV| 久久九九亚洲精品| 久久精品欧美日韩精品| 97久久精品国产精品青草|