C語言求解定積分的方法
本文實例為大家分享了C語言求解定積分的具體方法,供大家參考,具體內(nèi)容如下
題目要求:
求下面函數(shù)的定積分:
思路:
求一個函數(shù)的定積分,其實就是求它的面積,如對函數(shù)
求積分。
也就是要求出綠色部分的面積,如下:
我們可以通過矩形的方法來無限逼近定積分的求解,如下:
因為被分成n等分,就可以認(rèn)為每一等分是一個矩形,那么每一矩形的面積為:
每一個矩形面積為:***Sn=f(x)(b-a)/n
總面積為:****S=S1+S2+…+Sn
通過這樣的一個思路就可以完成,定積分的求解。
這樣這三個定積分的求解代碼,如下:
#include <stdio.h> #include <math.h> void main( ) { float f1(float x); float f2(float x); float f3(float x); float s1 = 0; float s2 = 0; float s3 = 0; int n; // 被分成的份數(shù) float a,b; // 積分范圍 int i; // 循環(huán)變量 printf("請輸入極限下限:"); scanf("%f",&a); printf("請輸入極限上限:"); scanf("%f",&b); printf("請輸入被分成的份數(shù):"); scanf("%d",&n); for(i=1; i<=n;i++) { s1 = s1 + f1(a+((b-a)/n)*i)*((b-a)/n); s2 = s2 + f2(a+((b-a)/n)*i)*((b-a)/n); s3 = s3 + f3(a+((b-a)/n)*i)*((b-a)/n); } printf("積分的結(jié)果為:%0.4f\n",s1); printf("積分的結(jié)果為:%0.4f\n",s2); printf("積分的結(jié)果為:%0.4f\n",s3); } /* y=x */ float f1(float x) { float y=0; y = x; return y; } /* y = x*x */ float f2(float x) { float y=0; y = x*x; return y; } /* y = sin(x) */ float f3(float x) { float y=0; y = (float)sin(x); return y; }
結(jié)果為:
這樣就把定積分求完了,當(dāng)然還有其他的方法。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
深入理解C語言 static、extern與指針函數(shù)
這篇文章主要介紹了C語言 static、extern與指針函數(shù),有需要的朋友可以參考一下2013-12-12C\C++實現(xiàn)讀寫二進(jìn)制文件的方法詳解
這篇文章主要為大家詳細(xì)介紹了C\C++實現(xiàn)讀寫二進(jìn)制文件的方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以了解一下2023-03-03詳解C++編程中向函數(shù)傳遞引用參數(shù)的用法
這篇文章主要介紹了詳解C++編程中向函數(shù)傳遞引用參數(shù)的用法,包括使函數(shù)返回引用類型以及對指針的引用,需要的朋友可以參考下2016-01-01C語言實現(xiàn)簡易學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)簡易學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06