public marks

PUBLIC MARKS from YukuanBlog with tag python

2009

The Menu Show

接連多日的年假已接近尾聲,吃吃喝喝之餘,很自然地就想到一個跟吃喝有關的練習。雖然年假前在公司搞的相框產品確實用到各式 UI 選單(menu),但我在這裡要聊的是名副其實的菜單(menu)

2008

The Analog Clock

……秒針急急忙忙的去撥動每一根短棒,使它們產生意義。然後分針慢吞吞的做同樣的事,使那些短棒產生另一種意義。三種針的位置和關係不斷變更,在錶面上切割出許多角來,夾住那不可捉摸的時間。……(摘自作文七巧:P86)

The Fraction from a Decimal

定點數運算常用於 embedded systems 中,因為大部分低階的 MCU (例如: 8051, PIC, AVR 等)開發環境雖提供浮點運算,卻是軟體模擬的,除了慢,還明顯佔用原本就少得可憐的記憶體空間。 C/C 語言雖無定點數運算專用語法,程式員卻可通過手動調整,有效以整數運算完成相同效果。

Two Ways to Solve a Problem

這些年下來,我反覆觀察到一個現象:程式員各有一套慣用的方法來克服自己遭遇到的問題,這些解題習慣可區分成兩種,工程師多只專精其一,只有少數能任意在兩者間自在地切換。

2007

Python 與 CSV

許多資料,像通訊錄或試算表之類的,很適合列表呈現。而 comma-separated values, CSV是微軟牌視窗軟體存放表格資料常用的檔案格式。這種純文字格式的檔案格式是以逗號(comma)來為每筆(record)資料的欄位(field)作分隔。

2006

Analyze the Sunspots

上次以 Python 搭配 matplotlib 改寫張智星老師傅立葉轉換教學例子。後來逛到 Anders Andreasen 的專文,裡面有個分析太陽黑子活動週期的例子,相同的例子竟然也出現在 Mathworks 展示 Matlab FFT 用法的網頁上。既然大家那麼愛用太陽黑子,我也來攪和攪和,再次以 Python 搭配 matplotlib 改寫,以饗各位看官:

FFT in Python

張智星老師的 on-line book《音訊處理與辨識》的〈離散傅立葉轉換〉這個章節,有許多運用快速傅立葉轉換(Fast Fourier transform, FFT)的教學,FFT 其實就是 DFT 的快速算法。張老師是以 Matlab 作為程式範例;實際嘗試後,我發現可以很容易將其轉成 Python code ,

Be Pythonic -- 字正腔圓說 Python

Pythonic 一詞被用來形容合於 Python 慣用法的 code 。Pythonic 的 code 除了讓人們更好理解外,機器執行時,也往往更具效率--語言設計者會絞盡腦汁最佳化語言慣用法的執行效率。這在 Python 這類高階、動態的語言,尤其明顯 :)

Dynamic Plot on Python

之前介紹 Python 在複雜網路模擬實驗的應用時,曾提到用 Matplotlib 來繪製該實驗的圖表。其模仿 Matlab 的繪圖功能,用起來方便,所繪製的圖也在水準之上。有圖有真相,這就秀秀用 Matplotlib 為該實驗繪製的兩張圖表:

Graph-based Modeling on Python

by 1 other
模擬複雜網路,也可以套用 Agent-based modeling 架構。不過諸如網路的群聚度(clustering coefficient, C)及網路特徵的路經長度(characteristic path length, L)等統計數據計算需耗費的時間,隨著網路的規模成長很快,所以不適合運作太頻繁。但我們卻得靠這些統計數據來判斷網路是否收斂、試驗是否該終止了,想試驗各個參數排列組合時,更是雪上加霜。

Boost to Python

前陣子費了番功夫評估一些工具,跑複雜網路的模擬實驗要用的。這些實驗,圖論用得特別兇;會用到許多隨機抽樣的東西;實驗結果、數據,也要以圖表繪出。

YukuanBlog's TAGS related to tag python

BGL +   boost +   complexity +   concept +   cpp +   CSV +   dsp +   embedded +   fft +   font +   graph +   graphics +   imaging +   math +   matlab +   plot +   programming +   pythonic +   scientific +   simulation +   small world +   yaml +