2011-03-02 44 views
0

我會感到有點幫助。我需要在正交規則中創建簡單的應用計數定積分,它在運行時作爲參數給出。我開始添加參數,但是當我使用括號時,編譯器不會編譯我的應用程序。然後我開始陷入困境,如何將參數傳遞爲某些計算部分的一個組成部分?C - 定積分正交規則

感謝

編輯:

int x; 
int i; 
float sum=0; 
double PI; 

printf("Please enter the parts to divide the interval: "); 
scanf("%d", &x); 

for (i=1; i<x; i+=2){ 
    if (i%4==1) 
     sum=sum+1./(double)i; 
    else 
     sum=sum-1./(double)i; 
} 
PI= 4*sum; 
printf("The sum is %f\n", sum); 
printf("Approximate value of PI is %f\n", PI); 
+6

向我們展示你嘗試過什麼。 – Muggen 2011-03-02 16:19:37

+0

編輯,我需要找出如何近似積分的某些輸入 – Waypoint 2011-03-02 16:28:44

+1

嘗試使用'(float)'而不是'(double)'。或者將'sum'聲明爲'double'。 – 2011-03-02 16:29:41

回答

1

很難知道你問這裏。

你試圖做不同的訂單做高斯或一些其他類型的正交計劃?

你是否遇到了問題,弄清楚如何傳遞函數指針以通過數值積分函數進行評估?

當你說你有一個編譯器錯誤時,它表明你甚至沒有得到可以判斷你的實現是否工作的點。你怎麼知道C?您應該閱讀並消化錯誤消息並返回到語言參考,以查看出錯位置,直到所有編譯器錯誤消失。

一旦你達到那個目標,樂趣就會開始:現在你必須擔心你的代碼是否真的有效。

更新:我沒有在您發佈的代碼中看到任何正交。看起來像一個簡單的歐拉或辛普森的規則。

我建議像 「數字食譜」:

http://eiffel.ps.uci.edu/cyu/p231C/LectureNotes/lecture10:integration/lecture10.pdf

+0

我把這個簡單的代碼放在這裏,我要求的是如何在C中概括應用程序的幫助,這個應用程序將近似給定函數的參數,並依賴於我選擇的區間數,它會有一些準確性。我尋求一些通用的代碼,一般來說如何近似積分,因爲對我來說,現在是大阻礙。像PI一樣,我會得到更好更好的結果,限制爲3,14159265 ... – Waypoint 2011-03-02 16:38:36

+0

請閱讀我發佈的參考文獻。它可以完成,但不像你寫的那樣。 – duffymo 2011-03-02 16:55:45

+0

謝謝你的鏈接,它的恥辱,沒有正交(或矩形)的方法,我知道它不是最好的......但我會看得更遠。 – Waypoint 2011-03-02 17:01:01