11

実験データをscicoslabにロードする必要があります。これは、グラフィカルモデリングをサポートするscilabの(かなりひどく設計された)クローンフォークです。Web上のドキュメントはかなり貧弱ですが、 scilaboctaveにかなり似ています。

処理する必要のあるデータは、特定の数のテキストファイルに含まれています:Data_005、、Data_010Data_100、。それらのそれぞれは、コマンドの-asciiフラグを使用してロードできますloadmatfile

問題は、ファイルを。という名前の変数にloadmatfile("foo", "-ascii")ロードするという事実に起因します。データファイルを循環させるには、次のようなことを行う必要があります。foo.matfoo

for i = [5:5:100]
    name = sprintf("Data_%02d", i);
    loadmatfile(name, "-ascii");
    x = read_var_from_name(name);
    do_something(x);
end

ここで私が検索するのは、read_var_from_name文字列で内部シンボルテーブルにアクセスできるビルトインです。

同様の機能があるか知っていますか?

ノート:

  1. ファイルがASCII形式の場合、この動作をオーバーライドする方法はありません。
  2. このフェーズでは、同じように動作しますが、オクターブを使用することもできます(グラフィカルモデリングは含まれません)。
4

3 に答える 3

11
>> foo = 3.14; name = 'foo'; eval(name)

foo =

    3.1400

上記はMATLABで機能し、Scilabのドキュメントにはeval機能もあると書かれています。ただし、私があなたを正しく理解したかどうかはわかりません。

于 2012-04-02T11:54:02.070 に答える
9

@ arne.b には良い答えがあります。

あなたの場合、matlabでもそれを行うことができます:

a=load('filename.mat')
x=a.('variable_name')
于 2012-04-02T12:17:29.110 に答える