Azzera filtri
Azzera filtri

Convert three array into one matrix.

2 visualizzazioni (ultimi 30 giorni)
DAT VUONG
DAT VUONG il 28 Ago 2017
Commentato: DAT VUONG il 30 Ago 2017
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.

Risposta accettata

Stephen23
Stephen23 il 28 Ago 2017
Modificato: Stephen23 il 28 Ago 2017
>> 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

Più risposte (2)

KL
KL il 28 Ago 2017
Modificato: KL il 28 Ago 2017
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 il 28 Ago 2017
Thanks Stephen Cobeldick!

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by