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