Hi, i want to compare a couple of cell array string. In example :
dataset = {
'i', 'love';
'love', 'you';
'you', 'so';
'so', 'much'
}
if i have below data test :
data_test = {'love', 'you'}
then i want to get below result (according dataset) :
'love' 'you'
Else if my data is like below :
data_test = {'love', 'much'}
Then i want to get below result (according dataset) :
'love' 'you'
So, the process is getting first word. Then getting squence of words in dataset that match with first word...
Is that possible?
Thanks in advance.

 Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 30 Jun. 2016

1 Stimme

data = {
'i', 'love';
'love', 'you';
'you', 'so';
'so', 'much'
};
data_test = {'love', 'much'};
out = data(ismember(data(:,1),data_test(1)),:);

1 Kommentar

Angga Lisdiyanto
Angga Lisdiyanto am 30 Jun. 2016
Thanks, this is what i am looking for.
The result is correct as according dataset words' squence.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

KSSV
KSSV am 30 Jun. 2016

0 Stimmen

clc; clear all
dataset = {
'i', 'love';
'love', 'you';
'you', 'so';
'so', 'much'
};
data_test = {'love', 'you'} ;
count = 0 ;
for i = 1:length(dataset)
for j = 1:length(data_test)
k = strcmp(dataset{i},data_test{j}) ;
if k
count = count+1 ;
iwant{count} = dataset{i};
end
end
end
iwant

1 Kommentar

Angga Lisdiyanto
Angga Lisdiyanto am 30 Jun. 2016
Bearbeitet: Angga Lisdiyanto am 30 Jun. 2016
Hi, thanks for answering.
I have a problem, if my data_tes is :
data_test = {'love', 'so'}
then i am still got :
'love' 'so'
How to getting result 'love' 'you' ?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Creating, Deleting, and Querying Graphics Objects finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by