Inserting an array in another to make an Nested Array
16 ビュー (過去 30 日間)
古いコメントを表示
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
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.
採用された回答
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 件のコメント
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
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 Center および File Exchange で Resizing and Reshaping Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!