Variable number of input matrices in a function
Ältere Kommentare anzeigen
I want to change the code below so the function blkdiag can take on any number of matrices A, based on the value of N.
N = 3;
A_1 = sparse(1:N,1:N,-1*ones(N,1),N,N+1);
A_2 = sparse(1:N,2:N+1,1*ones(N,1),N,N+1);
A = A_1+A_2;
out = full(blkdiag(A,A,A))
So suppose N=4, then
out = full(blkdiag(A,A,A,A))
And so on.
How can I create a variable input for this function, based on a value?
Thanks,
Tim
3 Kommentare
madhan ravi
am 4 Feb. 2019
Bearbeitet: madhan ravi
am 4 Feb. 2019
A = {A_1+A_2};
A=repelem(A,N);
out = full(blkdiag(horzcat(A{:}))) % or
out = full(blkdiag(vertcat(A{:})))
Tim de Reijer
am 4 Feb. 2019
Bearbeitet: Tim de Reijer
am 4 Feb. 2019
madhan ravi
am 4 Feb. 2019
Bearbeitet: madhan ravi
am 4 Feb. 2019
True , apologies didn't verify the results.
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Multidimensional Arrays finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!