アクセラと+αな生活
アクセラとα350と共に過ごす気まぐれ日記です。
Firefox ブラウザ無料ダウンロード
2017年07月
≪06月  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31    08月≫
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Ubuntu 9.10 で Octave を使ってみる。
「Octave」は対話型インタプリタの電卓というところでしょうか。
数値計算ができるインタプリタ言語です。
使い方次第で、連立方程式も解いてしまうようです。。。


「rCalc」でも式を使った計算が行えますが、「Octave」は機能的に「rCalc」の上位版といったところです。

ちょっと使ってみましたが、文系の私にはエグイ。。。><;





【インストール】
Ubuntu 9.10 のリポジトリ上には、
 ・octave3.2 3.2.2-2build1
・octave3.0 1:3.0.5-6ubuntu2
の2つのパッケージがあります。

今回は、バージョンが新しい「octave3.2」を選択します。

$ sudo apt-get update

~ 略 ~

$ sudo apt-get install octave3.2
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
gnuplot gnuplot-nox gnuplot-x11 groff imagemagick libamd2.2.0 libarpack2 libatlas3gf-base libblas3gf libcamd2.2.0 libccolamd2.7.1
libcholmod1.7.1 libcxsparse2.2.3 libfftw3-3 libfltk1.1 libftgl2 libgfortran3 libglpk0 libgraphicsmagick++3 libgraphicsmagick3
libhdf5-serial-1.6.6-0 libibverbs1 liblapack3gf libnetpbm10 libopenmpi1.3 libqhull5 libqrupdate1 libumfpack5.4.0 libwxbase2.8-0
libwxgtk2.8-0 netpbm octave3.2-common psutils texinfo ttf-liberation
提案パッケージ:
gnuplot-doc transfig imagemagick-doc libatlas3gf-3dnow libatlas3gf-sse libatlas3gf-sse2 libfftw3-dev libiodbc2-dev libmysqlclient15-dev
graphicsmagick-dbg libgnomeprintui2.2-0 octave3.2-info octave3.2-doc octave3.2-htmldoc octave3.2-headers octave3.2-emacsen texlive-base
texlive-latex-base texlive-generic-recommended texinfo-doc-nonfree
推奨パッケージ:
atlas3-base
以下のパッケージが新たにインストールされます:
gnuplot gnuplot-nox gnuplot-x11 groff imagemagick libamd2.2.0 libarpack2 libatlas3gf-base libblas3gf libcamd2.2.0 libccolamd2.7.1
libcholmod1.7.1 libcxsparse2.2.3 libfftw3-3 libfltk1.1 libftgl2 libgfortran3 libglpk0 libgraphicsmagick++3 libgraphicsmagick3
libhdf5-serial-1.6.6-0 libibverbs1 liblapack3gf libnetpbm10 libopenmpi1.3 libqhull5 libqrupdate1 libumfpack5.4.0 libwxbase2.8-0
libwxgtk2.8-0 netpbm octave3.2 octave3.2-common psutils texinfo ttf-liberation
アップグレード: 0 個、新規インストール: 36 個、削除: 0 個、保留: 0 個。
38.4MB のアーカイブを取得する必要があります。
この操作後に追加で 112MB のディスク容量が消費されます。
続行しますか [Y/n]? y
取得:1 http://jp.archive.ubuntu.com karmic/universe gnuplot-nox 4.2.5-2 [831kB]
取得:2 http://jp.archive.ubuntu.com karmic/universe libwxbase2.8-0 2.8.10.1-0ubuntu1 [689kB]
取得:3 http://jp.archive.ubuntu.com karmic/universe libwxgtk2.8-0 2.8.10.1-0ubuntu1 [3,455kB]
取得:4 http://jp.archive.ubuntu.com karmic/universe gnuplot-x11 4.2.5-2 [724kB]
取得:5 http://jp.archive.ubuntu.com karmic/universe gnuplot 4.2.5-2 [1,064B]
取得:6 http://jp.archive.ubuntu.com karmic/main groff 1.20.1-5 [3,437kB]
取得:7 http://jp.archive.ubuntu.com karmic/main imagemagick 7:6.5.1.0-1.1ubuntu3 [95.6kB]
取得:8 http://jp.archive.ubuntu.com karmic/main libamd2.2.0 1:3.4.0-1ubuntu2 [21.2kB]
取得:9 http://jp.archive.ubuntu.com karmic-updates/main libgfortran3 4.4.1-4ubuntu9 [240kB]
取得:10 http://jp.archive.ubuntu.com karmic/main libblas3gf 1.2-2 [221kB]
取得:11 http://jp.archive.ubuntu.com karmic/universe libatlas3gf-base 3.6.0-22ubuntu2 [5,148kB]
取得:12 http://jp.archive.ubuntu.com karmic/main liblapack3gf 3.2.1-1 [3,116kB]
取得:13 http://jp.archive.ubuntu.com karmic/universe libibverbs1 1.1.2-1ubuntu2 [28.6kB]
取得:14 http://jp.archive.ubuntu.com karmic-updates/universe libopenmpi1.3 1.3.2-3ubuntu1.1 [1,142kB]
取得:15 http://jp.archive.ubuntu.com karmic/universe libarpack2 2.1+parpack96.dfsg-2build1 [252kB]
取得:16 http://jp.archive.ubuntu.com karmic/main libcamd2.2.0 1:3.4.0-1ubuntu2 [19.1kB]
取得:17 http://jp.archive.ubuntu.com karmic/main libccolamd2.7.1 1:3.4.0-1ubuntu2 [20.9kB]
取得:18 http://jp.archive.ubuntu.com karmic/main libcholmod1.7.1 1:3.4.0-1ubuntu2 [363kB]
取得:19 http://jp.archive.ubuntu.com karmic/main libcxsparse2.2.3 1:3.4.0-1ubuntu2 [86.7kB]
取得:20 http://jp.archive.ubuntu.com karmic/main libfftw3-3 3.2.1-2ubuntu2 [1,486kB]
取得:21 http://jp.archive.ubuntu.com karmic/main libfltk1.1 1.1.9-6ubuntu2 [461kB]
取得:22 http://jp.archive.ubuntu.com karmic/universe libftgl2 2.1.3~rc5-2 [109kB]
取得:23 http://jp.archive.ubuntu.com karmic/universe libglpk0 4.38-1 [400kB]
取得:24 http://jp.archive.ubuntu.com karmic/universe libgraphicsmagick3 1.3.5-5.1 [1,290kB]
取得:25 http://jp.archive.ubuntu.com karmic/universe libgraphicsmagick++3 1.3.5-5.1 [183kB]
取得:26 http://jp.archive.ubuntu.com karmic/universe libhdf5-serial-1.6.6-0 1.6.6-4ubuntu2 [667kB]
取得:27 http://jp.archive.ubuntu.com karmic/main libnetpbm10 2:10.0-12ubuntu1 [66.8kB]
取得:28 http://jp.archive.ubuntu.com karmic/universe libqhull5 2009.1-1 [156kB]
取得:29 http://jp.archive.ubuntu.com karmic/universe libqrupdate1 1.0.1-1 [57.4kB]
取得:30 http://jp.archive.ubuntu.com karmic/main libumfpack5.4.0 1:3.4.0-1ubuntu2 [315kB]
取得:31 http://jp.archive.ubuntu.com karmic/main netpbm 2:10.0-12ubuntu1 [1,223kB]
取得:32 http://jp.archive.ubuntu.com karmic/main texinfo 4.13a.dfsg.1-4ubuntu1 [533kB]
取得:33 http://jp.archive.ubuntu.com karmic/universe octave3.2-common 3.2.2-2build1 [670kB]
取得:34 http://jp.archive.ubuntu.com karmic/universe octave3.2 3.2.2-2build1 [9,761kB]
取得:35 http://jp.archive.ubuntu.com karmic/main psutils 1.17-26 [89.9kB]
取得:36 http://jp.archive.ubuntu.com karmic/main ttf-liberation 1.05.1.20090721-0ubuntu1 [1,038kB]
38.4MB を 8min 54s で取得しました (71.8kB/s)
パッケージからテンプレートを展開しています: 100%
パッケージを事前設定しています ...
未選択パッケージ gnuplot-nox を選択しています。
(データベースを読み込んでいます ... 現在 120470 個のファイルとディレクトリがインストールされています。)
(.../gnuplot-nox_4.2.5-2_i386.deb から) gnuplot-nox を展開しています...
未選択パッケージ libwxbase2.8-0 を選択しています。
(.../libwxbase2.8-0_2.8.10.1-0ubuntu1_i386.deb から) libwxbase2.8-0 を展開しています...
未選択パッケージ libwxgtk2.8-0 を選択しています。
(.../libwxgtk2.8-0_2.8.10.1-0ubuntu1_i386.deb から) libwxgtk2.8-0 を展開しています...
未選択パッケージ gnuplot-x11 を選択しています。
(.../gnuplot-x11_4.2.5-2_i386.deb から) gnuplot-x11 を展開しています...
`diversion of /usr/bin/gnuplot to /usr/bin/gnuplot-nox by gnuplot-x11' を追加しています
`diversion of /usr/share/man/man1/gnuplot.1.gz to /usr/share/man/man1/gnuplot-nox.1.gz by gnuplot-x11' を追加しています
未選択パッケージ gnuplot を選択しています。
(.../gnuplot_4.2.5-2_all.deb から) gnuplot を展開しています...
未選択パッケージ groff を選択しています。
(.../groff_1.20.1-5_i386.deb から) groff を展開しています...
未選択パッケージ imagemagick を選択しています。
(.../imagemagick_7%3a6.5.1.0-1.1ubuntu3_i386.deb から) imagemagick を展開しています...
未選択パッケージ libamd2.2.0 を選択しています。
(.../libamd2.2.0_1%3a3.4.0-1ubuntu2_i386.deb から) libamd2.2.0 を展開しています...
未選択パッケージ libgfortran3 を選択しています。
(.../libgfortran3_4.4.1-4ubuntu9_i386.deb から) libgfortran3 を展開しています...
未選択パッケージ libblas3gf を選択しています。
(.../libblas3gf_1.2-2_i386.deb から) libblas3gf を展開しています...
未選択パッケージ libatlas3gf-base を選択しています。
(.../libatlas3gf-base_3.6.0-22ubuntu2_i386.deb から) libatlas3gf-base を展開しています...
未選択パッケージ liblapack3gf を選択しています。
(.../liblapack3gf_3.2.1-1_i386.deb から) liblapack3gf を展開しています...
未選択パッケージ libibverbs1 を選択しています。
(.../libibverbs1_1.1.2-1ubuntu2_i386.deb から) libibverbs1 を展開しています...
未選択パッケージ libopenmpi1.3 を選択しています。
(.../libopenmpi1.3_1.3.2-3ubuntu1.1_i386.deb から) libopenmpi1.3 を展開しています...
未選択パッケージ libarpack2 を選択しています。
(.../libarpack2_2.1+parpack96.dfsg-2build1_i386.deb から) libarpack2 を展開しています...
未選択パッケージ libcamd2.2.0 を選択しています。
(.../libcamd2.2.0_1%3a3.4.0-1ubuntu2_i386.deb から) libcamd2.2.0 を展開しています...
未選択パッケージ libccolamd2.7.1 を選択しています。
(.../libccolamd2.7.1_1%3a3.4.0-1ubuntu2_i386.deb から) libccolamd2.7.1 を展開しています...
未選択パッケージ libcholmod1.7.1 を選択しています。
(.../libcholmod1.7.1_1%3a3.4.0-1ubuntu2_i386.deb から) libcholmod1.7.1 を展開しています...
未選択パッケージ libcxsparse2.2.3 を選択しています。
(.../libcxsparse2.2.3_1%3a3.4.0-1ubuntu2_i386.deb から) libcxsparse2.2.3 を展開しています...
未選択パッケージ libfftw3-3 を選択しています。
(.../libfftw3-3_3.2.1-2ubuntu2_i386.deb から) libfftw3-3 を展開しています...
未選択パッケージ libfltk1.1 を選択しています。
(.../libfltk1.1_1.1.9-6ubuntu2_i386.deb から) libfltk1.1 を展開しています...
未選択パッケージ libftgl2 を選択しています。
(.../libftgl2_2.1.3~rc5-2_i386.deb から) libftgl2 を展開しています...
未選択パッケージ libglpk0 を選択しています。
(.../libglpk0_4.38-1_i386.deb から) libglpk0 を展開しています...
未選択パッケージ libgraphicsmagick3 を選択しています。
(.../libgraphicsmagick3_1.3.5-5.1_i386.deb から) libgraphicsmagick3 を展開しています...
未選択パッケージ libgraphicsmagick++3 を選択しています。
(.../libgraphicsmagick++3_1.3.5-5.1_i386.deb から) libgraphicsmagick++3 を展開しています...
未選択パッケージ libhdf5-serial-1.6.6-0 を選択しています。
(.../libhdf5-serial-1.6.6-0_1.6.6-4ubuntu2_i386.deb から) libhdf5-serial-1.6.6-0 を展開しています...
未選択パッケージ libnetpbm10 を選択しています。
(.../libnetpbm10_2%3a10.0-12ubuntu1_i386.deb から) libnetpbm10 を展開しています...
未選択パッケージ libqhull5 を選択しています。
(.../libqhull5_2009.1-1_i386.deb から) libqhull5 を展開しています...
未選択パッケージ libqrupdate1 を選択しています。
(.../libqrupdate1_1.0.1-1_i386.deb から) libqrupdate1 を展開しています...
未選択パッケージ libumfpack5.4.0 を選択しています。
(.../libumfpack5.4.0_1%3a3.4.0-1ubuntu2_i386.deb から) libumfpack5.4.0 を展開しています...
未選択パッケージ netpbm を選択しています。
(.../netpbm_2%3a10.0-12ubuntu1_i386.deb から) netpbm を展開しています...
未選択パッケージ texinfo を選択しています。
(.../texinfo_4.13a.dfsg.1-4ubuntu1_i386.deb から) texinfo を展開しています...
未選択パッケージ octave3.2-common を選択しています。
(.../octave3.2-common_3.2.2-2build1_all.deb から) octave3.2-common を展開しています...
未選択パッケージ octave3.2 を選択しています。
(.../octave3.2_3.2.2-2build1_i386.deb から) octave3.2 を展開しています...
未選択パッケージ psutils を選択しています。
(.../psutils_1.17-26_i386.deb から) psutils を展開しています...
未選択パッケージ ttf-liberation を選択しています。
(.../ttf-liberation_1.05.1.20090721-0ubuntu1_all.deb から) ttf-liberation を展開しています...
man-db のトリガを処理しています ...
install-info のトリガを処理しています ...
desktop-file-utils のトリガを処理しています ...
gnuplot-nox (4.2.5-2) を設定しています ...

