Can somebody explain me this answer?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Marko Kosijer
el 9 de Sept. de 2019
Respondida: Marko Kosijer
el 9 de Sept. de 2019
a=[1 2; 3 4]; a(3*ones(2)) ans= 2 2 2 2
0 comentarios
Respuesta aceptada
madhan ravi
el 9 de Sept. de 2019
The code copies the third element of a as 2 by 2 matrix, see the below example:
>> a
a =
1 2
3 4
>> a(:)
ans =
1
3
2
4
>> a([3,3;3,3])
ans =
2 2
2 2
>>
0 comentarios
Más respuestas (3)
James Tursa
el 9 de Sept. de 2019
Editada: James Tursa
el 9 de Sept. de 2019
You are using linear indexing into "a". This matrix:
>> 3*ones(2)
ans =
3 3
3 3
When used as indexing, it means "create a 2x2 matrix result, and put the 3rd element of "a" into that matrix result at each spot". Since the 3rd element of "a" in memory is the value 2, you get a 2x2 matrix of all 2's as your answer.
0 comentarios
Bob Thompson
el 9 de Sept. de 2019
a=[1 2; 3 4]; % Dictates a matrix, 'a,' and it values. Is a 2x2 matrix
a(3*ones(2)) % Calls the elements of 'a' which are located at 3*a 2x2 matrix of ones.
ans= 2 2 2 2 % This answer is returned because a(3) is the element in the first row, second column, a 2, and all four elements of the ones matrix will call the same element of 'a.'
0 comentarios
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!