Python科學計算

Python科學計算 pdf epub mobi txt 電子書 下載2025

出版者:清華大學齣版社
作者:張若愚
出品人:
頁數:621
译者:
出版時間:2012-1
價格:98.00元
裝幀:平裝
isbn號碼:9787302273608
叢書系列:
圖書標籤:
  • python
  • 科學計算
  • 編程
  • Python
  • 計算機
  • 算法
  • Programming
  • 編程語言
  • Python
  • 科學計算
  • 編程
  • 數據處理
  • 數值計算
  • 機器學習
  • 數學建模
  • 算法
  • 數據分析
  • 可視化
想要找書就要到 本本書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

本書介紹如何用Python開發科學計算的應用程序,除瞭介紹數值計算之外,還著重介紹如何製作交互式的2D、3D圖像,如何設計精巧的程序界麵,如何與C語言編寫的高速計算程序結閤,如何編寫聲音、圖像處理算法等內容。書中涉及的Python擴展庫包括NumPy、SciPy、SymPy、matplotlib、Traits、TraitsUI、Chaco、TVTK、Mayavi、VPython、OpenCV等,涉及的應用領域包括數值運算、符號運算、二維圖錶、三維數據可視化、三維動畫演示、圖像處理以及界麵設計等。

書中以大量實例引導讀者逐步深入學習,每個實例程序都有詳盡的解釋,並都能在本書推薦的運行環境中正常運行。此外,本書附有大量的圖錶和插圖,力求減少長篇的理論介紹和公式推導,以便讀者通過實例和數據學習並掌握理論知識。

作者簡介

張若愚,畢業於華中理工大學(現華中科技大學)通信工程專業,2004年獲日本姬路工業大學(現兵庫縣立大學)碩士學位。畢業後於日本神戶製鋼綜閤研究所從事研究開發工作至今,研究方嚮為:嵌入式DSP信號處理係統開發,嵌入式MCU控製係統開發,工業控製軟件開發,信號處理、數據處理以及生産係統的計算機模擬。在工作中他積極采用Python作為主要編程語言,在數據處理、信號分析、工業控製、算法模擬等領域取得瞭較好的研究成果。已完成的研究課題有:嵌入式聲音分離係統、車載音響設備、超聲波探傷係統、壓縮機係統的數字模擬等。

目錄資訊