libwxbase2.8-0 (2.8.10.1-0ubuntu1) を設定しています ...

libwxgtk2.8-0 (2.8.10.1-0ubuntu1) を設定しています ...

gnuplot-x11 (4.2.5-2) を設定しています ...
gnuplot (4.2.5-2) を設定しています ...
groff (1.20.1-5) を設定しています ...

imagemagick (7:6.5.1.0-1.1ubuntu3) を設定しています ...

libamd2.2.0 (1:3.4.0-1ubuntu2) を設定しています ...

libgfortran3 (4.4.1-4ubuntu9) を設定しています ...

libblas3gf (1.2-2) を設定しています ...

libatlas3gf-base (3.6.0-22ubuntu2) を設定しています ...

liblapack3gf (3.2.1-1) を設定しています ...

libibverbs1 (1.1.2-1ubuntu2) を設定しています ...

libopenmpi1.3 (1.3.2-3ubuntu1.1) を設定しています ...

libarpack2 (2.1+parpack96.dfsg-2build1) を設定しています ...

libcamd2.2.0 (1:3.4.0-1ubuntu2) を設定しています ...

libccolamd2.7.1 (1:3.4.0-1ubuntu2) を設定しています ...

libcholmod1.7.1 (1:3.4.0-1ubuntu2) を設定しています ...

