當前位置:首頁 » 編程語言 » 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-07-09 14:23:37 瀏覽:772
magento緩存 發布:2025-07-09 14:23:22 瀏覽:473
安卓機怎麼把時間弄在主頁面 發布:2025-07-09 14:17:28 瀏覽:1000
地產網站源碼 發布:2025-07-09 14:07:08 瀏覽:71
sdk3000編譯環境 發布:2025-07-09 14:06:09 瀏覽:978
煙灰奇跡腳本 發布:2025-07-09 14:02:27 瀏覽:75
游戲王伺服器地址 發布:2025-07-09 13:38:07 瀏覽:771
雙加密狗 發布:2025-07-09 13:26:51 瀏覽:471
1加5t買什麼配置合適 發布:2025-07-09 13:17:51 瀏覽:540
mssql分頁存儲過程 發布:2025-07-09 13:17:00 瀏覽:271