目 錄
第1章 軟件包的安裝和介紹 ....................1
1.1 Python簡介 ......................................1
1.2 安裝軟件包 ......................................2
1.2.1 Python(x,y)..................................... 2
1.2.2 Enthought Python Distribution (EPD) ............................................. 3
1.3 方便的開發工具 ..............................3
1.3.1 IPython ........................................... 4
1.3.2 Spyder ............................................ 8
1.3.3 Wing IDE 101 .............................. 12
1.4 函數庫介紹 ....................................13
1.4.1 數值計算庫 ................................. 13
1.4.2 符號計算庫 ................................. 14
1.4.3 界麵設計 ..................................... 14
1.4.4 繪圖與可視化 ............................. 14
1.4.5 圖像處理和計算機視覺 .............. 15
第2章 NumPy——快速處理數據 .......... 16
2.1 ndarray對象 ...................................16
2.1.1 創建數組 ..................................... 16
2.1.2 存取元素 ..................................... 21
2.1.3 多維數組 ..................................... 24
2.1.4 結構數組 ..................................... 29
2.1.5 內存結構 ..................................... 32
2.2 ufunc運算 ......................................35
2.2.1 四則運算 ..................................... 37
2.2.2 比較和布爾運算 ......................... 39
2.2.3 自定義ufunc函數 ...................... 40
2.2.4 廣播 ............................................. 42
2.2.5 ufunc函數的方法 ....................... 46
2.3 多維數組的下標存取 ....................48
2.3.1 下標對象 ..................................... 48
2.3.2 整數數組作為下標 ..................... 49
2.3.3 一個復雜的例子 ......................... 51
2.3.4 布爾數組作為下標 ..................... 53
2.4 龐大的函數庫 ............................... 54
2.4.1 求和、平均值、方差 ................. 54
2.4.2 最值和排序 ................................. 55
2.4.3 多項式函數 ................................. 57
2.4.4 分段函數 ..................................... 60
2.4.5 統計函數 ..................................... 62
2.5 綫性代數 ....................................... 65
2.5.1 各種乘積運算 ............................. 65
2.5.2 解綫性方程組 ............................. 67
2.6 掩碼數組 ....................................... 69
2.7 文件存取 ....................................... 72
2.8 內存映射數組 ............................... 75
第3章 SciPy——數值計算庫 ................. 79
3.1 常數和特殊函數 ........................... 79
3.2 優化——optimize .......................... 81
3.2.1 最小二乘擬閤 ............................. 81
3.2.2 函數最小值 ................................. 84
3.2.3 非綫性方程組求解 ..................... 86
3.3 插值——interpolate ....................... 88
3.3.1 B樣條麯綫插值 .......................... 88
3.3.2 外推和Spline擬閤 ..................... 90
3.3.3 二維插值 ..................................... 91
3.4 數值積分——integrate .................. 93
3.4.1 球的體積 ..................................... 93
3.4.2 解常微分方程組 ......................... 95
3.5 信號處理——signal ....................... 97
VIII
Python 科學計算
目 錄
3.5.1 中值濾波 ..................................... 97
3.5.2 濾波器設計 ................................. 98
3.6 圖像處理——ndimage .................100
3.6.1 膨脹和腐蝕 ............................... 101
3.6.2 Hit和Miss ................................. 102
3.7 統計——stats ................................105
3.7.1 連續和離散概率分布................ 105
3.7.2 二項、泊鬆、伽瑪分布 ............ 108
3.8 嵌入C語言程序——weave ........112
第4章 SymPy——符號運算好幫手 .... 115
4.1 從例子開始 ..................................115
4.1.1 封麵上的經典公式.................... 115
4.1.2 球體體積 ................................... 117
4.2 數學錶達式 ..................................119
4.2.1 符號 ........................................... 119
4.2.2 數值 ........................................... 121
4.2.3 運算符和函數 ........................... 122
4.3 符號運算 ......................................125
4.3.1 錶達式變換和化簡.................... 125
4.3.2 方程 ........................................... 128
4.3.3 微分 ........................................... 129
4.3.4 微分方程 ................................... 130
4.3.5 積分 ........................................... 131
4.4 其他功能 ......................................133
4.4.1 平麵幾何 ................................... 133
4.4.2 繪圖 ........................................... 135
第5章 matplotlib——繪製精美 的圖錶 ..................................... 139
5.1 快速繪圖 ......................................139
5.1.1 使用pyplot模塊繪圖 ............... 139
5.1.2 以麵嚮對象方式繪圖................ 142
5.1.3 配置屬性 ................................... 143
5.1.4 繪製多個子圖 ........................... 145
5.1.5 配置文件 ................................... 147
5.1.6 在圖錶中顯示中文.................... 149
5.2 Artist對象 ................................... 152
5.2.1 Artist對象的屬性 ..................... 154
5.2.2 Figure容器 ................................ 155
5.2.3 Axes容器 .................................. 156
5.2.4 Axis容器 ................................... 159
5.2.5 Artist對象的關係 ..................... 163
5.3 坐標變換和注釋 ......................... 164
5.3.1 4種坐標係 ................................ 167
5.3.2 坐標變換的步驟 ....................... 169
5.3.3 製作陰影效果 ........................... 173
5.3.4 添加注釋 ................................... 174
5.4 繪圖函數簡介 ............................. 177
5.4.1 對數坐標圖 ............................... 177
5.4.2 極坐標圖 ................................... 178
5.4.3 柱狀圖 ....................................... 179
5.4.4 散列圖 ....................................... 180
5.4.5 圖像 ........................................... 181
5.4.6 等值綫圖 ................................... 184
5.4.7 三維繪圖 ................................... 187
第6章 Traits——為Python添加類型 定義 ......................................... 190
6.1 開發背景 ..................................... 190
6.2 Trait屬性的功能 ......................... 192
6.3 Trait類型對象 ............................. 196
6.4 Trait的元數據 ............................. 198
6.5 預定義的Trait類型 .................... 200
6.6 Property屬性 ............................... 204
6.7 Trait屬性監聽 ............................. 206
6.8 Event和Button屬性 .................. 210
6.9 Trait屬性的從屬關係 ................. 211
6.10 動態添加Trait屬性 .................. 213
6.11 創建自己的Trait類型 .............. 215
6.11.1 從TraitType繼承 ................. 215
6.11.2 使用Trait() ............................ 217
6.11.3 定義TraitHandler類 ............. 219
IX


