Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Simulink-MATLAB-我在Simulink中有一个带有if语句的MATLAB函数块,该if语句的两个动作中只有一个被执行,为什么?_Matlab_If Statement_Simulink - Fatal编程技术网

Simulink-MATLAB-我在Simulink中有一个带有if语句的MATLAB函数块,该if语句的两个动作中只有一个被执行,为什么?

Simulink-MATLAB-我在Simulink中有一个带有if语句的MATLAB函数块,该if语句的两个动作中只有一个被执行,为什么?,matlab,if-statement,simulink,Matlab,If Statement,Simulink,我在simulink块中有以下函数。它作为输入的值席和西哈特,并评估是否应该更新XHAT。我还想输出是否有更新,因此如果xihat被更新,变量update的值为1,如果没有更新,则为-1。当我运行Simulink程序时,我得到了XIHAT的预期值(当绘制时,数据类似于席,但具有阶梯式的外观)。但是,在所有模拟时间内,up的值均为-1。这与xihat的值被更新的事实不一致。我甚至包含了一个disp('yes')来显示if语句的执行时间。简而言之,当条件为正定时,应该更新xihat,并将up赋值为1

我在simulink块中有以下函数。它作为输入的值席和西哈特,并评估是否应该更新XHAT。我还想输出是否有更新,因此如果xihat被更新,变量update的值为1,如果没有更新,则为-1。当我运行Simulink程序时,我得到了XIHAT的预期值(当绘制时,数据类似于席,但具有阶梯式的外观)。但是,在所有模拟时间内,up的值均为-1。这与xihat的值被更新的事实不一致。我甚至包含了一个disp('yes')来显示if语句的执行时间。简而言之,当条件为正定时,应该更新xihat,并将up赋值为1,并且只执行前者。这怎么可能

我曾尝试在matlab脚本中使用相同的数据运行这个完全相同的函数,然后它运行得非常完美,并且与xihat一致。我已经附上了块所在的子系统的图像

我还试图更改变量名、更改语句顺序、输出条件等,但似乎没有任何帮助

Simulink子系统与MAtlab模块:


阅读您的问题,相关信息似乎是块中的matlab代码。关心分享吗?最好有一个最小的可复制的例子。正如@AnderBiguri所提到的,目前至少缺少一件事话虽如此,我不明白为什么有人投票认为这个问题离题。@DennisJaheruddin离题的原因之一是“问题寻求调试帮助”(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题说明的问题对其他读者没有用处。”