How do I horizontally concatenate the following 2 numerical arrays?

1 vue (au cours des 30 derniers jours)
Brad
Brad le 27 Nov 2013
I have 2 separate arrays that I'm trying to concatenate.
ND is a 2x6 double array as follows;
ND = 58560 NaN 58561 -1100 -5100 4100
58570 Nan 59571 -1200 -5200 4200
OD is a 3x4 double array as follows;
OD = 58564 1 58563 11
58572 2 58573 21
58572 2 58573 22
The desired output array is shown below (3x 10 double array):
output = 58560 NaN 58561 -1100 -5100 4100 58564 1 58563 11
58570 NaN 59571 -1200 -5200 4200 58572 2 58573 21
58570 NaN 59571 -1200 -5200 4200 58572 2 58573 22
Since the dimensions do not allow for either vertical or horizontal concatenation, is there a technique I could use to achieve the desired output?

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 27 Nov 2013
Modifié(e) : Azzi Abdelmalek le 27 Nov 2013
ND =[58560 nan 58561 -1100 -5100 4100;58570 nan 59571 -1200 -5200 4200]
OD =[58564 1 58563 11;58572 2 58573 21; 58572 2 58573 22]
n=size(ND,1);
m=size(OD,1);
ND(end:m,:)=repmat(ND(end,:),m-n+1,1)
out=[ND OD]
  1 commentaire
Brad
Brad le 27 Nov 2013
Azzi, thank you for looking at this. The answer you supplied works.
I do have a follow on question. In my original question, I supplied the sample arrays ND and OD, along with the desired output. In executing your answer I realized the sample matrices I supplied were too simplified. If the OD array is:
OD = 58564 1 58563 11
58564 1 58565 12
58572 2 58573 21
58572 2 58573 22
And the desired output is:
output = 58560 NaN 58561 -1100 -5100 4100 58564 1 58563 11
58560 NaN 58561 -1100 -5100 4100 58564 1 58565 12
58570 NaN 59571 -1200 -5200 4200 58572 2 58573 21
58570 NaN 59571 -1200 -5200 4200 58572 2 58573 22
How do I achieve the desired result when I can't use end as part of the repmat?

Connectez-vous pour commenter.

Plus de réponses (1)

Andrei Bobrov
Andrei Bobrov le 27 Nov 2013
out = [ND(OD(:,2),:),OD]

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by