想要获得多个矩阵的价值

时间:2013-10-09 14:15:53

标签: arrays matlab matrix

在我的程序中,我考虑了一个矩阵并获得一个矩阵的输出。但我想获得多个矩阵的输出。例: 我的程序从哪里得到D的输出在下面。在下面的程序中,我只有一个参数“error”的值。但我想为此参数获取20个值。在这种情况下,错误= 0.2,但我想得到D的值为错误= [。21 .22 .23 .24 .25 .26 .27 ...最多20个值]

我知道这对Matlab专家来说不是一个大问题。你能在这件事上提出建议吗?

1 个答案:

答案 0 :(得分:1)

在这里,您可以简单地循环显示error的可能值,并为每个值存储相应的D

 N=30;
C = zeros(N , N);
plc = zeros(1, N) ;
rec1_Wopt = zeros(1, length(N)) ;
rec2_Wopt = zeros(1, length(N)) ;
ap1_Wopt = zeros(1, length(N));
ap2_Wopt = zeros(1, length(N));

C(1:N,1:N) = eye(N) ;
count = 1; %%%% ADJUSTED
for error=0.2:0.01:0.39; %%%% ADJUSTED

for Trial = 1 ;
R=C;
for i=1:N
   if(rand < error )
    R(i,:) = 0;
  end
end



RecP=zeros(1,N) ;
  for j = 1 : N
    CpD = max( C(j,:)-RecP, 0) ; 
    if( sum(CpD) == 1) 
      plc(j) = plc(j) + 1;
    end 
    RpD = max( R(j,:)-RecP, 0) ; 
    if( sum(RpD) == 1)  
      [MaxValue Idx] = max(RpD) ;
      RecP(Idx) = 1 ;
    end
  end
  rec2_Wopt(1) = rec2_Wopt(1) + sum(RecP) ;
  if( sum(RecP) == N )
    ap2_Wopt(1) = ap2_Wopt(1) + 1;
  end
end


D(count,:) =rec2_Wopt / Trial ; %%%% ADJUSTED
count = count+1;  %%%% ADJUSTED
end  %%%% ADJUSTED

我标记了调整后的线条。

如果将结果存储到D时出现问题,请尝试使用单元格数组,例如

D(count) ={rec2_Wopt / Trial}