# Assigning X-Y Coordinates to 2-D Matrix

74 views (last 30 days)
tinkyminky93 on 29 Mar 2022
Edited: Matt J on 31 Mar 2022
Hello, I am trying to create a matrix like shown below and plot them like shown too. It is a simple 3x3 matrix and it contains X-Y coordinates of a point. I am trying to create this matrix with "for" loop but I cannot assign 2 values (x and y) to an element.
I will index the elements of the matrix for further work so I need these elements individually with their x-y coordinates.
I tried the code below but I know it is not true. Also the plot has some problems. Can you help me? Thanks.
close all
clear all
clc
Z = zeros(3,3)
for i=1:1:3
for j = 1:1:3
x = [0:100:200];
y = [200:-100:0];
A(i,j) = [x(i)];
B(i,j) = [y(j)];
Z = [A B];
plot(Z, '*');
end
end Matt J on 29 Mar 2022
Edited: Matt J on 29 Mar 2022
What I think you are trying to do is,
[x,y]=meshgrid([0,100,200],[200 100 0])
x = 3×3
0 100 200 0 100 200 0 100 200
y = 3×3
200 200 200 100 100 100 0 0 0 Matt J on 31 Mar 2022
Edited: Matt J on 31 Mar 2022
I believe I have done that already. You have asked for a way to access an individual x,y pair with the syntax A(i,j). By now, you will know that that is impossible, however, I showed you earlier that you can do so with essentially the same syntax A(i,:,j),
[x,y]=meshgrid([0,100,200],[200 100 0]);
A=permute( cat(3,x,y) ,[1,3,2]);
A(1,:,2)
ans = 1×2
100 200

### Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

R2021b

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!