當前位置:首頁 » 編程語言 » c語言歐拉公式

c語言歐拉公式

發布時間: 2024-08-10 01:19:55

⑴ 怎樣用c語言表示反正弦,反餘弦,反正切函數呢

計算反正切函數(使用歐拉變換公式,精度很高),反正切函數的級數展開公式:

f(x) = x - x^3/3 + x^5/5 +...+ (-1)^k * x^(2k+1)/(2k + 1)+...

當|x| > 1時,級數絕對值發散,無法直接使用歐拉公式計算。因此可以通過下面的公式
進行等價轉換之後再進行計算。

等價轉換公式:

a) ATan(1/x) = Pi/2 - ATan(x)
b) ATan(-x) = - ATan(x)

特殊情況

0 = ArcTan(0)
Pi/2 = ArcTan(無窮大)

//
// 歐拉公式
//
// sum是和,term是通項值,jterm初始為1,以後按1遞增。wrksp是工作單元,視jterm的
// 最大值而定。
//
void eulsum(int& nterm,double *sum,double term,int jterm,double wrksp[])
{
double tmp,m;

if(jterm == 1)
{
nterm = 1;
wrksp[1] = term;
*sum = 0.5 * term;
}
else
{
tmp = wrksp[1];
wrksp[1] = term;

for(int j=1; j <= nterm; j++)
{
m = wrksp[j+1];
wrksp[j+1] = 0.5 * (wrksp[j] + tmp);
tmp = m;
}

if(fabs(wrksp[nterm + 1]) <= fabs(wrksp[nterm]))
{
*sum = *sum + 0.5 * wrksp[nterm + 1];
nterm = nterm + 1;
}
else
{
*sum = *sum + wrksp[nterm + 1];
}
}
}

級數計算就不用我給代碼了吧。

⑵ c語言程序,歐拉公式求解常微分方程,步長0.01,就是求出100個點,然後

floatdx=0.01;//步長
floatx=0,y=1;//初始值
inti=1;
while(i<100)
{
floatk=y-(2*x)/(3*y);//求斜率,也就是y'
y+=k*dx;
x+=dx;
printf("x=%f,y=%f ",x,y);//輸出
i++;
}

⑶ C語言函數,用歐拉公式算三角形面積,看看哪錯了

這個是海倫公式。
實現上有兩個缺陷,
1,螞兆沒有亮物納判敬沒斷輸入的三個邊長,是否能組成三角形;
2,海倫公式寫錯了,應該這樣子寫 area=sqrt(s*(s-a)*(s-b)*(s-c));

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:628
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:357
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:75
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:300
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:788
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:338
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:204
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:801
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:357
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:583