第7章 TraitsUI——輕鬆製作用戶 界麵 ......................................... 221
7.1 默認界麵 ......................................221
7.2 用View定義界麵 ........................222
7.2.1 外部視圖和內部視圖................ 222
7.2.2 多模型視圖 ............................... 226
7.2.3 Group對象 ................................ 228
7.2.4 配置視圖 ................................... 231
7.3 用Handler控製界麵和模型 .......232
7.3.1 用Handler處理事件 ................. 233
7.3.2 Controller和UIInfo對象.......... 237
7.3.3 響應Trait屬性的事件 .............. 238
7.4 屬性編輯器 ..................................240
7.4.1 編輯器演示程序 ....................... 241
7.4.2 對象編輯器 ............................... 243
7.4.3 字符串列錶編輯器.................... 248
7.4.4 對象列錶編輯器 ....................... 250
7.5 菜單、工具條和狀態欄 ..............252
7.6 設計自己的編輯器 ......................255
7.6.1 Trait編輯器的工作原理 ........... 255
7.6.2 製作matplotlib的編輯器 ......... 259
7.6.3 CSV數據繪圖工具 ................... 262
第8章 Chaco——交互式圖錶 ............. 264
8.1 麵嚮腳本繪圖 ..............................264
8.2 麵嚮應用繪圖 ..............................265
8.2.1 多條麯綫 ................................... 267
8.2.2 Plot對象的結構 ........................ 271
8.2.3 編輯繪圖屬性 ........................... 275
8.2.4 容器(Container) ......................... 276
8.3 添加交互工具 ..............................279
8.3.1 平移和縮放 ............................... 279
8.3.2 選取範圍 ................................... 282
8.3.3 選取數據點 ............................... 284
8.3.4 套索工具 ................................... 287
8.4 二次開發 ......................................289
8.4.1 用Kiva庫在數組上繪圖 .......... 290
8.4.2 Enable庫的組件 ....................... 292
8.4.3 設計圓形選擇工具 ................... 297
8.4.4 製作動畫演示 ........................... 301
第9章 TVTK——數據的三維可視化 .... 303
9.1 流水綫(Pipeline) .......................... 304
9.1.1 顯示圓錐 ................................... 304
9.1.2 用ivtk觀察流水綫 ................... 307
9.2 數據集(Dataset) ........................... 313
9.2.1 ImageData .................................. 313
9.2.2 RectilinearGrid ........................... 318
9.2.3 StructuredGrid............................ 319
9.2.4 PolyData .................................... 321
9.3 可視化實例 ................................. 324
9.3.1 切麵 ........................................... 325
9.3.2 等值麵 ....................................... 330
9.3.3 流綫 ........................................... 333
9.4 TVTK的改進 .............................. 337
9.4.1 TVTK的基本用法 .................... 338
9.4.2 Trait屬性 ................................... 339
9.4.3 序列化(Pickling) ........................ 339
9.4.4 集閤迭代 ................................... 340
9.4.5 數組操作 ................................... 341
第10章 Mayavi——更方便的可視化 .... 343
10.1 用mlab快速繪圖 ..................... 343
10.1.1 點和綫 ................................... 343
10.1.2 Mayavi的流水綫 .................. 345
10.1.3 二維圖像的可視化 ............... 348
10.1.4 網格麵 ................................... 352
10.1.5 修改和控製流水綫 ............... 356
10.1.6 標量場 ................................... 358
10.1.7 矢量場 ................................... 361
10.2 Mayavi和TVTK之間 的關係 ....................................... 363
10.2.1 顯示TVTK流水綫 .............. 363
10.2.2 兩條流水綫之間的關係 ....... 365
X
Python 科學計算
目 錄
10.3 Mayavi應用程序 .......................367
10.3.1 操作流水綫 ........................... 368
10.3.2 命令行和對象瀏覽器 ........... 371
10.4 將Mayavi嵌入到界麵中 ..........374
第11章 VPython——製作3D演示 動畫 ...................................... 378
11.1 場景、物體和照相機 ................378
11.1.1 控製場景窗口 ....................... 380
11.1.2 控製照相機 ........................... 383
11.1.3 模型的屬性 ........................... 384
11.1.4 三維模型 ............................... 387
11.2 製作動畫演示 ............................390
11.2.1 簡單動畫 ............................... 390
11.2.2 盒子中反彈的球 ................... 391
11.3 與場景交互 ................................393
11.3.1 響應鍵盤事件 ....................... 394
11.3.2 響應鼠標事件 ....................... 394
11.4 用界麵控製場景 ........................397
11.5 創建復雜模型 ............................400
11.5.1 faces()的用法 ........................ 400
11.5.2 讀入模型數據 ....................... 402
第12章 OpenCV——圖像處理和計算機 視覺 ...................................... 408
12.1 存儲圖像數據的Mat對象 ........409
12.1.1 Mat對象和NumPy數組 ..... 410
12.1.2 像素點類型 ........................... 414
12.1.3 其他數據類型 ....................... 415
12.1.4 Vector類型 ........................... 417
12.1.5 在圖像上繪圖 ....................... 418
12.2 圖像處理 ....................................421
12.2.1 二維捲積 ............................... 421
12.2.2 形態學運算 ........................... 424
12.2.3 填充——floodFill .................. 426
12.2.4 去瑕疵——inpaint ................. 427
12.3 圖像變換 ....................................428
12.3.1 幾何變換 ............................... 428
12.3.2 重映射——remap .................. 430
12.3.3 直方圖統計 ........................... 433
12.3.4 二維離散傅立葉變換 ........... 437
12.4 圖像識彆 ................................... 440
12.4.1 用霍夫變換檢測直綫 和圓 ....................................... 440
12.4.2 圖像分割 ............................... 444
12.4.3 用SURF進行特徵匹配 ....... 450
第13章 數據和文件 ............................ 453
13.1 聲音的輸入輸齣 ....................... 453
13.1.1 讀寫WAV文件 ................... 453
13.1.2 用pyAudio播放和錄音 ....... 456
13.2 視頻的輸入輸齣 ....................... 459
13.2.1 讀寫視頻文件 ....................... 459
13.2.2 安裝視頻編碼 ....................... 464
13.3 讀寫HDF5文件 ....................... 465
13.4 讀寫Excel文件 ........................ 469
13.4.1 寫Excel文件 ........................ 469
13.4.2 讀Excel文件 ........................ 471
第14章 數字信號係統 ......................... 473
14.1 FIR和IIR濾波器 ..................... 473
14.2 FIR濾波器設計 ........................ 477
14.2.1 用firwin()設計濾波器 .......... 479
14.2.2 用remez()設計濾波器 .......... 481
14.2.3 濾波器的級聯 ....................... 483
14.3 IIR濾波器設計 ......................... 485
14.3.1 巴特沃斯低通濾波器 ........... 485
14.3.2 雙綫性變換 ........................... 487
14.3.3 濾波器的頻帶轉換 ............... 490
14.4 數字濾波器的頻率響應 ........... 494
14.5 二次均衡濾波器設計工具 ....... 497
14.6 零相位濾波器 ........................... 500
14.7 重取樣 ....................................... 501
XI