libcxsparse2.2.3 (1:3.4.0-1ubuntu2) を設定しています ...

libfftw3-3 (3.2.1-2ubuntu2) を設定しています ...

libfltk1.1 (1.1.9-6ubuntu2) を設定しています ...

libftgl2 (2.1.3~rc5-2) を設定しています ...

libglpk0 (4.38-1) を設定しています ...

libgraphicsmagick3 (1.3.5-5.1) を設定しています ...

libgraphicsmagick++3 (1.3.5-5.1) を設定しています ...

libhdf5-serial-1.6.6-0 (1.6.6-4ubuntu2) を設定しています ...
libnetpbm10 (2:10.0-12ubuntu1) を設定しています ...

libqhull5 (2009.1-1) を設定しています ...

libqrupdate1 (1.0.1-1) を設定しています ...

libumfpack5.4.0 (1:3.4.0-1ubuntu2) を設定しています ...

netpbm (2:10.0-12ubuntu1) を設定しています ...
texinfo (4.13a.dfsg.1-4ubuntu1) を設定しています ...

octave3.2-common (3.2.2-2build1) を設定しています ...
octave3.2 (3.2.2-2build1) を設定しています ...
update-alternatives: using /usr/bin/octave-3.2.2 to provide /usr/bin/octave (octave) in auto mode.
update-alternatives: using /usr/bin/octave-bug-3.2.2 to provide /usr/bin/octave-bug (octave-bug) in auto mode.


