90 likes | 210 Views
第九章 數值處理. 9-1 math.h 函式庫 9-2 stdlib.h 函式庫. 第九章 數值處理. C 語言中,有關數學運算的內儲函式大部分是被集中宣告在 math.h 標頭檔中,其中包含指數、三角函數及對數等數學運算,本章將於 9-1 節介紹這些 math.h 函式庫。其次,另一關於數值處理的函式是放在 stdlib.h 標頭檔,例如,亂數產生器函式,將於 9-2 節介紹。. 9-1 math.h 函式庫.
E N D
第九章 數值處理 • 9-1 math.h 函式庫 • 9-2 stdlib.h函式庫
第九章 數值處理 C語言中,有關數學運算的內儲函式大部分是被集中宣告在math.h標頭檔中,其中包含指數、三角函數及對數等數學運算,本章將於9-1節介紹這些math.h函式庫。其次,另一關於數值處理的函式是放在stdlib.h標頭檔,例如,亂數產生器函式,將於9-2節介紹。
9-1 math.h 函式庫 在C語言中,大部分的數學運算函式都已被宣告於math.h中,使用者在撰寫程式時,僅須在程式開頭以 #include <math.h>方式將此函式庫加入即可。 常用的數值函式介紹如下: 1. abs :傳回x的絕對值。 例如:1. abs(-3)= 3 2. abs( 4)= 4 2. ceil :傳回大於等於 x的最小整數。 例如:1. ceil(2.5)= 2.0 2. ceil(- 2.5)= -2.0 3. floor :傳回小於等於x的最大整數。 例如:1. floor(2.5)= 2.0 2. floor( -2.5)= -3.0 4. pow:傳回xy值。 例如:pow(2, 3)= 8.0
5. sqrt :傳回 x 的值。 例如:sqrt(4)= 2.0 6. sin、cos、tan : 1.傳回三角函數值。 2. x的單位為弳度量(弧度),弳度量與角度量的關係為 弳度量=角度量 × ( 3.14159) 180 30o = 0.5235987 6 例如:sin(M_PI/6)= 0.5 /* M_PI為C語言的內儲常數 */
asin、acos、atan: 1. 傳回反三角函數值。 2. asin與acos的x範圍為 -1≦x≦1,若超出此範圍,將出現錯誤訊息。 例如:asin(M_PI/6)= 0.551 8. atan2:將直角座標化為極座標其中(r,)的,其中= atan(y/x)。 例如:atan2(3, 4)*180/M_PI 結果:36.8(度) 9. exp:傳回ex值。 例如:exp(0)= 1 10. log:傳回ln(x)值。 例如:log(10)= 2.3
相關知識 --- e= 2.718的由來嗎? 1. 假設借款金額為一元,言明年利率為100%,每年複利一次,則一年後本利和為2元。 1×(1+1)1= 2 2. 假設借款金額為一元,言明年利率為100%,每月複利一次,則一年後本利和為2.613。 1 1×(1+ )12= 2.613 12 3. 假設借款金額為一元,言明年利率為100%,每日複利一次,則一年後本利和為2.714。 1 1×(1+ )365= 2.714 365 4. 假設借款金額為一元,言明年利率為100%,每秒複利一次,則一年後本利和為2.718。 1 1×(1+ )365×24×60×60 = 2.718 365×24×60×60 5. 細菌的繁殖,也是與e有關。
範例9-1b 試寫一程式,使用雙迴圈印出如下結果: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 範例9-1c 請寫一個四捨五入程式,其條件如下: 可以輸入一數值。 可以指定小數位數。 例如,1.234,2則結果是1.23。 又例如,12500,-4,則為13000。
9-2 stdlib.h函式庫 大部分的數值運算函式及常數,雖然都已在math.h中宣告,但在stdlib.h 中仍有些實用的函式可供我們運用,例如亂數產生器、求二數最大值及 最小值等。 1. rand: int rand (void);產生大於等於0且小於32767隨機亂數。 2. randomize:randomize ( );以系統時間為亂數種子來產生隨機亂數。 3. RAND_MAX:取得亂數最大值32767。 4. min:min(a, b);傳回二數值中較小者。 5. max:max(a,b); 傳回二數值中較大者。
範例9-2b 請寫出一個擲兩顆骰子的程式,並求其和。 範例9-2c 請寫一程式,產生一組1至52的不重複亂數。