array comparison. help please!

1 view (last 30 days)
Diogo Queirós
Diogo Queirós on 16 Sep 2014
Commented: Diogo Queirós on 17 Sep 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?

Accepted Answer

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

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!