在Matlab编写函数,以及Simulink创建function函数块时遇到一个问题,
Variable 'a' is undefined on some execution paths.
此问题的原因在于matlab的语法编译与c语言有些区别,而造成的参数没有完整定义的报错。
举个简单的例子,比如:
if a~=0 (~=matlab不等号表示)
b=a*2;
end
if a==0
b=a+3;
end
c=b*5;
此时就会发生这种报错,在c语言中不会发生
解决方法:
if a~=0 (~=matlab不等号表示)
b=a*2;
else
b=a+3;
end
c=b*5;
对于复杂的逻辑判断需要同时用else和elsif构成完成逻辑判断框架。
matlab官网论坛问题链接