2

matlabの出力を取得するにはどうすればよいですか?出力全体ではありません(日記が役立つことはわかっています)

簡単な例

>> st = rng
st = 
     Type: 'twister'
     Seed: 0
    State: [625x1 uint32]

私が欲しいのは、出力をクリップボードにコピーすることです。クリップボード機能を使用すると、エラーが発生します。

>> clipboard('copy', st)
Error using mat2str (line 54)
Input matrix must be numeric.
Error in clipboard (line 56)
        stuff = mat2str(stuff); 

マウスの選択...コピー...を使用する代わりに、出力文字列をクリップボードに簡単に取得できますか?

ありがとう!

追加

ありがとう、ユク!DISP表現をコピーするのが私が欲しかったものです。

しかし、コマンドtoString1(rng)を実行した後、このようなクリップボードに何かを取得できますか?

   >> rng
   ans = 
       Type: 'twister'
       Seed: 11284109
      State: [625x1 uint32]
4

1 に答える 1

1

マトリックスをクリップボードにコピーするには、MAT2CLIPFileExchangeの送信をお勧めします。文字列や数値行列だけでなく、混合セル配列、論理などもサポートします。

ただし、構造はサポートしていません。個々のフィールドをコピーする必要がある場合でも、mat2clipを使用できます。構造体フィールドを介してforループを設定し、pauseクリップボードからフィールドを貼り付けるために使用できます。

構造全体またはそのDISP表現をコピーすることに興味がある場合は、このSOの質問を確認してください-DISPの結果を戻りパラメーターとして変数に取得するにはどうすればよいですか?

この質問からの1つの解決策は、DISP出力を文字列に取得することです。これは、mat2clipを使用してクリップボードにコピーできます(displayメソッドを使用するすべてのオブジェクトでユニバーサル)。

toString = @(x) evalc('disp(x)');
mystring = toString(mystruct);

別の回答では、 FileExchangeのSTRUCT2STRを推奨しています。STRUCT2STR再帰も確認してください。

于 2012-04-08T04:15:48.353 に答える