How do i write the If-statement with characters?

7 ビュー (過去 30 日間)
Trym Johannes Berg
Trym Johannes Berg 2016 年 9 月 14 日
編集済み: Adam 2016 年 9 月 14 日
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 Center および File ExchangeCharacters and Strings についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by