Use cells or char with if command

11 ビュー (過去 30 日間)
Luis
Luis 2012 年 4 月 5 日
Hello, I have a problem when passing a char character into a function, for instance, lets have a script
% run.m
y='negros'
x=randomfunction(y)
and the function
function x=randomfunction(y)
if y=='blancos'
x=5
elseif y=='negros'
x=0
end
But it does not work, I get
??? Error using ==> eq
Matrix dimensions must agree.
Error in ==> funcion at 3
if y=='blancos'
Error in ==> prueba at 4
x=funcion(y)
Can you guess how to fix this?
Thank you very much.

回答 (1 件)

Oleg Komarov
Oleg Komarov 2012 年 4 月 5 日
String comparisons should be carried out with strcmp
if strcmp(y,'blancos')
x = 5;
elseif strcmp(y,'negros')
x = 0;
end
Alternatively, using switch:
switch y
case 'blancos'
x = 5;
case 'negros'
x = 0;
end

カテゴリ

Help Center および File ExchangeData Types についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by