【C語言】梯形法求函數積分


 編寫一個用梯形法求一元函數f(x)在(a,b) 上積分近似值的函數過程。並就f(x)=sin(2x)+x,當[a,b]=[0,3.14159]、小區間數n=10 和n=20 時,分別計算並輸出積分的近似值S1和S2,保留3 位小數。 
 1 #include<stdio.h>
 2 #include<math.h> 
 3 float f(float x)
 4 {
 5     return  sin(2*x)+x;
 6 }
 7 int  main()
 8 {
 9     float a,b,len,F=0;//
10     int n,i;
11     printf("請輸入a,b: ");
12     scanf("%f%f",&a,&b);
13     printf("請輸入n的值: ");
14     scanf("%d",&n);
15     len=(a+b)/n; 
16     for(i=0;i<n;i++)
17     {
18         F+=len*f(a);
19         a+=len;
20     }
21     printf("%.3f\n",F);
22     return 0;
23 }

 

 有問題,請指正,謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM