Crazy If statement Error
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Andrei Makarskiy
el 21 de Oct. de 2015
Comentada: Andrei Makarskiy
el 21 de Oct. de 2015
I have the following code:
optionDirection='sell'; % buy sell
optionType='put'; % put call all
if (optionDirection == 'buy')
switch optionType
case 'put'
calc_put_options_change;
case 'call'
calc_call_options_change;
case 'all'
calc_call_options_change;
calc_put_options_change;
end
else
switch optionType
case 'put'
calc_sold_put_options_change;
case 'call'
calc_sold_call_options_change;
case 'all'
calc_sold_call_options_change;
calc_put_options_change;
end
end
What does this error mean??
Error using ==
Matrix dimensions must agree.
Error in calc_change (line 36)
if (optionDirection == 'buy')
P.S. Matlab never stops surprising me on almost every simple step. Seems like Matlab developers aren't looking for easy ways....
0 comentarios
Respuesta aceptada
the cyclist
el 21 de Oct. de 2015
Editada: the cyclist
el 21 de Oct. de 2015
The == operation does a specific comparison that is not appropriate here. I think you'll find more success with either isequal or strcmp.
If your definition of "easy" is for every programming language to be syntactically equivalent, then you are doomed to disappointment. MATLAB syntax is obviously optimized to make certain things (especially matrix computations) fast and easy. Other things then have to be a bit less intuitive. There's just no way around that.
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!