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 CenterFile Exchange에서 Data Types에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by