Convert three array into one matrix.

2 次查看(过去 30 天)
I have two array 1xn (A1....An), 1xm(B1...Bm) and value Z. I want to create one matrix nxm rows and 3 columns as follow:
A1 B1 Z,
A1 B2 Z,
...
A1 Bm Z,
A2 B1 Z,
...
An B1 Z,
...
An Bm Z
I do not know how to create this. Could you please help me to solve this problem. Thanks for your help.

采纳的回答

Stephen23
Stephen23 2017-8-28
编辑:Stephen23 2017-8-28
>> A = 1:3;
>> B = 4:7;
>> Z = 8;
>> [Am,Bm,Zm] = meshgrid(A,B,Z);
>> [Am(:),Bm(:),Zm(:)]
ans =
1 4 8
1 5 8
1 6 8
1 7 8
2 4 8
2 5 8
2 6 8
2 7 8
3 4 8
3 5 8
3 6 8
3 7 8

更多回答(2 个)

KL
KL 2017-8-28
编辑:KL 2017-8-28
n = 3;
m = 5;
A = rand(1,n)
B = rand(1,m)
Z = 10;
res = [reshape(repmat(A,m,1),n*m,1) repmat(B',n,1) Z*ones(n*m,1)]

DAT VUONG
DAT VUONG 2017-8-28
Thanks Stephen Cobeldick!

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by