發表文章

免費的數學軟體(MATLAB替代品)

最近因為需要用C#來實作一些基本的矩陣運算功能,所以需要有可以用來驗証我的程式碼是否正確的工具。 提到矩陣運算軟體的話,大家一定都會想到MATLAB。的確,MATLAB算是很多人在使用的一套數學軟體。可惜的是,它是需要付費買版權的。 如果是個人在家裏開發的話,當然就是可以偷偷使用「免費」的版本。不過,因為是在公司開發的,怕會惹來麻煩,無法自行安裝MATLAB。 只好上網找看看有沒有替代品了。沒想到真的讓我找到一個免費的矩陣運算軟體 FreeMat 。沒多久就將它下載下來測試了。 使用上它的畫面編排還真的跟MATLAB蠻像的。所以看起來就格外的熟悉。 而且它是使用QT開發的,所以可以支援各種作業系統。有Windows、Linux、MAC OS等。算是一套不錯的MATLAB替代品。

ln(x) for C#

在C#的Math類別中,並沒有ln(x)的函式。 其實ln(x)就是以指數為底的log()函式啦。 所以要求ln(x)是多少的話,可以用Math.Log( x, Math.E) 來表示。

實作Queue

現在不論使用何種語言,基本的資料結構大都不用再自己動手實作。有可能語言本身就有提供不錯用的資料結構物件,或是多多少少也都可以拿到免費的實作完成版本。 不過,說真的有時你還真的會需要自己去動手實作某種資料結構物件。 最近,我就有一個需求需要自己動手做一個Queue。姑且不論我的需求是什麼,單是要實作一個基本型的Queue就花了我一些時間。主要的問題就在於: 如何判斷Queue是空的,還是滿的:基本上在實作Queue時,一般都是先配置一個固定大小的空間,這空間可能是以陣列的方式實作的。接著就是用兩個指標的代表可放置資料的索引值(TailIndex),以及要取得第一份資料的索引值(HeadIndex)。這兩個索引值在這個固定大小的空間中,基本上就是巡迴使用的。也就是當某個指標移動到所配置空間的結尾時,就要再移到第一個位置,從頭再來。所以有可能HeadIndex會是<TailIndex的。這樣你要如何才能判斷資料是空的,還是滿的呢? 當空間不足時,你如果決定採用自動增加空間的演算法的話,那你要如何配置空間,以及將舊資料移到新的空間呢? 這些問題是我在實作一個Queue時遇到且花了一些時間思考的。雖然,終就是實作出我自己的一個Queue版本,而且也再接續改良出我所需的Queue。但還是覺得自己的實作版本可能有缺陷。 於是就上網查了一下資料,沒想到就查到兩篇看起來像是學術性的文章。一篇是 用陣列來實作Queue ;另一篇是 用linked-list來實作Queue 的。有興趣的人可參考一下囉。

太神奇了吧,可以這樣讓小孩不哭

今天突然在Mobile01上看到的一些文章,其中有個國外在教導 如何讓小孩不哭的方法 。 相當神奇喔,有興趣的人可以去看看。

Ubuntu 9.0.4 在VirtualBox 2.2.4中使用全螢幕

今天在VirtualBox 2.2.4中重新安裝了新版的Ubuntu 9.0.4。 安裝一切還算順利,不過,當我將VirtualBox的視窗放大到全螢幕時,發現Ubuntu並不會跟著放大到全螢幕。於是就上網查詢了一下資料,原來只要再額外安裝Virtual Box的額外套件就可以了。 最近版本的VirtualBox 2.2.4要安裝額外套件的設定也比較簡單了。只要到Virtual Box視窗上方的工具列的「裝置」中,選取最後一個選項「安裝客端額外功能」,此時Virtual Box就會自動將它的ISO檔掛載到您的磁碟機中。 一般來說,Ubuntu應該會自動執行才對。不過,我的狀況是它並沒有自動執行。所以我是開啟這個ISO檔的內容,並手動執行其中的autorun.sh。執行後,它會進行自動化的安裝。安裝完成後,重新啟動,只要變更視窗的大小,Ubuntu的桌面也就會自動跟著變更了。

wicatch免費無線網路

現在離開家中到外面時,如果想要上線的話,不外乎要使用以下幾種方式: WiFi:要收費的,而且只有幾個特定的熱點 店家提供的免費網路:店家有時會提供免費的無線網路供消費者使用,不過,這樣的店家也是可遇不可求。 3G上網:自己申請電信業者的3G上網,只要有信號的地方就可以上網。不過,費用也是不便宜。 除了上述幾種方式之外,最近開始流行一種 wicatch免費無線上網 。 這種方式跟上述第二種的方式差不多,不過店家如果採用wicatch的方式的話,或許還可以從中得到一些回饋金。比自行免費提供要來得更有經濟效益。 wicatch的作法就是店家提供免費的無線上網頻寬,而結合wicatch來提供給使用者。不過使用者必須安裝wicatch的用戶端軟體才能連上無線網路。當然使用上是完全免費的,不過就是用戶端軟體會在使用者的螢幕的某個小區塊,播放一些廣告。而播放廣告的收入則會回饋給店家。 目前加入wicatch的店家其實還不多,大都是集中在台大公館附近的咖啡店。 個人覺得這樣的作法應該可以使提供無線上網頻寬的店家再多出一些額外的收入,未來應該也可以支撐提供無線上網頻寬的費用,強化服務。這樣總比完全免費提供要來得更有經濟效益吧。

A股、B股、H股

一開始有點搞不懂這些股,正好看到一份資料,就寫下來當作筆記囉。 A股:以人民幣計價,針對中國公民發行且在中國境內上市的股票;簡單說,就是大陸人民才能買的股票 B股:以美元、港幣計價,針對境外投資者發行且在中國境內上市的股票;簡單說,就是讓外國投資者買的中國股票。 H股:以港幣計價,在香港發行並上市的中國境內企業股票。