在MATLAB中使用循环排列数据

时间:2011-07-02 08:52:46

标签: matlab loops

如果我有:

  t=(1:1:5)'
  time=1:3:100

如何在从1开始到结束的每一列中安排数据t,间隔为3.这意味着数据t(1到5)在第1,4,7列,依此类推。

我试过了:

t=[1:1:5];
nt=length(temp);
time=[1:1:100];
nti=length(time);
x=zeros(nt,nti);

temp=temp';
initiator=2;
monomer=3;

post=1:3:100;

for l=1:post

step=1;
maxstep=100;
 while (step<maxstep)
    step=step+3;
    temp=(1:1:5)';
 end
t(:,l)=t;
x=[t];

end

这只显示结果X,其中temp为第1列。我不知道如何在我想要的列上排列这些数据。

希望有人能帮助我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您的数据有多少维度?如果您已经将“temp”(温度?)和“time”作为前两个维度并且希望“t”成为第三个维度,那么创建一个三维矩阵。

要从索引[1 4 7 10 13 16 ...]中提取,请使用(1:3:end)
要从索引[2 5 8 11 14 17 ...]中提取,请使用(2:3:end)

在MATLAB的冒号表示法中,第一个值是开始。第二个值是增量。第三个值是最终值,包含在内。