第十二章 常用的數學函數. 數字函數 此類函數主要是一些常用的數學函數 定義在 標頭檔 C 提供之數學函數 pow(), sqrt(), exp() log(), log10() ceil(), floor() fabs(), ldexp() fmod(), modf()

Slides:



Advertisements
Similar presentations
1 生物計算期末作業 暨南大學資訊工程系 2003/05/13. 2 compare f1 f2  只比較兩個檔案 f1 與 f2 ,比完後將結果輸出。 compare directory  以兩兩比對的方式,比對一個目錄下所有檔案的相 似程度。  將相似度很高的檔案做成報表輸出,報表中至少要.
Advertisements

Divide-and-Conquer. 什麼是 divide-and-conquer ? Divide 就是把問題分割 Conquer 則是把答案結合起來.
6-1 指標簡介 6-2 指標與陣列 6-3 動態配置記憶體 6-4 本章綜合練習
布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
第七章 抽樣與抽樣分配 蒐集統計資料最常見的方式是抽查。這 牽涉到兩個問題: 抽出的樣本是否具有代表性?是否能反應出母體的特徵?
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
Reference, primitive, call by XXX 必也正名乎 誌謝 : 部份文字取於前輩 TAHO 的文章.
如何將數字變成可用之資訊 現代化資料處理與應用概念. 如何將數字變成可用之資訊 人最容易接受的訊息是圖像化資訊。 在一堆數字中,要進行比較分析,一般會使用表格形 式計算與分析。 所以一般我們會將數字依關聯性, 轉換成表格計算與分析。 此表格一般稱試算表或稱表格。 再將結果轉換為圖表,進行比較與分析。
指導教授:陳淑媛 學生:李宗叡 李卿輔.  利用下列三種方法 (Edge Detection 、 Local Binary Pattern 、 Structured Local Edge Pattern) 來判斷是否為場景變換,以方便使用者來 找出所要的片段。
1.1 線性方程式系統簡介 1.2 高斯消去法與高斯-喬登消去法 1.3 線性方程式系統的應用(-Skip-)
1 Web of Science 利用指引 單元二 瀏覽與處理查詢結果. 2 瀏覽檢索結果 查出的結果,預設以時間排列, 使用者可改變結果的排列方式: 還可以依被引用次數、相關度、 第一作者、刊名、出版年等排序 回到前先查的結果畫面 點選想看資料的完整書目 本館訂購範圍的期刊 全文,便可直接連結.
亂數產生器安全性評估 之統計測試 SEC HW7 姓名:翁玉芬 學號:
Review of Chapter 3 - 已學過的 rules( 回顧 )- 朝陽科技大學 資訊管理系 李麗華 教授.
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
JAVA 程式設計與資料結構 第二章 JAVA 程式基本概念及操作. 第一個程式 /* * 這是第一個程式 (FirstP.java) */ class FirstP{ public static void main(String args[]){ System.out.println("Whatever.
第 13 章 常數、靜態成員與朋友關 係 13-1 常數物件與成員 13-1 常數物件與成員 13-2 物件成員與巢狀類別 13-2 物件成員與巢狀類別 13-3 靜態成員資料與函數 13-3 靜態成員資料與函數 13-4 朋友關係 13-4 朋友關係.
第一章 信號與系統初論 信號的簡介與DSP的處理方式。 系統特性與穩定性的判定方法。 以MATLAB驗證系統的線性、非時變、因果等特性。
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
MATLAB 程式設計 第 11 章 多維陣列 多維陣列的定義 在 MATLAB 的資料型態中,向量可視為 一維陣列,矩陣可視二維陣列,對於維 度 (Dimensions) 超過 1 的陣列則均可視 為「多維陣列」 (Multidimesional Arrays , 簡稱 N-D Arrays)
第 18 章 名稱空間與例外處理 18-1 名稱空間 18-1 名稱空間 18-2 例外處理 18-2 例外處理.
8.1 何謂高度平衡二元搜尋樹 8.2 高度平衡二元搜尋樹的加入 8.3 高度平衡二元搜尋樹的刪除
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
: The Playboy Chimp ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10611: The Playboy Chimp 解題者:蔡昇宇 解題日期: 2010 年 2 月 28 日 題意:給一已排序的數列 S( 升冪.
信度.
Introduction to Java Programming Lecture 5: Using Java Classes : String & Math Spring 2009.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
第五章 函數與儲存類別. 函數 函數為完成某一次特定任務或工作的小程式 函數的類型 庫存函數 (library functions) 如: scanf() 、 printf() 函數 … 等 此函數為系統所提供可以直接呼叫使用之 自定函數 (user-define functions) 此函數是使用者自行定義之函數.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
第九章 結構. 結構的宣告 結構 它是由許多不同 ( 或相同 ) 資料型態的變數所組成的 集合,通常利用結構標籤稱呼此集合 struct student { char *name; int score; }; struct 為保留字,表示結構的宣告開始 結構項目需定義於大括號「 { } 」內 結尾需加上分號.
7 陣列與搜尋 7.1 陣列 一般資料變數 宣告一維陣列 起始一維陣列 7-4
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
第十章 再論結構. 指標與結構的關係 /* File name: ex10-1a.c */ #include int main() { struct student { char *name; int score; }; struct student st= {"Brian", 97}; struct.
Fugacity Coefficient and Fugacity
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
資料結構實習-一 參數傳遞.
第六章 陣列.
第十一章 字串與字元庫存函數. 字串庫存函數 定義在 標頭檔中,因此在使用時必須將此 標頭檔包含到程式中 常見的庫存函數 strlen() strcpy() strcat() strcmp() strchr()… 等等.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
函式 Function Part.2 東海大學物理系‧資訊教育 施奇廷. 遞迴( Recursion ) 函式可以「呼叫自己」,這種動作稱為 「遞迴」 此程式的執行結果相當於陷入無窮迴圈, 無法停止(只能按 Ctrl-C ) 這給我們一個暗示:函式的遞迴呼叫可以 達到部分迴圈的效果.
JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case.
資料結構實習-二.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
第 17 章 樣板 17-1 樣板的基礎 17-1 樣板的基礎 17-2 樣板函數 17-2 樣板函數 17-3 樣板類別 17-3 樣板類別 17-4 非型態參數的樣板類別 17-4 非型態參數的樣板類別 17-5 樣板類別的繼承 17-5 樣板類別的繼承 17-6 特化樣板與靜態成員 17-6 特化樣板與靜態成員.
Learning Method in Multilingual Speech Recognition Author : Hui Lin, Li Deng, Jasha Droppo Professor: 陳嘉平 Reporter: 許峰閤.
Chapter 10 m-way 搜尋樹與B-Tree
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
2 C++ 程式概論 2.1 C++ 程式結構 程式註解 // 插入標題檔 #include 2-3
3 數學運算 3.1 鍵盤輸入 鍵盤輸入 輸入函數 cin 輸入函數 cin 多重輸入 cin 多重輸入 cin 輸出格式化 輸出格式化 設定輸出長度 setw.
冷凍空調自動控制 - 系統性能分析 李達生. Focusing here … 概論 自動控制理論發展 自控系統設計實例 Laplace Transform 冷凍空調自動控制 控制系統範例 控制元件作動原理 控制系統除錯 自動控制理論 系統穩定度分析 系統性能分析 PID Controller 自動控制實務.
連續隨機變數 連續變數:時間、分數、重量、……
Miscellanea Switch Bitwise operations ?,. break; continue; (example) (example) do { a = getc(stdin); if (a=='q') break; else if (a=='c') continue; n++;
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
Visual C++重點複習.
資料結構實習-六.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2008.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
第十三章 檔案. 檔案 I/O 的基本觀念 檔案 I/O 的流程 定義指向 FILE 結構的指標 開啟一檔案 呼叫檔案 I/O 庫存函數以進行檔案的處理 關閉檔案 FILE 結構 此結構宣告於 標頭檔中.
數字系統與資料表示法 教師: 陳炯勳 數系轉換 r進制數字 稱為 base r或 radix r 有r個計數符號,計數順序逢r歸零(進位) A n A n - 1 ‥‥A 2 A 1 A 0 ﹒A -1 A -2 ‥‥A -m 其中A n 及A.
Microsoft Excel.
:Problem E.Stone Game ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10165: Problem E.Stone Game 解題者:李濟宇 解題日期: 2006 年 3 月 26 日 題意: Jack 與 Jim.
幼兒行為觀察與記錄 第八章 事件取樣法.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2009.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Presentation transcript:

第十二章 常用的數學函數

數字函數 此類函數主要是一些常用的數學函數 定義在 標頭檔 C 提供之數學函數 pow(), sqrt(), exp() log(), log10() ceil(), floor() fabs(), ldexp() fmod(), modf()

常用的數學函數 pow(x, y) 主要是計算 x 的 y 次方 如: pow(4, 3) 表示計算 4 的 3 次方 當 x = 0 且 y <= 0 ,或者是 x < 0 且 y 不是一整數時, 則表示定義域錯誤,如 pow(0, -2) 或 pow(-2, 2.5) 範例 ex12-1a.c

常用的數學函數 //* File name: ex12-1a.c */ #include int main() { double x, y; printf("Enter x^y: "); scanf("%lf^%lf", &x, &y); printf("Ans is %.2f", pow(x, y)); }

常用的數學函數 sqrt(x) 主要是計算 x 的開根號,其中 x 為 double 型態,且 x>=0 如: sqrt(100) 表示計算 100 開根號 範例 ex12-1b.c

常用的數學函數 /* File name: ex12-1b.c */ #include int main() { double x; printf("Enter a number: "); scanf("%lf", &x); printf("sqrt(%.2f) is %.2f", x, sqrt(x)); }

常用的數學函數 exp(x) 主要是計算指數 e x 如: exp(10) 表示計算 e 10 範例 ex12-1c.c

常用的數學函數 /* File name: ex12-1c.c */ #include int main() { int i; double x; for(i = 0; i <= 10; i++) printf("exp(%2d) = %8.2f\n", i, exp(i)); }

常用的數學函數 log(x) 主要是計算 log e (x) ,其中 x > 0 如: log(10) 表示計算 ln(10) 範例 ex12-1d.c

常用的數學函數 /* File name: ex12-1d.c */ #include int main() { int i; double x; for(i = 10; i <= 100; i += 10) printf("log(%3d) = %.2f\n", i, log(i)); }

常用的數學函數 log10(x) 主要是計算 log10(x) ,其中 x > 0 如: log10(10) 表示計算 log(10) 範例 ex12-1e.c

常用的數學函數 /* File name: ex12-1e.c */ #include int main() { int i; double x; for(i = 10; i <= 100; i += 10) printf("log10(%3d) = %.2f\n", i, log10(i)); }

常用的數學函數 ceil(x) 主要是計算大於等於 x 的最小整數 如: ceil(2.5) 此函數會傳回 3 ceil(-2.5) 此函數會傳回 -2 範例 ex12-1f.c

常用的數學函數 /* File name: ex12-1f.c */ #include int main() { double x; printf("Enter a number: "); scanf("%lf", &x); printf("ceil(%f) = %.2f", x, ceil(x)); }

常用的數學函數 floor(x) 主要是計算小於等於 x 的最大整數 如: floor(2.5) 此函數會傳回 2 floor(-2.5) 此函數會傳回 -3 範例 ex12-1g.c

常用的數學函數 /* File name: ex12-1g.c */ #include int main() { double x; printf("Enter a number: "); scanf("%lf", &x); printf("floor(%f) = %.2f", x, floor(x)); }

常用的數學函數 fabs(x) 主要是計算 x 的絕對值 如: fabs(-2.5) 此函數會傳回 2.5 範例 ex12-1h.c

常用的數學函數 /* File name: ex12-1h.c */ #include int main() { double x; printf("Enter a number: "); scanf("%lf", &x); printf("|%f| = %.2f", x, fabs(x)); }

常用的數學函數 ldexp(x, y) 主要是計算 x * 2 y 如: ldexp(4, 2) 表示計算 4 * 2 2 = 16 範例 ex12-1i.c

常用的數學函數 /* File name: ex12-1i.c */ #include int main() { double x = 10; int y = 3; printf("ldexp(%.2f, %d) = %.2f\n", x, y, ldexp(x, y)); }

常用的數學函數 fmod(x, y) 主要是計算 x / y 的餘數,所得結果與 x 同號;若 y 為 0 ,則結果為 0 如: fmod(3, 2) = 1 fmod(-3, 2) = -1 範例 ex12-1j.c

常用的數學函數 /* File name: ex12-1j.c */ #include int main() { double x, y; printf("Enter x/y: "); scanf("%lf/%lf", &x, &y); printf("fmod(%f, %f) = %f", x, y, fmod(x, y)); }

常用的數學函數 modf(x, double *ip) 主要是將 x 劃分為整數部份與小數部份,此兩部份 與 x 同號; modf 函數將整數部份存於 *ip ,並傳回小 數部份 如: y = modf( , &ip) 表示將 123 存於 ip ,並傳回 儲存於 y 範例 ex12-1k.c

常用的數學函數 /* File name: ex12-1k.c */ #include int main() { double x, y, ip; printf("Enter a double number: "); scanf("%lf", &x); y = modf(x, &ip); printf("y = %f\n", y); printf("ip = %.0f\n", ip); }

亂數相關函數 此類函數在於產生亂數之用 定義在 標頭檔 常見的亂數函數 rand() srand()

亂數相關函數 rand 函數 此函數相當於一亂數產生器,函數執行後會傳回一 個介於 0~32767 間的整數 範例 ex12-2a.c

亂數相關函數 /* File name: ex12-2a.c */ #include int main(void) { int i; puts(" >"); for(i = 0; i < 10; i++) printf("%d\n", rand()); }

亂數相關函數 srand 函數 此函數用以重設 rand 函數執行時所需之亂數種子 範例 ex12-2c.c

srand 函數 /* File name: ex12-2c.c */ #include int main(void) { int i, seed; printf("Please enter a new seed..."); scanf("%d", &seed); srand(seed); puts(" >"); for(i = 0; i < 10; i++) printf("%d\n", rand()); }

資料型態轉換函數 此類函數是將某一型態的資料轉變為另一型態,如: 字串 -> 整數、字串 -> 浮點數、整數 -> 字串 … 等 定義在 標頭檔 常見的資料型態轉換函數 atoi() atof() Itoa()

資料型態轉換函數 atoi 函數 此函數可將字串轉換為整數型態的資料 其語法如下: y = atoi(string); 此函數會將字串 string 轉換為整數後傳回,並儲存於 整數型態變數 y 範例 ex12-3a.c

資料型態轉換函數 /* File name: 12-3a.c */ #include int main() { char string[10]; int result; printf("Enter a string: "); gets(string); result = atoi(string); printf("After atoi transfer: %d\n", result); }

資料型態轉換函數 atof 函數 此函數可將字串轉換為浮點數型態的資料 其語法如下: y = atof(string); 此函數會將字串 string 轉換為 double 型態的浮點數後 傳回,其轉換工作會一直持續到遇見一個無法處理 的字元為止 範例 ex12-3b.c

資料型態轉換函數 /* File name: ex12-3b.c */ #include int main() { char string[10]; double result; printf("Enter a string: "); gets(string); result = atof(string); printf("After atof transfer: %lf\n", result); }

資料型態轉換函數 itoa 函數 此函數可將整數轉換為字串型態的資料 其語法如下: y = itoa(x, &string, radix); 此函數需要三個參數, x 是待轉換的整數; string 會 存放轉換後的結果; radix 可做為數字系統的底數, 其範圍介於 2~36 範例 ex12-3c.c

資料型態轉換函數 /* File name: 12-3c.c */ #include void main(void) { char string[20]; int x, radix; printf("Enter a number: "); scanf("%d", &x); printf("Select radix: "); scanf("%d", &radix); itoa(x, string, radix); printf("After transfer: %s\n", string); }