在我的代码中,我想改变两个参数,即" i"和" t"。 " i"的价值和" t"会有所变化,如果t = 1:10而i =(t + 1):11那么,
首先我需要得到i = 2 3 4 5 .... 11和t = 1
的值然后我需要获得i = 3 4 5 .... 11和t = 2
的值然后我需要得到i = 4 5 .... 11和t = 3
的值。 。 。
我需要得到i = 8 9 .... 11和t = 10
的值我的代码如下:
W=12;
for t=1:10
for i=t+1:11
s{i} =(fullfact(ones(1,i)*(W + 1)) - 1);
B{i}= unique((sort(s{i}(sum(s{i},2) == i,:),2)),'rows');
B{i}(B{i} == 0) = inf;
A{i}= sort(B{i}, 2);
A{i}(A{i}==inf) = 0;
idx = (A{i}(:,i-t)==1 );
A {i,t+1}= A{i}(idx,:);
end
end
因此,A的值应为9列10行。但我不是这样的。 需要MatLab专家的帮助!
答案 0 :(得分:0)
你快到了
oneLessThanTStart = t-1;
for t=1:oneLessThanTStart
for i=0:10
end
end
应该提到我从未见过matlab。
答案 1 :(得分:0)
t
循环应该是外部的:
for t=1:9
for i=1:(t-1)
// it could be necessary swap some t with i and vice versa
end
end
让我知道。这大约是nested loop而不是Matlab。