Fastest way to create N by 1 matrix which contain lots of zero without using for loop
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I want to express n x 1 matrix, X
X = [ a; a; a; a; b; 0; 0; 0; b; 0; 0; 0; (...) b; 0; 0; 0; b; 0; 0; 0; c; c; ] ("b; 0; 0; 0;" block is repeated N times)
What I first design is that:
A = a * ones(4,1) ; B = zeros(4,1); B(1) = b ; C = c * ones(2,1); X = [ A ; B ; B ; (...) B ; B ; C ] ;
But the problem is that I cannot set a number of center block. How can I code it?
Thanks in advance :D
0 commentaires
Réponse acceptée
OCDER
le 12 Oct 2018
a = 1;
b = 2;
c = 3;
N = 10;
D = [repelem(a, 4, 1);
repmat([b; 0; 0; 0], N, 1);
repelem(c, 2, 1)];
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!