如何在MATLAB中使用printf或disp来打印数据集的某些特殊格式?

时间:2019-06-10 03:25:52

标签: matlab printf

我有一个5列和668行的数据集。我需要在Ampl中使用这些数据,并且需要一种特殊的格式,如下所示:

1 3 4 5 7
5 4 3 2 1
4 5 6 4 3
4 5 3 4 2
[*,*,1]: 1 2 3 4:=
4 3 2 1 5
4 5 6 7 4
3 4 5 6 7 
3 4 2 3 1
[*,*,2]: 1 2 3 4:=
4 5 6 2
4 3 2 1
4 5 3 2 
1 2 7 1
[*,*,3]: 1 2 3 4:=
 .
 .
 .

换句话说,我必须先打印4行,然后再打印[*,*, i]: 1 2 3 4:= 4行和该语句,依此类推。应该通过一个简单的for循环来完成,但是由于我不使用MATLAB,因此我不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

您可以将disp的字符串与for循环组合在一起。 num2str用于将数字转换为字符串。

例如,包含100行的矩阵。

D = rand(100,4);
for i = 1 : 4 : size( D,1 )
    disp( D( i : i + 3,: ) )
    disp(['[*,*,' num2str((i + 3)/4) ']: 1 2 3 4:='])
end