Strings cannot be compared

After I enter in the strings into the textboxes, they will not be compared. The errors said 'Error using == Matrix dimensions must agree.' Can someone help me fix this problem. Here is my following code. Thank you.
function pushbutton1_Callback(hObject, eventdata, handles)
x = get(handles.edit1,'String');
y = get(handles.edit4,'String');
if(x == 'Rice')
if(y == 'Noodle')
strcmp(x, y);
set(handles.edit2,'String','Eat rice for lunch');
end
end
if(x == 'Swimming')
if(y == 'Bowling')
strcmp(x, y);
set(handles.edit2,'String','Let's go swimming');
end
end

Antworten (2)

Walter Roberson
Walter Roberson am 30 Jan. 2017

0 Stimmen

Those are not strings, those are character vectors. Strings were added in R2016b. To compare character vectors that might be of different length use strcmp()

2 Kommentare

Guillaume
Guillaume am 30 Jan. 2017
Bearbeitet: Guillaume am 30 Jan. 2017
The addition of the string class in matlab is very welcomed, but it does mean that we have to be a lot more careful about how we name char arrays. Calling a char array a string before R2016b was perfectly fine.
Walter Roberson
Walter Roberson am 30 Jan. 2017
I wish they had used a different word, but I am not sure what other word they might have used.

Melden Sie sich an, um zu kommentieren.

Guillaume
Guillaume am 30 Jan. 2017

0 Stimmen

You seem to sort of know that you need to use strcmp for comparing string since you've put a (useless in this case) strcmp inside your if. When comparing character vectors, you must always use strcmp
if strcmp(x, 'Rice') & strcmp(y, 'Noodle')
set(handles.edit2,'String','Eat rice for lunch');
end
Or, since R2016b, you could use the new string class, where comparison is a lot more intuitive since it uses ==
if string(x) == 'Rice' & string(y) == 'Noodle'
set(handles.edit2,'String','Eat rice for lunch');
end

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 30 Jan. 2017

Bearbeitet:

am 30 Jan. 2017

Community Treasure Hunt

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

Start Hunting!

Translated by