iT邦幫忙

2024 iThome 鐵人賽

0
自我挑戰組

AI救我系列 第 31

Day 31 - 科研用Python基礎編程彙整:np, plt and more

  • 分享至 

  • xImage
  •  

今天是這系列最後一篇文,昨天也終於迎來鐵人馬拉松完賽了。

這裏我整理了過去30天,所用到的函數和指令,初學者如果有興趣,可以先從熟練下面內容開始:

numpy (np)

  • pi:圓周率 π 的近似值。
  • array:建立數組(矩陣)的資料結構。
  • dot:計算兩個陣列的點積。
  • diff:計算陣列的差異。
  • linspace:生成指定範圍內的等間距數值。
  • sin:計算角度的正弦值。
  • arcsin:計算反正弦值,返回角度。
  • exp:計算數字的指數值(e^x)。
  • zeros:創建一個全為零的陣列。
  • sqrt:計算平方根。
  • hstack:將陣列水平疊加。
  • roll:滾動陣列中的元素位置。

matplotlib (plt)

  • plot:繪製折線圖。
  • meshgrid:生成網格點矩陣。
  • contourF:繪製等高線填充圖。
  • FuncAnimation:生成動畫,連續繪圖。

其他常用指令

  • append:在列表尾部添加元素。
  • +=:將值加到變量上並賦值。
  • real:取複數的實部。
  • clear:清除列表中的所有元素。
  • save:保存數據到文件。
  • str:將數據轉換為字符串。
  • bin:將整數轉換為二進制字符串。
  • int:將值轉換為整數。
  • len:返回列表或字符串的長度。
  • abs:計算絕對值。

那麼接下來,我想分享過去30天的心得:

  1. Python就是你最靈巧的手:
    這些篇幅內,我最有感覺的應該就是單狹縫一維傅立葉轉換,寫Fraunhofer函數,對每個phase_term做積分。原來Python是真的認真的幫線段依照你給的N去切,在一個個長方形面積算好加起來,這樣來完成我們所謂的積分行為。
    不禁想,微分和其他∑ 什麼的也都可以很直觀地定義,一一計算求出所要的值——也就是說,Python幫你雙手的極限擴展到無限,一千筆資料一萬筆資料,只要你的電腦跑得動,Python就可以無限近似。
    太美好了!
    不過,過去30天內容大多是很直接的去定義計算,其實很多函數,像是快速傅立葉變換,np早就幫你定義好了,有興趣的人可以去了解np.fft和np.fftshift。

  2. Python為你的腦開了科學之眼:
    本來在學光學現象時,就很常需要去配圖了解,才會有個感覺。但,把圖和公式連結起來,這中間的過程卻非常痛苦,需要有對數學的一定了解。而當Python作為你的數學之手,又能幫你畫出圖,這簡直像幫你開了眼,或是一條現象畫面和公式之間的快速道路。
    尤其當你可以透過微調參數,直接看到物理現象的變化,彷彿無意間在腦中建模。一個清晰絲滑!

最後我想要分享matplotlib的顏色表:(https://matplotlib.org/stable/gallery/color/named_colors.html)
https://ithelp.ithome.com.tw/upload/images/20241013/201684428LnrMVtIik.png

祝大家在Python中的科研之路,多采多姿!

最最最後,再次謝謝謝助教,感謝您課堂上細心教學與無私分享!


上一篇
Day 30 - 阿嬤的遠場繞射:快速圖片傅立葉轉換
系列文
AI救我31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言