Inserting an array in another to make an Nested Array
61 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello I want to build a fractal. I want to start with One=[1 0 1;0 0 0;1 0 1] Zero=zeros(3)
Then I want to search this array for an element =1 if equal to "1" insert the array One otherwise the array Zero. I am pretty sure this can be done with Cat but wanted to see what others think.
Thanks for your time.
2 Commenti
James Tursa
il 27 Feb 2015
Please provide a complete example of inputs and desired output. "insert the array" really doesn't tell us much about what you really want.
Risposta accettata
Guillaume
il 28 Feb 2015
C = {zeros(3); [1 0 1; 0 0 0; 1 0 1]};
X = [1 1 0; 0 1 0]; %current matrix
X = cell2mat(C(X+1)) %new matrix
2 Commenti
Guillaume
il 28 Feb 2015
It's fairly basic indexing, Y = C(X) returns an array Y the size of X (*) where each element Yn is the value of C at index Xn.
Therefore, in C(X+1), when Xn == 0, Yn is C(1) and when Xn == 1, Yn is C(2).
* except under some circumstances (both are vectors) because people at Mathworks love having exceptions which we all know makes generic programming so much easier. /end rant
Più risposte (1)
Roger Stafford
il 28 Feb 2015
Modificato: Roger Stafford
il 28 Feb 2015
ONE = [1 0 1;0 0 0;1 0 1];
M = (your current matrix of 1's and 0's)
M = kron(M,ONE); % This will be the next version of M
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!