How do i write the If-statement with characters?

7 次查看(过去 30 天)
I have this code:
function oving1 = oving(navn)
if navn == 'Mathias'
y1 = [72,15,36,61];
bar(y1,'g');
axis([0 5 0 100]);
set(gca,'XTickLabel',{'Flegmatisk', 'Kolerisk', 'Sangvinsk', 'Melankolsk'});
xlabel('Temperament');
ylabel('Prosent');
fprintf('Kommentar:\n Mathias er en veldig hyggelig og rolig person som sjeldent hisser seg opp over problemer.\n Han kan til tider være ganske tungsindig og bære nag, men han er til gjengjeld optimistisk\n');
elseif navn == 'Trym'
y2 = [86,35,60,25,92];
bar(y2,'r');
axis([0 7 0 100]);
set(gca,'XTickLabel',{'Ekstroversjon', 'Medmenneskelighet', 'Kontroll', 'Temperament', 'Intellekt'});
xlabel('Personlighet');
ylabel('Prosent');
fprintf('Kommentar:\n Jeg ser på meg selv som en veldig ekstrovert person som sjeldent klarer å kontrollere temperamentet mitt.\n Til tider kan jeg har for lite empati for andre mennesker. Jeg liker å tenke, reflektere og løse nye situasjoner. Desverre er jeg nok ikke den mest punktlige personen :( \n');
else
disp('Ikke gyldig navn');
end
end
When i try to run in with 'Trym', it just stops me at line 4 with:
Error using == Matrix dimensions must agree.
Error in oving (line 4) if x == 'Mathias'
How can i solve this so i can type diffrent names??

回答(1 个)

Adam
Adam 2016-9-14
编辑:Adam 2016-9-14
You should use
strcmp( navm, 'Mathias' )
for comparing strings.
Equality test (==) would only work if the two strings are identical length which is usually not very helpful!

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by