9

実行可能な Octave スクリプトで、マトリックスを含むファイルの名前を渡し、gnu octave にそのファイル情報をマトリックスとしてロードさせたいと考えています。それ、どうやったら出来るの?

スクリプトは次のようになります

#! /usr/bin/octave -qf

arg_list = argv()

filename = argv{1} % Name of the file containing the matrix you want to load

load -ascii filename % Load the information

渡されるファイルは、2x3 などの任意のサイズの行列を含む行列になります。

1 2 3
5 7 8

コマンド ラインで、スクリプトは、マトリックスを含む./myscript mymatrixfile 場所として実行する必要があります。mymatrixfile

これは、上で書いたスクリプトをオクターブで実行しようとすると得られるものです

[Desktop/SCVT]$ ./octavetinker.m generators.xyz                                                                             (05-14 10:41)
arg_list =

{
  [1,1] = generators.xyz
}

filename = generators.xyz
error: load: unable to find file filename
error: called from:
error:   ./octavetinker.m at line 7, column 1

[Desktop/SCVT]$  

generators.xyz必要なマトリックスを含むファイルはどこにありますか

4

1 に答える 1

11

これはうまくいくはずです:

#!/usr/bin/octave -qf

arg_list = argv ();
filename = arg_list{1};
load("-ascii",filename);

load filenameファイル名「filename」をロードするようにロード関数に指定した行を書いたとき。つまり、 に相当することをしましたload('filename');

MATLAB と Octave の両方で、関数 "foo" の後にスペースが続き、単語 "bar" は、bar が文字列として foo に送信されることを示します。これは、bar がワークスペースで定義された変数であっても当てはまります。

于 2012-05-18T01:12:27.343 に答える