Get a three column matrix from meshgrid data

17 次查看(过去 30 天)
I have the following program:
x=linspace(0.1,0.3,3);
y=linspace(1,3,3);
[x1,y1] = meshgrid(x,y);
z=x1.*y1;
Now I want to rearrange the data to get a three column matrix C like this
0.1 1 z1
0.1 2 z2
0.1 3 z3
0.2 1 z4
0.2 2 z5
0.2 3 z6
0.3 1 z7
0.3 2 z8
0.3 3 z9
where z1 to z9 are the corresponding values. So, how to obtain the above matrix?

采纳的回答

Star Strider
Star Strider 2020-1-20
Add one line:
x=linspace(0.1,0.3,3);
y=linspace(1,3,3);
[x1,y1] = meshgrid(x,y);
z=x1.*y1;
C = [x1(:), y1(:), z(:)]
to produce:
C =
0.1 1 0.1
0.1 2 0.2
0.1 3 0.3
0.2 1 0.2
0.2 2 0.4
0.2 3 0.6
0.3 1 0.3
0.3 2 0.6
0.3 3 0.9
The ‘(:)’ subscripting convention forces a column vector.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Computational Geometry 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by