Wednesday, May 21, 2025

Octave (Matlab compatible) Memo

Octaveのインストール 

Ubuntuでoctaveをインストールすると、version 6.4.0がインストールされました。

ChatGPTによると、最新版のOctaveをインストールするには、flatpakを使った方は一番早いです。

Step 1: Install Flatpak (if not already installed)

sudo apt install flatpak

Step 2: Add Flathub repository (only once)

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Step 3: Install Octave via Flatpak

flatpak install flathub org.octave.Octave

Step 4: Run Octave

flatpak run org.octave.Octave

画像処理パッケージimageのインストール

Octave用のパッケージをインストールには、octaveを立ち上げてから、octaveのインターフェースでpkgコマンドを実行します。

octave

pkg install -forge image

pkg load image

Octaveの使用例

以下は関数をプロットする例です。

x=(-3:0.1:3);

y = sin(x);

plot(x, y);

以下はimageを使う画像処理の例です。

[rgb, immap, alpha] = imread("IMG_1.JPG");

mono = rgb2gray( rgb );

bw = im2bw( mono, graythresh( mono ) );

[rgb2, immap2, alpha2] = imread("IMG_1.JPG");

mono2 = rgb2gray( rgb2 );

bw2 = im2bw( mono2, graythresh( mono2 ) );

map = gray(256);

colormap(map);

imshow(bw, [0 1]);

imshow(bw2, [0 1]);

以下のコードでは、Lorentzアトラクターを表示します[7]。

#lorentz.m

function dx = lorentz(x,t)

s=10; R=28; b=8/3;

dx(1) = -s * ( x(1) - x(2) );

dx(2) = R * x(1) - x(2) -x(1) * x(3);

dx(3) = x(1) * x(2) - b * x(3);

endfunction

t=linspace(0, 30, 3000);

x=lsode("lorentz",[0; 0.03; 0],t);

plot3( x(:,1), x(:,2), x(:,3));

 

参考文献

[1] OctaveのグラフにTeXを使って軸ラベルを書いてPDFにする

[2] 信号処理分野のための GNU Octave / MATLAB 入門 [抜粋版]

[3] Octave の活用

No comments:

Post a Comment