Borrar filtros
Borrar filtros

How to index a matrix other than using curly brackets

3 visualizaciones (últimos 30 días)
Scott Banks
Scott Banks el 4 de Mayo de 2023
Comentada: Matt J el 5 de Mayo de 2023
Hi there,
I have a matrix whereby I want to shift the values of the matrix by a given amount,. The matrix that I want to shift is given below:
T1 = zeros(6,18)
T1(1,2) = 1;
T1(2,1) = 1;
T1(3,3) = 1;
T1(4,5) = 1;
T1(5,4) = 1;
T1(6,6) = 1;
I want to shift the values of 1 by 6 places in the 6 by 18 matrix. To do this I have used the circshift function in a for loop
for i = 1:2
T1x{i} = circshift(T1,[0,i*6])
end
The shifting by a factor of 6 places is fine, but I would like to know how I can index T1x other than using the curly brackets that gives a cell format. I would like to use double format. This is because it easier to sum the matrices together at a later stage of my work.
Can anyone help me please,
Best wishes,
Scott

Respuesta aceptada

Matt J
Matt J el 4 de Mayo de 2023
Editada: Matt J el 4 de Mayo de 2023
Why not stack the T1x{i} into a 3D array,
T1x=cat(3, T1x{:});
Indexing them would look like,
T1x(:,:,i)
and summing over i could then be done as,
sum(T1x,3)
  2 comentarios
Scott Banks
Scott Banks el 5 de Mayo de 2023
Movida: Matt J el 5 de Mayo de 2023
Thanks for your help, guys
Matt J
Matt J el 5 de Mayo de 2023
You're welcome, but please Accept-click the answer to indicate it did what you want.

Iniciar sesión para comentar.

Más respuestas (0)

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!

Translated by