Comma separated list generation
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Jan
am 22 Jun. 2011
Bearbeitet: Stephen23
am 22 Feb. 2024
How can you expand a comma separated list from a repetition? I am searching for the elegant way to do something like this:
Instead of
Y = blkdiag(X, X, X),
write Y = repblkdiag(X,3). The code I use now is:
function Y = repblkdiag(X, n)
Y = [];
for j = 1:n
Y = blkdiag(Y, X);
end
I expected that something like
Y = blkdiag(deal(repmat(X,3)))
would work. Thanks for your interest and contribution,
Jan
0 Kommentare
Akzeptierte Antwort
Andrei Bobrov
am 22 Jun. 2011
xc = repmat({X},1,3)
Y = blkdiag(xc{:})
4 Kommentare
Teja Muppirala
am 22 Jun. 2011
It is possible to do it in one line, but I think Andrei's solution is simpler.
Y = eval(['blkdiag( ' repmat('X,',1,3) '[])'])
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!