第15章 頻域信號處理 ........................ 505
15.1 FFT演示程序 ............................505
15.1.1 FFT知識復習 ....................... 505
15.1.2 閤成時域信號 ....................... 509
15.1.3 三角波FFT演示程序 .......... 511
15.2 觀察信號的頻譜 ........................512
15.2.1 窗函數 ................................... 515
15.2.2 頻譜平均 ............................... 517
15.2.3 譜圖 ....................................... 519
15.3 捲積運算 ....................................522
15.3.1 快速捲積 ............................... 522
15.3.2 分段運算 ............................... 524
15.4 信號處理 ....................................526
15.4.1 基本框架 ............................... 527
15.4.2 頻域濾波器 ........................... 528
15.4.3 頻率變調處理 ....................... 530
15.4.4 用譜圖差減法降噪 ............... 531
15.5 Hilbert變換 ................................532
第16章 用C語言提高計算效率 ......... 537
16.1 用ctypes調用DLL庫 ..............537
16.2 用Weave嵌入C++程序 ...........541
16.2.1 Weave的工作原理 ............... 541
16.2.2 處理NumPy數組 ................. 543
16.2.3 使用blitz()提速..................... 546
16.2.4 擴展模塊 ............................... 548
16.3 用Cython將Python編譯 成C ............................................549
16.3.1 編譯Cython程序 ................. 549
16.3.2 提高計算效率 ....................... 550
16.3.3 快速訪問NumPy數組 ......... 553
16.4 用SWIG創建擴展模塊 ............555
16.4.1 SWIG的調用方法 和實例 .................................. 555
16.4.2 SWIG基礎 ............................ 558
16.4.3 SWIG處理NumPy數組 ...... 566
第17章 自適應濾波器 ......................... 571
17.1 自適應濾波器簡介 ................... 571
17.1.1 係統識彆 ............................... 571
17.1.2 信號預測 ............................... 572
17.1.3 信號均衡 ............................... 572
17.2 NLMS計算公式 ....................... 573
17.3 用NumPy實現NLMS算法 .... 575
17.3.1 係統辨識模擬 ....................... 577
17.3.2 信號均衡模擬 ....................... 579
17.3.3 捲積逆運算 ........................... 581
17.4 用C語言加速NLMS運算...... 583
17.4.1 用SWIG編寫擴展模塊 ....... 583
17.4.2 用Weave嵌入C++程序 ...... 586
第18章 單擺和雙擺模擬 ..................... 588
18.1 單擺模擬 ................................... 588
18.1.1 小角度時的擺動周期 ........... 589
18.1.2 大角度時的擺動周期 ........... 590
18.2 雙擺模擬 ................................... 592
18.2.1 公式推導 ............................... 592
18.2.2 微分方程的數值解 ............... 595
18.2.3 動畫演示 ............................... 598
第19章 分形幾何 ................................ 599
19.1 Mandelbrot集閤 ........................ 599
19.1.1 使用NumPy加速計算 ......... 601
19.1.2 使用Weave加速計算 .......... 603
19.1.3 連續的逃逸時間 ................... 604
19.1.4 Mandelbrot演示程序 ........... 605
19.2 迭代函數係統(IFS) ................... 606
19.2.1 二維仿射變換 ....................... 610
19.2.2 迭代函數係統設計器 ........... 610
19.3 L-System分形 ........................... 613
19.4 分形山脈 ................................... 616
19.4.1 一維中點移位法 ................... 616
19.4.2 二維中點移位法 ................... 618
19.4.3 菱形方形算法 ....................... 619
· · · · · · (收起)