psutils (1.17-26) を設定しています ...
ttf-liberation (1.05.1.20090721-0ubuntu1) を設定しています ...
Updating fontconfig cache for /usr/share/fonts/truetype/ttf-liberation
No CIDSupplement specified for Dotum-Bold, defaulting to 0.
No CIDSupplement specified for ZenHei, defaulting to 0.
No CIDSupplement specified for Batang-Regular, defaulting to 0.
No CIDSupplement specified for Dotum-Regular, defaulting to 0.
No CIDSupplement specified for ZenHei-CNS, defaulting to 0.
No CIDSupplement specified for Batang-Bold, defaulting to 0.

libc-bin のトリガを処理しています ...
ldconfig deferred processing now taking place

依存するライブラリも多いので、結構大きなパッケージです。
これでインストールは完了です。



【使い方】
1つの言語といえるレベルなので、とても、説明しきれないです。。。
(説明以前に、全て理解できていない状態)

現時点、簡単な使い方くらいしかできていない状態です。

○起動
端末で「$ octave」を実行し、「octave:」というプロンプトが表示されれば、正常に起動している状態になります。
以後、「octave:」というプロンプトに計算式などを入力していきます。

$ octave
GNU Octave, version 3.2.2

~ 略 ~

octave:1>


○終了
「octave:」というプロンプトが出ている状態で、「exit」を入力すると終了します。
強制終了させる場合は、「Ctrl」+「c」を押下します。


