Given vector with N entries, generate all combinations with K entries such that K > N, vector entries can repeat
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I'm writing a script to work some ideas I had with eigenvalues in a triangular matrix, and part of that is generating all the possible permutations of the eigenvalues in an arbitrarily sized matrix. To do this I want to generate vectors I can feed into the diag(v) function where v is composed solely of 1x1 symbolic variables.
For example: I have 2 symbolc variables a and b, that I want to feed into a 4x4 matrix so that I get all combinations of a and b across the main diagonal. This would create a matrix (or a set of vectors) that looks something like:
[a a a a
a a a b
a a b a
a b a a
a a b b
a b a b
a b b a
a b b b
b b b b
b b b a
b b a b
b a b b
b b a a
b a b a
b a a b
b a a a]
which I'll then be able to iterate over to feed into diag.
Thanks!
0 Commenti
Risposta accettata
Più risposte (2)
Matt J
il 20 Ott 2023
Modificato: Matt J
il 20 Ott 2023
Starting with R2023a,
syms a b
k=4;
v=repmat( {[a,b]},1,k);
result=table2array(combinations(v{:}))
4 Commenti
Bruno Luong
il 20 Ott 2023
Modificato: Bruno Luong
il 20 Ott 2023
I prefer cell array for mixed data types (would not know if I ever use that use case), array on pure numerical data.
At least I want an option to do it. Table is NOT a serious computing data types in my opinion. Nobody really knows the internal structure and complexity of accessing data (what I know is row access is poor). I would not use it in any program excepted for importing data, and final reprentation for user interface.
Voss
il 20 Ott 2023
syms a b
v = [a b];
n = numel(v);
k = 4;
result = v(dec2base(0:n^k-1,n)-'0'+1)
0 Commenti
Vedere anche
Categorie
Scopri di più su Number Theory in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


