how to extract matrix column and make new matrixes from the extracted column?
1 回表示 (過去 30 日間)
古いコメントを表示
how to extract matrix column and make new matrixes from the extracted column? if you name the column a, b, and c then i want to create matrixes which consist of
a
b
c
ab
ac
bc
abc
0 件のコメント
回答 (2 件)
Image Analyst
2011 年 11 月 1 日
a = fullMatrix(:, colA); % colA is whatever column number "a" is in. It's an integer.
b = fullMatrix(:, colB);
c = fullMatrix(:, colC);
ab = fullMatrix(:, colAB);
ac = fullMatrix(:, colAC); % etc.
% Concatenate
newColVector = [a;b;c;ab;ac;bc;abc]
2 件のコメント
Walter Roberson
2011 年 11 月 1 日
Where YourMatrix is your existing matrix with all columns, and the number of columns is at most 52 (or is it 53?)
ncols = size(YourMatrix,2);
numoutputs = 2^ncols;
TheOutputs = cell(numoutputs,1);
for K = 1 : numoutputs
TheOutputs{K} = YourMatrix(:,dec2bin(K-1,ncols) == '1');
end
If you are enthusiastic about the leading columns being chosen first, then you can fliplr() the result of the comparison.
Do not be surprised if at the creation of TheOutputs you get an error about the size of the cell array being too big to handle. If that happens, you can comment out that line as it is just an optimization.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!