0

私のプログラムでは、1 つのマトリックスを考慮し、1 つのマトリックスの出力を取得しました。しかし、複数の行列の出力を取得したいです。例: D の出力を取得しているプログラムは以下のとおりです。以下のプログラムでは、パラメーター「エラー」の値は1つだけです。しかし、このパラメーターの 20 個の値を取得したいと考えています。ここではエラー = 0.2 ですが、エラー =[.21 .22 .23 .24 .25 .26 .27 ... 最大 20 の値] の D の値を取得したい

これは、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 に答える