I have 460 x and y coordinates. How do I make a matrix ? Thanks in advance.

답변 (1개)

Ameer Hamza
Ameer Hamza 2020년 10월 11일
편집: Ameer Hamza 2020년 10월 11일

0 개 추천

See meshgrid()
x; % vector of x-values
y; % vector of y-values
[X, Y] = meshgrid(x, y)

댓글 수: 5

Ishani Mukherjee
Ishani Mukherjee 2020년 10월 11일
편집: Ishani Mukherjee 2020년 10월 11일
Thanks for the prompt reply!
This makes 2 separate matrices.. Is there any way I can make a single matrix that has both x and y coordinates? Each value in the matrix would have a x coordinate and a y coordinate.
You can create a 3D matrix or a cell aray.
3D matrix:
x = [1,2,3];
y = [2,3,4];
[X, Y] = meshgrid(x, y);
XY = cat(3, X, Y);
Access values like this
>> XY(1,1,:)
ans(:,:,1) =
1
ans(:,:,2) =
2
However this will return a 3D vector with two elements. To get a normal 2D vector
>> squeeze(XY(1,1,:))
ans =
1
2
Cell array:
x = [1,2,3];
y = [2,3,4];
[X, Y] = meshgrid(x, y);
XY = arrayfun(@(x, y) {[x y]}, X, Y);
and access elements like this
>> XY{1,1}
ans =
1 2
Ishani Mukherjee
Ishani Mukherjee 2020년 10월 11일
Thank you so much. Is there any way I can plot the matrix?
Something like this
x = [1,2,3];
y = [2,3,4];
[X, Y] = meshgrid(x, y);
plot(X(:), Y(:), '+')
Ishani Mukherjee
Ishani Mukherjee 2020년 10월 11일
Thanks!!

댓글을 달려면 로그인하십시오.

카테고리

질문:

2020년 10월 11일

댓글:

2020년 10월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by