999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Python科學計算在大學物理教學中的應用

2023-01-16 11:53:44王明浩
科技風 2023年1期
關鍵詞:可視化案例物理

王明浩

湖北大學物理系 湖北武漢 430062

1 概述

大學物理是大學理工科類學生的基礎必修課程。通過本課程的學習,學生可以了解自然界物質的結構、性質、物質之間的相互作用及其運動的基本規律[1]。良好的科學素養不論是在后續的學習還是未來的工作和生活中,都將會為學生提供幫助,可以說是受益終身[2]。然而,在大學物理的教學中,經常會有學生抱怨物理學太難了。這體現在一方面物理學需要大量的數學知識,而往往由于課程安排的緣故(譬如高等數學和大學物理同時開課),這些所需的數學知識學生尚未學習和掌握;另一方面,物理學自身也存在大量的抽象概念,單純從公式上很難理解其背后的物理圖像[3]。

隨著計算機技術的不斷發展,各類計算軟件層出不窮,這使得人們從繁重的計算任務中解放出來,從而投入更具創新性的活動中。計算軟件的應用十分廣泛,譬如,計算仿真軟件可以仿真各種實驗,而不需要真實地做實驗。這為我們節省了大量的資金和資源[4-5]。科學計算有望為解決大學物理教學中的上述問題提供幫助。

Python是目前最流行的高級程序設計語言之一,因其免費、易學習、可擴展以及豐富的第三方庫等特點,廣泛應用于科學研究中[6]。免費、易學習這兩個特點使其非常適合低年級本科生學習和使用。這將為Python引入大學物理的教學中提供了可能。Python擁有豐富的第三方庫。譬如,SCIPY可以處理最優化、積分、常微分方程求解等;MATPLOTLIB可以繪制各種精美的圖形,可以將計算結果可視化等。Python的這些庫可以幫助學生們有效地解決物理中的各種數學問題;同時,Python提供的諸多工具包可以將結果可視化,這有助于學生更好地理解抽象的物理過程,掌握其背后的物理圖像[7]。最后,在這個過程中,學生將逐漸培養出一種將問題歸結為計算問題,然后利用計算機進行求解的計算思維。新工科環境下,這種全新的思維方式顯得越來越重要,對學生未來的學習和工作大有裨益[8]。

2 利用Python求解物理中的數學問題

大學物理中的很多問題,學生們在掌握了相應的物理知識之后,通常可以順利地列出相應的等式、方程組或者微分方程。然而,若在講授這些內容時,由于課程安排,學生尚未掌握求解這類問題的數學知識,必然會對物理教學產生影響。這是大學物理教學中普遍存在的現象,是導致學習大學物理困難的主要原因之一。我們發現借助Python科學計算,學生通過調用相關計算包可以容易地求解這類數學問題,這使得學生繞過復雜的數學求解,降低了學習的難度。同時,這也讓學生節省了大量精力,將注意力集中到物理問題本身,從而進一步討論其背后的物理。

這里我們用具體案例,討論Python在求解物理中數學問題的應用。

案例1:物體在黏滯流體中運動會受到流體的阻力作用。當速率不太大時,對于球形的物體,黏滯阻力大小約為Fr=6πηrv,其中r為物體半徑,v為其速率,η為流體的黏度。假設如圖1所示,質量為m半徑為r的球形物體由水面靜止釋放沉入水中,求球體的運動情況[1]。

圖1

本題是典型的運動學問題。按圖1所示,受力分析得小球在水中受到重力G、浮力FB以及阻力Fr共同作用,運動軌跡豎直向下。這里給定小球之后,重力G、浮力FB便確定了,相比較黏滯阻力Fr卻隨小球的運動情況而變化。

G-FB-Fr=ma

(1)

Fr=6πηrv

(2)

(3)

v(t=0)=0

(4)

聯立公式(1)、(2)、(3)和(4),我們有:

(5)

其中F=G-FB,b=6πηr。

大部分同學經過受力分析,利用牛頓定律都可以順利地列出上述方程。然而,數學知識的缺乏使得許多學生止步于此,后續的物理討論更是無法進行下去。這里,我們討論如何使用Python解決這一數學問題。學生只需敲下如下代碼:

1.FROM SYMPY IMPORT * # 從SYMPY包中導入函數

2.T,M,F,B=SYMBOLS('T,M,F,B') # 聲明T,M,F,B為符號

3.V=FUNCTION('V')(T) # 聲明V是關于T的函數

4.RESULT=DSOLVE(F-B * V-V.DIFF(T),ICS={V.SUBS(T,0):0})# 調用DSOLVE函數,求解微分方程。其中方程F-B * V-V.DIFF(T)等于0,表示待求方程,ICS={V.SUBS(T,0):0})表示初始條件V(T=0)=0

