how to create a matrix from a part of another matrix?
32 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Rachuan
el 7 de Sept. de 2014
Editada: Star Strider
el 7 de Sept. de 2014
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 comentarios
Respuesta aceptada
Star Strider
el 7 de Sept. de 2014
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 comentarios
Star Strider
el 7 de Sept. de 2014
Editada: Star Strider
el 7 de Sept. de 2014
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’.
Más respuestas (0)
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!