How to create grid coordinates using elements of two matrices
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Gobert
el 3 de Oct. de 2021
Comentada: priyanka kumari
el 4 de Mayo de 2022
Can you help? I have a situation like this:
How can I use the elements of the above two matrices to create a new grid coordinate system for another matrix? PS: Only consider a situation like this. Do not think in this sub2ind or ind2sub way.
0 comentarios
Respuesta aceptada
KSSV
el 3 de Oct. de 2021
A = [2 3 ; 4 5] ;
B = [6 7 ; 8 9] ;
for i = 1:2
for j = 1:2
P = [A(i,j) B(i,j)]
end
end
2 comentarios
Más respuestas (1)
Image Analyst
el 3 de Oct. de 2021
Robert:
You can do
M1 = [2 3 ; 4 5];
M2 = [6 7 ; 8 9];
newM = reshape([M1(:), M2(:)], [], 2)
which gives a 4 row by 2 column matrix.
newM =
2 6
4 8
3 7
5 9
Essentially it's a vectorized version of what KSSV did.
To have each element be a 2-by-1 row vector, like you showed, you would need to create either a table or a cell array. I show you how to do this below:
% Create table:
t = table(newM(1:2,:), newM(3:4, :))
% Create cell array
ca = cell(2, 2);
for k = 1 : 4
ca{k} = newM(k,:);
end
ca % Show in command window.
You get:
t =
2×2 table
Var1 Var2
______ ______
2 6 3 7
4 8 5 9
ca =
2×2 cell array
{[2 6]} {[3 7]}
{[4 8]} {[5 9]}
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices 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!