0

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

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

4

1 回答 1

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}
于 2013-10-09T14:20:37.743 回答