Inserting an array in another to make an Nested Array

조회 수: 14 (최근 30일)
thiirane
thiirane 2015년 2월 27일
댓글: Guillaume 2015년 2월 28일
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
James Tursa
James Tursa 2015년 2월 27일
Please provide a complete example of inputs and desired output. "insert the array" really doesn't tell us much about what you really want.
thiirane
thiirane 2015년 2월 28일
Hmmm. OK let me try again. My generator array is called "One" One= [1 0 1;0 0 0;1 0 1];
The next level fractal is where One is inserted in every element of "One" where "1" exists. If the element contains a "0" then the array Zero is inserted into One. Zero=zero(3); I am simply looking for a simple way to nest One and Zero into my generator array.

댓글을 달려면 로그인하십시오.

채택된 답변

Guillaume
Guillaume 2015년 2월 28일
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
thiirane
thiirane 2015년 2월 28일
Can you help me understand how cell2mat used in this way works? How does cell2mat interpret C(X+1)?
Guillaume
Guillaume 2015년 2월 28일
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

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Roger Stafford
Roger Stafford 2015년 2월 28일
편집: Roger Stafford 2015년 2월 28일
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

카테고리

Help CenterFile Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by