5.PRINT(RESULT) # 輸出計算結果

代碼1

便可以得到如下結果:EQ(V(T),(F+EXP(B*(-T/M+LOG(-F)/B)))/B),此即微分方程(5)的解:

案例1是大學物理力學部分非常典型的問題。從該案例可以看出,借助Python科學計算,學生們可以跳過微分方程復雜的求解過程,即使不懂如何求解微分方程,也可以順利得到結果。該方法并不復雜,低年級本科生可以很容易地掌握。這體現了一種非常重要思維——計算思維。學生在借助Python科學計算學習大學物理的同時,也培養和訓練了計算思維。

3 利用Python進行可視化

學習大學物理的另一個困難之處在于有些公式和結果過于抽象。初學者理解起來比較困難。Python科學計算提供了豐富的可視化工具。借助這些工具,學生可以很容易地將抽象的計算結果可視化,從而更容易地理解物理過程和圖像。本小節借助具體的案例,討論如何利用Python完成對物理問題和概念的可視化。

我們首先討論對函數的可視化。

案例2:接著案例1討論,我們已經求得v(t)的具體表達式,但是該表達式代表什么樣的物理過程呢?v-t圖可以幫助我們理解這個物理過程。借助Python,我們可以很容易地得到v-t圖。

1.IMPORT MATPLOTLIB.PYPLOT AS PLT # 導入相關包

2.IMPORT NUMPY AS NP

3.T=NP.LINSPACE(0,60,100) # 離散化時間

4.B_LIST=[0.1,0.2,0.3] # 設定B的可能取值

5.V_LIST=[]

6.FOR B IN B_LIST: # 循環帶入B的值,計算不同時刻得到速度

7.V=1/B *(1-NP.EXP(-B * T))

8.V_LIST.APPEND(V)

9.PLT.PLOT(T,V_LIST[0],LABEL="B=0.1") # 繪圖B=0.1時的V-T圖

10.PLT.PLOT(T,V_LIST[1],LABEL="B=0.2") # 繪圖B=0.2時的V-T圖

11.PLT.PLOT(T,V_LIST[2],LABEL="B=0.3") # 繪圖B=0.3時的V-T圖

12.PLT.XLABEL("T")

13.PLT.YLABEL("V")

14.PLT.LEGEND()

15.PLT.SHOW() # 顯示圖片

代碼2

運行結果為:

圖2 速度隨時間變化曲線

圖2給出了v-t圖。借助這個圖,學生可以清楚地看出速度隨時間的變化趨勢:隨著時間的推移,小球的速度越來越大,但是卻會收斂于某個值;b越小最后的收斂值越大。有了這個結論,不難對其進行物理上的解釋,即隨著小球速度逐漸增大,受到的阻力會隨之增大,當G-FB=Fr時,小球處于受力平衡狀態,根據公式(1),小球加速度為零,速度不再增加;并且b越小,阻力越小,小球最終的速度也就越大;特別的,若b=0,則小球將一直加速下去。借助這個結果,學生們就很容易聯想并理解為什么雨點降落到地面時的速度是有限的了。

大學物理中還有另外一個極為重要的概念——場。但由于其較為抽象,學生理解起來也較為困難。接下來,我們討論Python對場的可視化,從視覺上感受其分布。

案例3:光學是大學物理的重要組成部分,已知雙縫干涉接收屏上光場的強度分布近似為:

(7)

其中I1和I2分別為狹縫1和2到達接收屏上任意一點的光強,λ為波長,d′為接收屏到狹縫的距離,d為狹縫之間的距離。這樣的一個光場是什么樣的分布呢?

為了方便可視化,我們假設I1=I2=1。輸入如下代碼

1.IMPORT NUMPY AS NP # 導入相關包

2.IMPORT MATPLOTLIB.PYPLOT AS PLT

3.X,Y=NP.MESHGRID(NP.LINSPACE(-15,15,100),NP.LINSPACE(-7.5,7.5,100)) # 離散數據點

4.I1=2+2*NP.COS(X) # 輸入場分布

5.I2=2+2*NP.COS(0.5*X)

6.PLT.SUBPLOT(2,1,1)

7.PLT.PCOLORMESH(X,Y,I1) # 繪圖

8.PLT.COLORBAR()

9.PLT.XLABEL("X")

10.PLT.YLABEL("Y")

11.PLT.TITLE("A",LOC='LEFT')

12.PLT.SUBPLOTS_ADJUST(HSPACE=0.5)

13.PLT.SUBPLOT(2,1,2)

14.PLT.PCOLORMESH(X,Y,I2)

15.PLT.COLORBAR()

16.PLT.XLABEL("X")

