4

いくつかのフィールドを持つ構造体があり、いくつかは数値でなければならず、いくつかは文字でなければなりません。ただし、使用した後、regexpフィールドに数値として使用したい文字があります。

例えば:

foo.str = 'one';
foo.data = '1';
foo(2).str = 'two';
foo(2).data = '2';

私の夢の中で私はできる:foo.data = str2double(foo.data)、しかしこれはうまくいきません。

構造体を反復処理することはできますが、それは問題のないオプションです。これは、約 20 個のファイルを含む長い構造体 (100,000) です。

for i = 1:length(foo)
    foo(i).data = str2double(foo(i).data);
end

何か案は?

4

3 に答える 3

3

サブフィールドからすべての要素を収集し、str2double を 1 回呼び出します。

str2double({foo.data})
于 2013-10-30T22:42:30.387 に答える