使用Python進行科學計算_第1頁
使用Python進行科學計算_第2頁
使用Python進行科學計算_第3頁
使用Python進行科學計算_第4頁
使用Python進行科學計算_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、使用Python進行科學計算陳彬為什么選PythonPython簡介Python與科學計算為什么選Python科學計算的基本任務:有效性、高效性選擇何種計算機語言進行科學計算有效性驗證工作?u 易用性u 可讀性u 擴展性為什么選Pythonu Python: 入門容易,學習曲線平滑,且備受歡迎u Python的哲學思想(by Tim Peters) Beautiful is better than ugly. (優雅勝于丑陋) Explicit is better than implicit. (明了勝于晦澀) Simple is better than complex. (簡潔勝于復雜) C

2、omplex is better than complicated. (復雜勝于繁瑣) Readability counts. (可讀性極具價值)Python 是一種優雅、清晰、簡單,極具可讀性的高級計算機程序設計語言。uPython是一個極具包容性和開放性的框架 功能完備,易用的標準庫 活躍、開放的社區 豐富、多樣的第三方開發包 2. Python簡介Python不同于傳統嚴格語法的計算機語言(C,C+,Java等),它的語法較為靈活,更接近于自然語言。Python將許多機器層面上的細節加以隱藏,交給編譯器處理,著重凸顯邏輯層面的編程思考。u變量與數據類型 Python的變量無需聲明 a =

3、 3.14 print a, type(a) 基本數據類型: a = 10# int a = 3.14# float a = True# Boolean a = Hello# string a = 1 + 2j# complex u變量與數據類型 復雜數據類型 d1 = 1, True, hello # list d2 = (2, 3.14, world) # tuple d11 = 1.3 # 賦值 print d20 # 訪問 print d10 : 3 : 2字典(dict), 集合(set)等 u運算符 數學運算符: +, -, *, /, % * 乘方print 2*0.5 條件運算

4、符: =, !=, ,is, is not, in print 3 in 1, 2, 3 邏輯運算符: and, or, not u流程控制 分支控制: if H in Hello:print Y else:print Nu流程控制 循環控制:sum = 0for i in range(1, 101):sum += iprint sumsum , i = 0, 100while i 0:sum += ii = i - 1print sum#include int main() int sum = 0 for (int i = 0; i = 100; i +) sum += i; printf(

5、“%d”, sum);u流程控制 更像一個Pythonista 的循環 L = n * 2 for n in range(10) X = 1, 2, 3, 11, 12, 13, 22, 25, 26 L = sum(n for n in X if n % 2) 循環對象, 迭代器, 循環器等概念u函數 a = 3 b = 4 def square_sum(x, y):#函數定義 c = x* 2 + y * 2d = c * 0.5return c, d#允許多返回值 z, w = square_sum(a, b) #函數調用 print z, w3. Python與科學計算u安裝與環境配置

6、 Python 2.7 或 Python 3.4/downloads 第三方開發包 numpy,scipy, matplotlib,OpenCV 加州大學歐文分校(資源匯編) /gohlke/pythonlibs/3. Python與科學計算u安裝與環境配置 集成開發環境 Python自帶開發環境 IDLE :命令行 JAVA程序員: Eclipse + pydev C/C+程序員 visual studio + PTVS http:/microsoft.github.io

7、/PTVS/u科學計算相關開發包 Numpy 一個基于Python的數值計算包 基礎數據類型為多維數組 主要功能包括:l 數組創建(eye, ones, zeros )l 數組操作 (reshape, resize, split )l 數組元素檢索(all, any, nonzero, where )l 基本數值計算函數 (sin, sum, sqrt )l 基本線性代數函數(dot, transpose, inv )l 基本統計學函數(cov, mean, var )u科學計算相關開發包 sciPy 一個基于numpy的專為科學計算與工程設計的開發包。 目前,它包含的主要子模塊有: l 聚類

8、算法l 快速傅里葉變換l 積分、常微分方程求解l 插值、擬合l 線性代數l 圖像處理l 信號處理l 最優化,求根l 稀疏矩陣l 空間數據結構及算法l 正交距離回歸u科學計算相關開發包 openCV 著名開源圖像處理、計算機視覺函數庫的Python 版本。 matplotlib Python 2D繪圖領域使用最為廣泛的開發包。能使用戶很輕松地將數據圖形化。 其子模塊pylab具有與matlab相似的繪圖命令及相似的參數。u一個簡單的例子 對一張圖片作如下處理: 高斯濾波、銳化、求直方圖、求圖像頻譜u一個簡單的例子u學習資料推薦 1. The Python Tutorial /2/tutorial(英文) http:/ 2. Tentative Numpy Tutorial /Tentative_NumPy_Tutorial(英文) http:/ /20359201?utm_source=tuicool (翻譯)3. Scipy Tutorial /doc/scipy/reference/tutorial/4. Matplotlib http:/matplotlib.o

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論