當前位置:首頁 » 編程語言 » 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));

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:333
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:374
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:609
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:30
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:104
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:940
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:736
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:800
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:507
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:369