使用for循环,我需要保存在矩阵中生成的数据

时间:2013-08-27 05:20:30

标签: matlab

下面你会找到我的代码。我需要的是,每个循环都将在A_wm中创建的数据保存到TOTAL中。我一直收到错误:订阅的分配维度不匹配。我意识到这意味着TOTAL的等号右侧的代码与TOTAL的大小不同。但是,总数是预分配的,需要保持这个大小。 (它与A_wm具有相同的列数,但不包含行)。我的想法是每次迭代都会将A_wm中的数据保存到TOTAL中的新行。有什么建议?

mu = .5; 
LAMMDA = 2; 
t = 1:61; 
T0 = 0;
trials = 1:50; 

TOTAL = zeros(50,61); 

for i = trials
    %Clock: Pacemaker ---> Accumulator
    D = t - T0; %effectual switch closure duration
    A_wm = -mu*log(1-rand(1)) * LAMMDA * D;
    TOTAL(i,:) = repmat(A_wm,size(TOTAL,1),1);   
end

1 个答案:

答案 0 :(得分:2)

为什么你repmat A_wm?尝试在没有repmat的情况下进行分配:

TOTAL(i,:) = A_wm;