Azzera filtri
Azzera filtri

array comparison. help please!

1 visualizzazione (ultimi 30 giorni)
Diogo Queirós
Diogo Queirós il 16 Set 2014
Commentato: Diogo Queirós il 17 Set 2014
i have an array:
barr=
'SE BRG'
'PTC 0275'
'PTD 0262'
'PTC 0062'
'PTC 0471'
'PTC 0471 CJ 1'
'PTD 0084'
'PTD 0286'
'PTD 0286 CJ 1'
and a matrix:
pt =
'Name' 'S'
'PTC 0062' [ 500]
'PTC 0275' [ 315]
'PTC 0471' [ 790]
'PTD 0084' [ 500]
'PTD 0262' [ 630]
'PTD 0286' [ 630]
what i want to do is match the 'Name' with the array barr and create a new array with the respective 'S', and the elements that don't exist in the column 'Name' are [0]. so the correct result would be:
barr= Sbarr=
'SE BRG' [ 0]
'PTC 0275' [ 315]
'PTD 0262' [ 630]
'PTC 0062' [ 500]
'PTC 0471' [ 790]
'PTC 0471 CJ 1' [ 0]
'PTD 0084' [ 500]
'PTD 0286' [ 630]
'PTD 0286 CJ 1' [ 0]
can anyone help me with this?

Risposta accettata

Niko
Niko il 16 Set 2014
[~,ind]=ismember(barr,pt(2:end,1));
temp=pt(:,2); temp{1}=0;
Sbarr=[barr,temp(ind+1)]

Più risposte (0)

Categorie

Scopri di più su Modeling 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