讀後感

評分

本書介紹如何用Python開發科學計算的應用程序,除瞭介紹數值計算之外,還著重介紹如何製作交互式的2D、3D圖像,如何設計精巧的程序界麵,如何與C語言編寫的高速計算程序結閤,如何編寫聲音、圖像處理算法等內容。書中涉及的Python擴展庫包括NumPy、SciPy、SymPy、matplotlib、T...

評分

1、這本書在策劃齣版的將近1年時間內,網上持續有部分內容的放送,供讀者參考。使用python進行數值計算的圈子應該還不算大,上述舉措的確鎖定瞭部分讀著,吊足瞭胃口。 2、本數的內容較之前網上的版本,有很大的充實,主要是章節編排上的,之前用附錄型式的這次都以正式章節呈...  

評分

1、這本書在策劃齣版的將近1年時間內,網上持續有部分內容的放送,供讀者參考。使用python進行數值計算的圈子應該還不算大,上述舉措的確鎖定瞭部分讀著,吊足瞭胃口。 2、本數的內容較之前網上的版本,有很大的充實,主要是章節編排上的,之前用附錄型式的這次都以正式章節呈...  

評分

1、這本書在策劃齣版的將近1年時間內,網上持續有部分內容的放送,供讀者參考。使用python進行數值計算的圈子應該還不算大,上述舉措的確鎖定瞭部分讀著,吊足瞭胃口。 2、本數的內容較之前網上的版本,有很大的充實,主要是章節編排上的,之前用附錄型式的這次都以正式章節呈...  

評分

本書介紹如何用Python開發科學計算的應用程序,除瞭介紹數值計算之外,還著重介紹如何製作交互式的2D、3D圖像,如何設計精巧的程序界麵,如何與C語言編寫的高速計算程序結閤,如何編寫聲音、圖像處理算法等內容。書中涉及的Python擴展庫包括NumPy、SciPy、SymPy、matplotlib、T...

用戶評價

评分

有幾個莫名其妙的例子 幾個不知道做什麼用的模塊 堆砌在一起 就成瞭正本毫無章法可言的書 與其說 是書 還不如說是一摞軟件手冊

评分

國內還是有人認真寫書的。Python有一統天下的趨勢。。。

评分

前半部分數值計算挺實用的 後半部分信號處理感覺有些拼湊

评分

越來越沒有耐心來讀這種工具書瞭....不對書的內容做評價,因為這本書本身也許就不是用來讀的....

评分

當時看過電子版的,很詳盡,那會不想用MATLAB瞭因為想搞個開源的替代品,覺得Python不錯 scipy numpy 連OpenCV也有Python藉口,大喜! 後來又不知不覺地迴歸瞭MATLAB 囧。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 onlinetoolsland.com All Rights Reserved. 本本书屋 版权所有