Variable number of input matrices in a function
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Tim de Reijer
el 4 de Feb. de 2019
Respondida: Guillaume
el 4 de Feb. de 2019
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 comentarios
Tim de Reijer
el 4 de Feb. de 2019
Editada: Tim de Reijer
el 4 de Feb. de 2019
madhan ravi
el 4 de Feb. de 2019
Editada: madhan ravi
el 4 de Feb. de 2019
True , apologies didn't verify the results.
Respuesta aceptada
Guillaume
el 4 de Feb. de 2019
N = 4;
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;
blkdiaginputs = repelem({A}, N); %put your inputs in a cell array
out = full(blkdiag(blkdiaginputs{:})) %and convert the cell array into a comma-separated list
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Multidimensional Arrays en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!