○基本的な式の入力
「octave:」というプロンプトの後に式を入力していきます。
シェルでコマンドを入力するように、「Octave」では式を入力していきます。

通常は、式の結果を実行するた標準出力へ表示しますが、式の最後に「;」(セミコロン)を入力すると、式の計算結果を標準出力へ表示しません。

octave:1> a=1+2+3
a = 6
octave:2>

octave:1> a=1+2+3;
octave:2>


octave:1> a=1+2+3;
octave:2> a
a = 6


octave:4> sqrt(3)
ans = 1.7321


octave:1> 45*22
ans = 990



C などで使われる「++」というインクリメント演算子も、「Octave」では利用できます。

octave:1> a=1;
octave:2> ++a
ans = 2
octave:3> ++a
ans = 3



配列は要素を「[]」(カッコ)でくくります。
要素(列)を「,」(カンマ)で区切り、行を「:」(コロン)で区切ります。

<2行3列の配列を定義>
octave:1> hairetu=[1,2,3;4,5,6]
hairetu =

1 2 3
4 5 6


<配列の演算>
octave:1> hairetu_a=[1,2,3,4;5,6,7,8]
hairetu_a =

1 2 3 4
5 6 7 8

octave:2> hairetu_b=[1,1,1,1;2,2,2,2]
hairetu_b =

1 1 1 1
2 2 2 2

octave:3> hairetu_a+hairetu_b
ans =

2 3 4 5
7 8 9 10



「Octave」では、数値だけでなく、文字列も扱うことができます。
文字列として扱うには、ダブルクオートまたはシングルクオートで対象の文字列をくるります。
c などで使用できるエスケープシーケンスもそのまま利用できるようです。

'abc'
"def"



「help」を使用すれば、ヘルプを表示してくれます。
分からなくなったら、まず、「help」ですね。

octave:1> help ++

Increment operator. As in C, may be applied as a prefix or postfix
operator.
Additional help for built-in functions and operators is
available in the on-line version of the manual. Use the command
`doc ' to search the manual index.

Help and information about Octave is also available on the WWW
at http://www.octave.org and via the help@octave.org
mailing list.







とりあえず、いろいろ試している状態です。。。
Function で関数を定義でき、「if」などの条件分岐もできるので、簡単なバッチ処理もこなせそうです。
関数などの記述方法は Basic や Fortran に近い感じですね。
VB などを扱ったことがあれば、それほど違和感無いでしょう。

Fortran は遊びで使ったくらいで、本格的なことはしたことないですけどね。。。
(Fortran でのお仕事って、聞かないので。。。)


GNU Octave 2.1.x 日本語マニュアル(http://www.obihiro.ac.jp/~suzukim/masuda/octave/html/)に詳しいマニュアルがあります。

結構細かく説明されているので、参考にするといいでしょうね。


コメント
この記事へのコメント
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by .
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。