首頁 > 軟體

Python程式碼中的數學之美:數學思維習慣的養成

2021-05-15 22:00:17

數學思維,就是用數學的方法解決問題,就像吃飯用筷子,喝水用杯子,自然又自然。數學思維不是知識的積累,而是一種思維習慣所培養的能力,這種思維習慣往往從解決看似簡單的問題開始。

光頭強將從最簡單的自由落體運動中抽象出數學分析的一般原理,然後用它來回答蝸桿悖論。即使是害怕數學的學生,如果他們能靜下心來,花上十分鐘來閱讀它,他們也一定能欣賞到數學的美和數學分析作為一種工具的力量。

調包俠:使用SciPy模組求解非線性方程

SciPy的優化和根搜尋子模組SciPy。優化是非線性方程的一種解。使用SciPy求解非線性方程要求方程表示為f (x) s 0f (x) s 0f (x) s 0或f (x, y,…)S 0f(x,y,…)=0f(x,y,…)在函數0的形式中,函數f ff是根函數的輻角。

當然,對程式設計感興趣的小夥伴,可以戳連結進行購買,超值價學習程式設計~

如果函數f ff只有一個未知號碼,它被稱為scaldle函數,可以紮根的optimize.root_scalar()函數,或者如果函數f ff包含不止一個未知號碼,它被稱為向量函數,optimize.root()函數可用於根。

為縮放函數取根的函數optimize.root_scalar(),除了傳入的縮放函數的必要參數外,還接受方法(根方法)、括號(根間隔)、fprime(縮放函數是否可導)等參數。在大多數情況下,您只需要給出括號參數。在這個例子中,猜想方程的根是10 410 ^410

4到10 0 50 10'{50}1050之間。

結果顯示,經過32次迭代,root_scalar()返回的方程根為2.688 × 1 0 43 2.688times10^{43}2.688×10 43 ,帶入原方程檢測,誤差為0。也就是說,毛毛蟲最終一定可以追上小明,只是時間有點長,大約需要2.688 × 1 0 43 2.688times10^{43}2.688×10 43秒鐘,相當於8.524 × 1 0 35 8.524times10^{35}8.524×10 35 年。

現在,我們來想象一個問題:固定1m長的橡皮筋一端,小明以1m/s的速度將另一端向前拉。與此同時,一隻毛毛蟲從橡皮筋固定端開始以1釐米/秒的速度追逐小明。假設橡皮筋可以無限均勻地伸展,小明和毛毛蟲就可以一直活下去,那麼,毛毛蟲最終能追上小明嗎?

這就是一個被稱為「蠕蟲悖論」的經典問題,據說是由古希臘數學家埃利亞的芝諾提出的,我對他表示懷疑:4000多年前,古希臘人難道沒有製造出橡皮筋嗎?古希臘的孩子可能會跳到肋骨上,但他們肯定不會跳到橡皮筋上。

關注光頭強,和你分享更多程式設計知識、乾貨。小夥伴們長按點贊按鈕支援一下喔~


IT145.com E-mail:sddin#qq.com