0 matlab
这是我用一小段代码作为例子的问题:
function [] = trial(test)
disp(test)
if(test == 1)
disp('test is one')
test = 0;
end
disp(test)
Run Code Online (Sandbox Code Playgroud)
当我执行
> trial(0)
Run Code Online (Sandbox Code Playgroud)
Matlab打印出来:
0
'test is one'
0
Run Code Online (Sandbox Code Playgroud)
这不是我真正的代码,它有超过500行,但这是我的代码的一部分,问题已经上升.我已经使用搜索功能来查看我是否已经在任何地方递增任何变量,并且在我不想要的时候已经花了2个多小时试图查看为什么MATLAB正在改变我的变量.
小智 5
遗憾的是,MATLAB永远不会显示您为所显示的代码片段声明的行为,因为这个特定的片段总是会做正确的事情.你在这里做错了,但我们不知道它是什么,你的代码太长了,我们无论如何都找不到错误.
我敢打赌答案在于以下一个常见问题:
为了解决这个问题,我强烈建议使用调试器.跟踪您的代码,观察此变量以查看其变化的时间.