数组A=[A1;A2;...Am], 其中Ai是1×n的行向量。
现从Ai(i=1~m)中分别抽取一个元素,可组成一个新的向量B(含m个元素),如何得到所有的B(n^m个组合)??
lanbingfly
2008-03-09, 10:51
数组A=[A1;A2;...Am], 其中Ai是1×n的行向量。
现从Ai(i=1~m)(((其中Ai是1×n的行向量。)))
貌似矛盾了
没有矛盾,我说的Ai(i=1~m)是1×n的行向量,那是i 不是1 !!!
A的行列m、n由输入参数后计算得到
本人已经解决该问题。 大家有兴趣可参考下^_^ 水平有限
[row,col]=size(A); %读出A的行、列数
nn=col^row;
D=ones(row,col); %定位矩阵的基本单元矩阵,用于生成定位矩阵
E=[]; %存放定位矩阵
for j=1:row
if (j==1)
for i=j:col
D(row,i)=i; %将A数组的最后一行,即第row行,所有元素的地址抽取一遍
end
C=D;
E=[E,C];
elseif (j~=1)
for i=2:col
C((row-j+1),:)=i;
E=[E,C];
end
C=E;
end
if (j==row)
break
end
end
for k=1:row
for g=1:nn
B(k,g)=A(k,E(k,g));
end
end
vBulletin® v3.8.3,版权所有 ©2000-2025,Jelsoft Enterprises Ltd.