書名: 利用Python解決數學問題(原書第2版)作者名: (英)薩姆·莫利本章字數: 1382字更新時間: 2025-08-07 15:28:31
PREFACE
前言
Python是一種功能強大且靈活的編程語言,學習起來既有趣又簡單。它是許多專業人士和愛好者的首選編程語言。Python的強大之處在于其龐大的軟件包生態系統和友好的社區,以及與編譯擴展模塊無縫通信的能力。這使得Python非常適合解決各種問題,尤其是數學問題。
數學通常與計算和方程相關聯,但實際上,這只是一個更大主題的很小一部分。從本質上講,數學是關于解決問題及其邏輯結構化的方法。一旦你超越了方程、計算、導數和積分,就會發現一個廣闊而優美的結構世界。
本書是使用Python解決數學問題的入門指南。書中將介紹一些基本的數學概念以及如何使用Python處理這些概念,還將提供一些用于解決數學眾多領域內各種數學問題的基本模板。前幾章側重于核心技能,如使用NumPy數組、繪圖、計算微積分和計算概率等。這些主題在整個數學領域中都非常重要,并且是本書其余部分的基礎。在接下來的章節中,我們將討論更多的實際問題,涵蓋數據分析與統計、樹與網絡、回歸與預測、博弈論以及優化等主題。我們希望本書能夠為你解決數學問題提供基礎,并為你進一步探索數學世界提供工具。
目標讀者
本書主要面向那些熟悉Python并且想用Python解決某種數學問題的人。在前幾章中,我們旨在為那些不熟悉基礎知識的讀者簡單介紹一些數學背景知識,但由于篇幅限制,我們只能點到為止。我們會在每一章的末尾提供一些拓展閱讀的建議,以引導你找到可以深入學習的資源。希望本書能夠幫助你著手解決數學問題,并激發你對這些主題背后的數學知識的好奇心。
內容概述
第1章介紹本書后續內容所需的一些基本工具和概念,包括用于數學編程的主要Python包:NumPy和SciPy。
第2章涵蓋使用Matplotlib繪制圖形的基礎知識,這些知識幾乎可以用于解決所有數學問題。
第3章介紹微積分中的主題,如微分和積分,以及一些更高級的主題,如常微分方程和偏微分方程。
第4章介紹隨機性和概率的基本原理,以及如何使用Python探索這些原理。
第5章介紹如何使用NetworkX包在Python中處理樹和網絡(圖)。
第6章會提供多種使用Python處理、操作和分析數據的技術。
第7章描述使用Statsmodels包和scikit-learn進行數據建模和預測未來值的各種技術。
第8章展示如何使用Shapely包在Python中處理幾何對象。
第9章介紹優化和博弈論,利用數學方法尋找問題的最佳解決方案。
第10章涵蓋使用Python解決數學問題時可能遇到的各種情況。
充分利用本書
為了更好地利用本書,你需要掌握Python的基礎知識。我們并不假定你有任何數學知識,不過如果你熟悉一些基本的數學概念,你將能更好地理解我們討論的技術的背景和細節。
你需要使用較新版本的Python,至少是Python 3.6,建議使用更高版本(本書代碼已在Python 3.10上進行了測試,在Python 3.6到Python 3.10的中間版本上應該也能夠正常運行)。你可能更傾向于使用Anaconda這個Python發行版本,它包含了本書所需的許多軟件包和工具。如果是這種情況,你應該使用conda包管理器來安裝這些包。所有主要操作系統——Windows、macOS和Linux,以及許多其他平臺都支持Python。
本書中使用的Python包及其在撰寫代碼時的版本如下:NumPy 1.23.3,SciPy 1.9.1,Matplotlib 3.6.0,Jax 0.3.13(以及jaxlib 0.3.10),Diffrax 0.1.2,PyMC 4.2.2,pandas 1.4.3,Bokeh 2.4.3,NetworkX 3.5.3,scikit-learn 1.1.2,StatsModels 0.13.2,Shapely 1.8.4,NashPy 0.0.35,Pint 0.20.1,Uncertainties 3.1.7,Xarray 2022.11.0,NetCDF4 1.6.1,CartoPy 0.21.0,Cerberus 1.3.4,Cython 0.29.32,Dask 2022.10.2。

你可能更喜歡在Jupyter Notebook中而不是在簡單的Python文件中運行本書中的示例代碼。在本書的某些地方,你可能需要重復執行繪圖命令,因為這些圖不能像當前所示的那樣在后續單元格中得到更新。
下載示例代碼文件
你可以從GitHub下載本書的示例代碼文件,鏈接為https://github.com/PacktPublishing/Applying-Math-with-Python-2nd-Edition。如果代碼有更新,那么GitHub代碼庫中的代碼也將進行更新。
- Cocos2d Cross-Platform Game Development Cookbook(Second Edition)
- Moodle Administration Essentials
- MySQL 8從入門到精通(視頻教學版)
- Visual Basic程序設計(第3版):學習指導與練習
- Practical DevOps
- 名師講壇:Java微服務架構實戰(SpringBoot+SpringCloud+Docker+RabbitMQ)
- SSM輕量級框架應用實戰
- C# 8.0核心技術指南(原書第8版)
- Data Science Algorithms in a Week
- 監控的藝術:云原生時代的監控框架
- ASP.NET Core and Angular 2
- Mastering JavaScript Promises
- R High Performance Programming
- Java Web程序開發參考手冊
- TensorFlow程序設計