how to create a matrix from a part of another matrix?
18 ビュー (過去 30 日間)
古いコメントを表示
x= [1 54 61 23;71 4 79 33;12 34 65 89;]
I need to have y=[1 54;71 4] i meen, "y" must take the values X (1,1) (1,2) (2,1) (2,2)
how can i do it????
0 件のコメント
採用された回答
Star Strider
2014 年 9 月 7 日
You essentially already did it. You simply need to use the correct index references:
x= [1 54 61 23;71 4 79 33;12 34 65 89];
y = x(1:2, 1:2);
4 件のコメント
Star Strider
2014 年 9 月 7 日
編集済み: Star Strider
2014 年 9 月 7 日
That is not the result I get:
Ngl = 1
y = x(1:Ngl, 1:Ngl)
produces:
Ngl =
1
y =
1
and this code:
Ngl = 3
y = x(1:Ngl, 1:Ngl)
produces:
Ngl =
3
y =
1 54 61
71 4 79
12 34 65
If you want to add a limit to be certain ‘Ngl’ does not exceed the size of ‘x’, the code becomes:
Ngl = 3
Ngl = min([Ngl size(x)]);
y = x(1:Ngl, 1:Ngl)
With this check, ‘y’ will always be square, will start at the first row and column indices of ‘x’, and ‘y’ will not attempt to get values of ‘x’ that are beyond the index limits of ‘x’.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!