MATLAB Answers

selecting multiple strinfs of variables

4 views (last 30 days)
ektor
ektor on 14 May 2012
Dear all,
I have produced the following output
county interst rate
England b1
England b1
England b1
England b1
England b2
England b2
England b2
England b3
England b3
England b4
England b4
The above table says that for England we have different types of interest rate. I would like to select the values of interest rates that correspond to both bi and b2.
If I use the command
strcmp(mdata1(:,2),'b1')
i select only b1. But I want to select both b1 and b2 Any suggestions?
thanks in advance,
stef

  0 Comments

Sign in to comment.

Accepted Answer

Titus Edelhofer
Titus Edelhofer on 14 May 2012
Hi Stef,
I guess you are looking for ismember:
ismember(mdata(:,2), {'b1' 'b2'})
Titus

  1 Comment

ektor
ektor on 14 May 2012
Hi Titus,
It worked!. thank you so much. I would like to ask you something relevant to the previous question. Apart from the above columsn I have also another column that takes numerical values but has the following structure
[10]
[10]
[10]
[10]
[10]
[10]
[10]
[10]
[10]
[10]
[10]
[8]
[8]
[8]
[8]
[ 7]
[ 7]
[ 7]
[ 0]
[ 0]
Again, I want to select b1 and b2 from the column
"interest rate ínterest" AND the number 7 and 0 from the above column so as to find the corresponding values of interest rates.
I was thinking something like
ismember(mdata(:,2), {'b1' 'b2'}) & something else" "
but i do not know what this "something else" is. your help is greatly appreciated

Sign in to comment.

More Answers (1)

ektor
ektor on 14 May 2012
Hi Titus,
It worked!. thank you so much. I would like to ask you something relevant to the previous question. Apart from the above columsn I have also another column that takes numerical values but has the following structure
[10]
[10]
[10]
[10]
[10]
[10]
[10]
[10]
[10]
[10]
[10]
[8]
[8]
[8]
[8]
[ 7]
[ 7]
[ 7]
[ 0]
[ 0]
Again, I want to select b1 and b2 from the column "interest rate ínterest" AND the number 7 and 0 from the above column so as to find the corresponding values of interest rates.
I was thinking something like
ismember(mdata(:,2), {'b1' 'b2'}) & something else" " but i do not know what this "something else" is. your help is greatly appreciated
Comment on this Answer

  2 Comments

Titus Edelhofer
Titus Edelhofer on 14 May 2012
The values you have seem to be a cell array. Convert it to a double array:
doubleArray = cell2mat(cellArray);
Then you can use it lile
ismember(mdadata(:,2), {'b1' 'b2'}) & (doubleArray==0 | doubleArray==7)
ektor
ektor on 14 May 2012
Thank you so much for one more time. you were correct!

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by