對(duì)于一重定積分來說其求解可以使用梯形法進(jìn)行求解,計(jì)算公式如下所示:
目前成都創(chuàng)新互聯(lián)公司已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、婁星網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
其中,f(x)為被積函數(shù),為橫坐標(biāo)的兩點(diǎn)間的間隔,越小,則計(jì)算出的結(jié)果越精確。
對(duì)于求解此類問題可以使用C語言中的回調(diào)函數(shù)編寫通用的計(jì)算函數(shù),代碼如下:
#include?stdio.h
#include?stdlib.h
#includemath.h
//功能:返回f(x)在積分區(qū)間[a,b]的值
//參數(shù):FunCallBack?指向用于計(jì)算f(x)的函數(shù)
//??????a??積分區(qū)間的起始值
//??????b??積分區(qū)間的結(jié)束值
//??????dx?橫坐標(biāo)的間隔數(shù),越小計(jì)算結(jié)果越準(zhǔn)確
double?Calculate(double?(*FunCallBack)(double?x),
double?a,double?b,double?dx)
{
double?doui;
double?total?=?0;????????//保存最后的計(jì)算結(jié)果
for?(doui?=?a;?doui?=?b;?doui?+=?dx)
{
total?+=?FunCallBack(doui)*dx;
}
return?total;
}
double?f2(double?x)
{
return?x*x;
}
double?f(double?x)
{
return?x;
}
double?f3(double?x)
{
return?x*x*x?;
}
int?main()
{
double?total;
total?=?(Calculate(f,?2,?3,?0.000001));
printf("total?=?%lf\n",?total);
total?=?(Calculate(f2,?2,?3,?0.000001));
printf("total?=?%lf\n",?total);
total?=?(Calculate(f3,?2,?3,?0.000001));
printf("total?=?%lf\n",?total);
return?0?;
}
其中,函數(shù)f,f2,f3為自行編寫的關(guān)于x的被積函數(shù)。
運(yùn)行結(jié)果:
total?=?2.500000
total?=?6.333331
total?=?16.249991
標(biāo)準(zhǔn)c語言中沒有求定積分的函數(shù)。
自己寫定積分計(jì)算也不難。
寫一個(gè) 被積函數(shù)的 函數(shù)。
double eq(x) {...return y;}
給上下邊界a,b。dx = b-a;
然后做循環(huán):
每次加密一倍 dx=dx/2.0,
計(jì)算 yi = eq( a + dx * i);
計(jì)算積分值。
前后兩次積分值誤差滿足要求則成功。
#includestdio.h
#includemath.h//pow()指數(shù)函數(shù)頭文件;
#define e 2.71828//定義自然常數(shù)e;
int main ()
{
double a,b,n1,n2,n3,n4,n5,t;
scanf("%lf%lf",a,b);
if(ab)//保證上限比下限大;
{
t=a;
a=b;
b=t;
}
n1=a-b+0.5*(a*a-b*b);//a和b是未知數(shù),積分運(yùn)算后,原式=a和b混合運(yùn)算的代數(shù)式;
n2=a*a-b*b+3*a-3*b;
n3=e*0.5*(a*a-b*b)+a-b;
n4=(pow(a+1,3)-pow(b+1,3))/3;
n5=(pow(a,4)-pow(b,4))/4;
printf("%.2lf %.2lf %.2lf %.2lf %.2lf",n1,n2,n3,n4,n5);
return 0;
}
圖1是運(yùn)行結(jié)果,圖2是原題的積分結(jié)果;通過數(shù)學(xué)的積分結(jié)果可以看出,積分符號(hào)的不在了;只剩下上下限a,b組成的代數(shù)式;
把積分算式算出來,然后用C寫。
比如[a,b]的積分上限和下限,對(duì)x積分,就是x^2/2, 代入a,b
本文題目:c語言中積分函數(shù)名,積分 c語言
當(dāng)前網(wǎng)址:http://sd-ha.com/article22/dsespcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、小程序開發(fā)、外貿(mào)網(wǎng)站建設(shè)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)