2017-04-18 11 views
0

セルCのサイズは(C)= 1x28です。各セルには10x10のマトリックスが含まれています。私は、サイズ(M)= 8x8の上三角アレイMを形成するためにCを作り直したいと思います。対角線の上にあるMの各セルには、元の10x10マトリックスが含まれている必要があります。どんな提案も感謝しています。あなたの構造体のみ数値値が含まれている場合セルを上三角行列に変換する

+0

セルCは、以下のC =セル(1,28)を使用して生成することができます。 i = 1:28 C {i} = num2cell(rand(10,10)); end – Adugna

+0

よく解決されました!まず、上三角行列の行と列のインデックスを生成しました。 [v2、v1] = find(triu(ones(8)、1));それから私はM = cell(8,8)として空のセルを作りました。次に、私は行列をz = 1:28 M {v2(z)、v1(z)} = C {z}に入れた。 end – Adugna

答えて

0

あなたはcell2mat使用することができます。

C = num2cell(rand(8)); % generate random cell array 
M = cell2mat(C); % convert cell to matrix 
MU = triu(M,1); % get the upper triangular matrix 
+0

このコードは質問に答えるかもしれませんが、_how_および/または_why_に関する追加の[context](https://meta.stackexchange.com/q/114762)を提供することで、問題を解決して回答の長期的価値を向上させることができます。あなたが今質問している人だけでなく、将来読者のための質問に答えていることを忘れないでください!あなたの答えを説明するためにあなたの答えを編集して([http://stackoverflow.com/posts/43488114/edit])、どのような制限や前提が適用されるかを示してください。 –

+0

コメントのおかげで、数値のセルの制限が追加されました – user2999345

関連する問題