17.PLT.YLABEL("Y")

18.PLT.TITLE("B",LOC='LEFT')

19.PLT.SHOW()

代碼3

輸出結果為:

圖3 雙縫干涉圖

這里圖3中的圖a對應2πd/d′λ=1,圖b對應2πd/d′λ=0.5。

代碼3看似復雜,實際上核心語句只是4和5行。學生們稍作修改就可以繪出其他光場,不難掌握。學生可以從圖上直接感受到光場分布,并且容易得出結論:圖b和圖a相比,相當于增大λ或者減小d,不論何種,實際效果都增大了條紋間距。

結語

本文討論了Python科學計算在大學物理教學中的應用。Python科學計算的引入首先可以有效地解決本科生數學基礎薄弱的問題,使學生們跳過復雜的數學求解,將精力更多地投入物理問題中,從而降低學習物理的難度,這將極大地維護學生學習物理的興趣。此外,Python眾多的第三方庫可以便捷高效地將函數、場等物理結果可視化。這些豐富的可視化可以有效地幫助學生理解物理概念和物理圖像。當然,我們這里只是列舉了幾個簡單的案例。如果調用更高級的第三方庫,可以繪制更加美觀的圖片,甚至是三維模型。這將進一步為學生提供更多的思考視角和幫助。本文的重點是闡述可視化思想,因此不再過多舉例。最后,學生們在利用Python學習大學物理的同時,還可以早些掌握一門高級計算語言,更重要的是計算思維得到了一定的訓練,這將為后續的學習以及未來的科研打下良好的基礎。

猜你喜歡
可視化案例物理
只因是物理
井岡教育(2022年2期)2022-10-14 03:11:44
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
案例4 奔跑吧,少年!
少先隊活動(2021年2期)2021-03-29 05:40:48
基于CGAL和OpenGL的海底地形三維可視化
處處留心皆物理
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
隨機變量分布及統計案例拔高卷
發生在你我身邊的那些治超案例
中國公路(2017年7期)2017-07-24 13:56:38
三腳插頭上的物理知識
主站蜘蛛池模板: 欧美精品另类| 宅男噜噜噜66国产在线观看| 久久99国产综合精品女同| 国产成本人片免费a∨短片| 激情午夜婷婷| 久久精品国产精品一区二区| 亚洲人成网站观看在线观看| 亚洲日韩精品无码专区97| 中文字幕av无码不卡免费| 亚洲h视频在线| av一区二区三区在线观看| 青青青国产精品国产精品美女| hezyo加勒比一区二区三区| 亚洲人成电影在线播放| 澳门av无码| 九九久久精品免费观看| 日本在线国产| 欧美在线精品怡红院| 亚洲一区二区视频在线观看| 毛片免费高清免费| 97国产成人无码精品久久久| www.日韩三级| 国产精品专区第1页| 91av成人日本不卡三区| 亚洲福利视频网址| 国产白浆在线| 99伊人精品| 青青操视频在线| 真实国产精品vr专区| 亚洲精品无码日韩国产不卡| 女人一级毛片| 精品久久久久久成人AV| 成人噜噜噜视频在线观看| 午夜少妇精品视频小电影| 亚洲精品无码av中文字幕| 久久久久88色偷偷| 青青操国产| 在线观看精品自拍视频| 亚洲国产系列| 亚洲成aⅴ人在线观看| 国产精品19p| 久久精品国产在热久久2019| 国产一区二区三区精品欧美日韩| 亚洲精品天堂在线观看| 91精品啪在线观看国产60岁| 亚洲午夜福利在线| 亚洲二区视频| 婷婷亚洲视频| 99这里只有精品免费视频| 亚洲高清无在码在线无弹窗| 国产啪在线| 国产AV毛片| 国产黄色视频综合| 亚洲人成影视在线观看| 亚洲中文字幕久久无码精品A| 成人欧美日韩| 免费全部高H视频无码无遮掩| 国产精品尹人在线观看| 91视频国产高清| 国产丝袜啪啪| 亚洲综合香蕉| 中文字幕人成人乱码亚洲电影| 国产精品va| 色综合成人| 91精品啪在线观看国产| 色噜噜在线观看| 少妇精品久久久一区二区三区| 幺女国产一级毛片| 国模私拍一区二区| 亚洲欧洲国产成人综合不卡| 午夜日本永久乱码免费播放片| 亚洲人成在线精品| 欧日韩在线不卡视频| 国产成人高清在线精品| 99国产在线视频| 伊人久久久大香线蕉综合直播| 亚洲精品国产首次亮相| 熟女成人国产精品视频| 国产精品女熟高潮视频| 免费高清自慰一区二区三区| 天堂网亚洲系列亚洲系列| 午夜国产精品视频黄|