2
5

More than 3 years have passed since last update.

OctaveをVSCodeで走らせたい

Last updated at Posted at 2021-03-22

OctaveをVSCodeで走らせたい

Octaveを使い始めた理由、感じたこと

Couseraでスタンフォード大学のAndrew Ng先生のMachine Learningを受講しています。
Andrew先生のご意向(趣味)で授業のプログラミング課題にはJava, C++, Pythonなんかよりも学生の理解が早いと噂のGNU Octaveを使います。要はMatlab互換言語です。

Windows, Mac OS, LinuxそれぞれにGNU Octave GUIが提供されていますが、GUIが正直な感想とても使いずらい。なのでVS Code上でコード実行したいと思いました。
しかしながら、TerminalでOctaveと叩いてもCommand not foundと怒られてしまいます。

試した環境

  • Computer: Apple MacBook Air Late 2020 M1 (Apple Silicon ARM)
  • OS: Mac OS Big Sur version 11.2.3
  • VS Code: version 1.54.3 (Apple Silicon最適化バージョンですのでRosetta2非使用)
  • GNU Octave: version 6.2.0

自家醸造

まずはHomebrewをインストールしました。リンク先ページのコマンドをMac、LinuxのTerminalに貼り付けたら勝手に始まります。

色々インストールが走るのでしばらく放置し、インストールが終わったらHomebrewのコマンドが使えるようにPATHを通します。

$ export PATH="$PATH:/opt/homebrew/bin/"

PATHが通ったら、Octaveをインストールします。

$ brew install octave

Octaveを自家醸造する際にGNU Octave GUIのアンインストールは特にしていないですが、不具合は特に起きていません。

Octaveのインストールが終わると、Terminal上でOctaveが実行できます。
確認のために実行してみます。

$ octave

上記コマンドを入力するとOctaveが起動します。
簡単な計算や、行列の定義をして動いていることを確認します。

GNU Octave, version 6.2.0
Copyright (C) 2021 The Octave Project Developers.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  For details, type 'warranty'.

Octave was configured for "x86_64-apple-darwin20.3.0".

Additional information about Octave is available at https://www.octave.org.

Please contribute if you find this software useful.
For more information, visit https://www.octave.org/get-involved.html

Read https://www.octave.org/bugs.html to learn how to submit bug reports.
For information about changes from previous versions, type 'news'.

octave:1> 1+1
ans = 2
octave:2> X=ones(3)
X =

   1   1   1
   1   1   1
   1   1   1

Octaveを終了するには次のコマンド。

octave:3> exit

VS Codeの設定

VS Codeでは次の拡張機能をインストールしました。

インストールすると右上にOctaveアイコンが表示されます。このアイコンを押下するとプログラムが実行されます。
また、カレントディレクトリはワークスペースから開いたOctaveファイルの場所です。

image.png

グラフの描画もできています。

image.png

このプログラムの最後で、決定境界を描くのですがプログラムがポーズされずに終了してしまいました。
VS Code上のTerminalからだと問題ないのですが・・・。
Octaveコードを修正する(最後にPauseしてやる)か結局TerminalでOctaveを起動してやるかどちらかが必要でした。

image.png

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5