How to create grid coordinates using elements of two matrices
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Gobert
am 3 Okt. 2021
Kommentiert: priyanka kumari
am 4 Mai 2022
Can you help? I have a situation like this:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/756829/image.png)
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 Kommentare
Akzeptierte Antwort
KSSV
am 3 Okt. 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 Kommentare
Weitere Antworten (1)
Image Analyst
am 3 Okt. 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]}
Siehe auch
Kategorien
Mehr zu Cell Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!