在我的程序中,我考虑了一个矩阵并获得一个矩阵的输出。但我想获得多个矩阵的输出。例: 我的程序从哪里得到D的输出在下面。在下面的程序中,我只有一个参数“error”的值。但我想为此参数获取20个值。在这种情况下,错误= 0.2,但我想得到D的值为错误= [。21 .22 .23 .24 .25 .26 .27 ...最多20个值]
我知道这对Matlab专家来说不是一个大问题。你能在这件事上提出建议吗?
答案 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}