這一陣子比較常使用QtOctave
但發現一個問題
一些matlab中常用的到最佳化function都沒辨法使用
查了一下網路,原來在Octave中並沒有像fzero之類的function
需要引入Octave-Forge的package才能使用fzero的function
不過查了一下QtOctave的資料夾.\octave\share\octave\packages\optim-1.0.0
中就已經有包含了Octave-Forge的package了丫
進一步查詢,原來是在QtOctave中所附的Octave3是使用一個叫octave_packages的檔案
來管理外加的package的
由它裡面的內容可以得知,其使用「絕對位置」的方式記載package的位置:
-------------------octave_packages的部份內容------------------
C:\Archivos de programa\Octave\libexec\octave\packages\arpack-1.0.3
-------------------
但也不能自己更新吧…(顯示出自己對Octave的不了解…)
因此上網找到這個方式來更新
只要使用下面的指令即可:
(看來要先對Octave做一點了解才會更強丫…)
(但國內為何沒有人寫呢…真怪)
--------------更新的指令-----------pkg prefix D:\tool\qtoctave-0.7.2\octave\share\octave\packages\
pkg rebuild arpack
pkg rebuild audio
pkg rebuild combinatorics
pkg rebuild communications
pkg rebuild control
pkg rebuild econometrics
pkg rebuild fixed
pkg rebuild general
pkg rebuild gsl
pkg rebuild ident
pkg rebuild image
pkg rebuild informationtheory
pkg rebuild io
pkg rebuild irsa
pkg rebuild java
pkg rebuild jhandles
pkg rebuild linear-algebra
pkg rebuild miscellaneous
pkg rebuild nnet
pkg rebuild octcdf
pkg rebuild odebvp
pkg rebuild odepkg
pkg rebuild optim
pkg rebuild outliers
pkg rebuild physicalconstants
pkg rebuild plot
pkg rebuild signal
pkg rebuild sockets
pkg rebuild specfun
pkg rebuild special-matrix
pkg rebuild splines
pkg rebuild statistics
pkg rebuild strings
pkg rebuild struct
pkg rebuild symbolic
pkg rebuild time
pkg rebuild windows
#
pkg load all
----------------更新結束------------
8.10.2009
QtOctave 使用Octave-Forge package的設定方式
1.27.2009
Octave-畫出ODE解的圖
目前看matlaab的書好像都沒有介紹到
怎麼畫出像工程數學教科書中的圖形
每次看到他的解就覺的很炫
但是即使有了像matlab、Octave這樣的好工具
也只會畫特解,而不會畫像
y''+0.2y'+4.01y=0
這樣一個簡單方程式的圖
更不用說難一點的了
目前只想到用以下的方法來畫出自己想要的圖形
以 y=exp(-cx)*sin(2x)來說 ( c為常數,程式中的圖形c = 0.1, 0.2, 0.3, 0.4, 0.5)
想將其圖形畫出,但又不想自己判別x的切割數
因此,以fplot直接畫出方程式的圖形
而在這邊需要用的到方式就是對「方程式的字串」進行處理
方法也很簡單,只要將方程式切割,再把字串合併畫出即可
不好意思,我對matlab這種語言真的不熟,所以這方式感覺不是很好
不過能畫出我要的圖也就夠了
如果有人可以提供更好的方式,請指導一下囉~
fplot('exp(-0.1*x)*(sin(2*x))', [0 30], 'b')
hold on
for ii = 2:5,
fplot(strcat('exp(-0.1*', num2str(ii), '*x)*(sin(2*x))'), [0 30], 'b'),
end;
fplot('exp(-0.1*x)', [0 30], 'y')
fplot('-exp(-0.1*x)', [0 30], 'y')
grid on
hold off
圖形如下:
1.11.2009
Octave隨身帶-QtOctive
sorry最近有些事在忙,所以好一段時間沒有上來po文
對於訪客問的關於AutoIt的問題,近期會再補上
好~就讓我們進入今天的主題吧
本來我是使用freemat幫我做一點計算工作的
因為freemat只要安裝好了之後
再把它的安裝資料夾,複製到隨身碟後
就可以帶著走,不需要特別安裝就可以使用(對公司有鎖權限的很好用丫~)
而且它又有視窗介面!!
不過最近因為要解ODE方面的東西,而freemat只有ODE45
且有些指令和matlab不大相同,有時候找不太到資料可用
於是,就開始在網路上找看看有沒有其它好用的軟體可以用
而且是portable的
尋找多時後,終於讓我找到了「它」-->「Octave」
不過沒有視窗介面,且不是portable的,這一點不太滿意
忽然發現了「QtOctave」
這一個軟體是blog作者,使用QT製作它的GUI介面,以方面他人使用
更重要的是!!你可以下載它的zip檔,帶著四處使用(請到這兒下載)
下載下來後,只要解壓縮就可以使用
在網路上有看到有人遇到解壓後沒辨法使用的情形
據說是因為路徑有「空白」(如在C:\Program Files底下)
因此如果你也有遇到這樣的問題,請照做吧
(我放在桌面也沒這個問題,也許是新版已改進此問題了吧)
後續會在張貼使用後的心得,和一些教學
請期待吧~~:)