Inserting an array in another to make an Nested Array
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
thiirane
am 27 Feb. 2015
Kommentiert: Guillaume
am 28 Feb. 2015
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 Kommentare
James Tursa
am 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.
Akzeptierte Antwort
Guillaume
am 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 Kommentare
Guillaume
am 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
Weitere Antworten (1)
Roger Stafford
am 28 Feb. 2015
Bearbeitet: Roger Stafford
am 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
Siehe auch
Kategorien
Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!