C語言求定積分

2021-09-12 12:54:22 字數 658 閱讀 3639

這裡以函式f=sinx為例子,首先思路:求定積分用的是元素法,把面積分為乙個個的小矩形,分的越密集,則結果越正確。那現在就用這種方法,利用c語言求定積分。

下面附上**:

#include #include #include #include #include using namespace std;

int main()

double jifen(double a,double b,double (*p)(double))//(*p)(double)為指向函式的指標,相當於乙個函式的名字作為形參了

{ int i;

double wide=0.001;//wide表示劃分的單位寬度,wide越小結果越精確,n是積分中矩形的寬

dint n=(b-a)/wide;//a,b為積分的上限和下限

double s=0;//s為所有小矩形面積的和,即積分的值

for(i=0;i注意:double (*p)(double)表示p是指向函式的指標,被指的函式是乙個實型函式,有乙個實型的形參,p是指向函式的指標變數。同以往的指標不同的是,p指向的是乙個函式,代表乙個函式的位址,p就代表這個函式的名字。(p)(a+widei)相當於sin(a+widei)。這樣jifen函式就是乙個通用求定積分的函式了。裡面的函式定義隨意變,而所需改變的**很少。這樣大大提高了效率

C語言求定積分

一.寫乙個用矩形法求定積分的函式,求 sin x 在 0,1 上的定積分。include include float jifen float a,float b int i,l float n 0.001,s 0 n表示劃分的單位寬度,n越小結果越精確,n是矩形的寬 l b a n l表示有多少個單...

python Matlab求定積分

計算 sympy庫中integrate函式 integrate f,x,lower bound,upper bound f 函式,x 變數,lower bound 下限,upper bound 上限 但是發現求不出來,如果是sin 2 x 就可以,為什麼?syms x f sin 2 x 1 x 2...

Problem E C語言習題 矩形法求定積分

time limit 1 sec memory limit 128 mb submit 410 solved 260 submit status web board 寫乙個用矩形法求定積分的通用函式,分別求 說明 sin,cos,exp已在系統的數學函式庫中,程式開頭要用 include 輸入求si...