0

プロットを簡単に行えるように、これらの Simulink から取得した値をより適切な形式に再配置する方法を知りたいです。

simulink から取得した生データを以下に示します。

val(:,:,1) =

1.2500
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000
2.5000

val(:,:,2) =

1.2500
7.5000
7.5000
7.5000
7.5000
7.5000
7.5000
7.5000
7.5000
7.5000
7.5000
7.5000
7.5000
7.5000
7.5000
7.5000
7.5000
7.5000
7.5000
7.5000

ただし、私が望むのは、以下に示すような形式です。

1.2500      1.2500
2.5000      7.5000
2.5000      7.5000
2.5000      7.5000
2.5000      7.5000
2.5000      7.5000
2.5000      7.5000
2.5000      7.5000
2.5000      7.5000
2.5000      7.5000
2.5000      7.5000
2.5000      7.5000
2.5000      7.5000
2.5000      7.5000 
2.5000      7.5000
2.5000      7.5000
2.5000      7.5000
2.5000      7.5000
2.5000      7.5000
2.5000      7.5000

以下のようにコードをループしてみました:

インデックス_c = 10;

c = 1 の場合:Index_c

y = simout.signals.values(:,:,c) %Simulink data

xlswrite('testdata.xls', y, ['A' num2str(c)])

終わり

しかし、これはすべてを別のシートにコピーしていて、私が望むのはそれらを別の列にコピーすることだけです。これについて私を助けることができる人はいますか?データを Excel にコピーしたり、Matlab の新しい変数にコピーしたりすることは問題ではありません。ありがとう。

4

2 に答える 2

0

私はスクイーズがこれをやってのけることができると思います:

squeeze(val)

シングルトン次元を削除します。したがって、投稿にある行が の唯一の行である場合val、結果は Nx2 行列になるはずです。

于 2012-07-21T00:41:41.183 に答える
0

私はこれをデータの再形成と考えています:

>> reshaped_val = reshape(val, [], 2)
于 2012-07-21T00:42:59.640 に答える