1 / 9

第九章 數值處理

第九章 數值處理. 9-1 math.h 函式庫 9-2 stdlib.h 函式庫. 第九章 數值處理. C 語言中,有關數學運算的內儲函式大部分是被集中宣告在 math.h 標頭檔中,其中包含指數、三角函數及對數等數學運算,本章將於 9-1 節介紹這些 math.h 函式庫。其次,另一關於數值處理的函式是放在 stdlib.h 標頭檔,例如,亂數產生器函式,將於 9-2 節介紹。. 9-1 math.h 函式庫.

taipa
Download Presentation

第九章 數值處理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第九章 數值處理 • 9-1 math.h 函式庫 • 9-2 stdlib.h函式庫

  2. 第九章 數值處理 C語言中,有關數學運算的內儲函式大部分是被集中宣告在math.h標頭檔中,其中包含指數、三角函數及對數等數學運算,本章將於9-1節介紹這些math.h函式庫。其次,另一關於數值處理的函式是放在stdlib.h標頭檔,例如,亂數產生器函式,將於9-2節介紹。

  3. 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

  4. 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語言的內儲常數 */

  5. 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

  6. 相關知識 --- 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有關。

  7. 範例9-1b 試寫一程式,使用雙迴圈印出如下結果: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 範例9-1c 請寫一個四捨五入程式,其條件如下: 可以輸入一數值。 可以指定小數位數。 例如,1.234,2則結果是1.23。 又例如,12500,-4,則為13000。

  8. 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. 範例9-2b 請寫出一個擲兩顆骰子的程式,並求其和。 範例9-2c 請寫一程式,產生一組1至52的不重複亂數。

More Related