資源簡介
自適應積分算法,適用于對函數的積分。對在不同區間變化趨勢不同的函數進行積分。算法收斂迅速。占用的程序空間很小。對數組的操作采用了堆棧的思想。C語言實現,易于在DSP,ARM,單片機上移植
代碼片段和文件信息
#include?
#include?
#include?
int?i;
int?N;
float?A?;
float?B;
float?FD;
float?FE;
float?S1;
float?S2;
float?v1;
float?v2;
float?v3;
float?v4;
float?v5;
float?v6;
float?v7;
int?v8;
float?v9;
float?APP;
float?TOL;
float?why;
float?tol[11]={00000000000};
float?a[11]={00000000000};
float?h[11]={00000000000};
float?FA[11]={00000000000};
float?FC[11]={00000000000};
float?FB[11]={00000000000};
float?S[11]={00000000000};
int?L[11]={00000000000};
int?j;
int?k;
float?x[17]={11.11.251.31.51.61.751.922.12.252.42.52.62.752.83};
float?y[17]={-0.5480.3230.98870.9870.3772-0.03-0.53626-0.85-0.958-0.998-0.965-0.8558-0.758-0.65-0.476-0.418-0.192};
float?Q[17][17]={{00000000000000000}{00000000000000000}{00000000000000000}{00000000000000000}{00000000000000000}{00000000000000000}{00000000000000000}{00000000000000000}{00000000000000000}{00000000000000000}{00000000000000000}{00000000000000000}{00000000000000000}{00000000000000000}{00000000000000000}{00000000000000000}{00000000000000000}};
/************************************************************************用Neville插值法求函數sin(10/x)輸出的值,并計算最終要積分的函數[100/(x*x)]*sin(10/x)的函數值******************************/
float?functionout(float?xin)
{
float?z;
float?result;
?? float?mid;
float?mid2;
for(j=0;j<17;j++)
{
????????Q[j][0]=y[j];
}
for(j=1;j<=16;j++)
????{
???for(k=1;k<=j;k++)
???{
???????????Q[j][k]=(xin-x[j-k])*Q[j][
評論
共有 條評論