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 回答