如何使Matlab包含表达式的所有维度,因为维度不一致?

时间:2010-07-08 20:14:26

标签: matlab

所以我正在调试一些Matlab代码,我得到了一些表达式的维度 - 不同意错误。 Matlab指向正确的行等是很好的。但是如果Matlab输出错误文本中涉及的变量的维度,那将是很好的,所以我不必自己处理它们的大小。有时候,为了在for循环中进行长时间的表达,确定所有尺寸究竟是什么都是一件非常麻烦的事。

那么有设置或黑客吗?

2 个答案:

答案 0 :(得分:7)

解决此问题的最简单方法是在命令窗口中键入dbstop if error,然后运行代码。然后MATLAB将在它抛出错误之前停止执行,它将在抛出错误的行上打开编辑器。然后,您可以随意检查数组大小,甚至可以在命令窗口中尝试可能的修复,因为您可以访问代码中当前活动的所有变量。

答案 1 :(得分:2)

您可以尝试try-catch-end阻止。

E.g。

try
    %# Some error prone code
    a = getA(b);
catch err_msg
    %# Display any information you want 
    disp(size(b));
    %# Display the error message
    disp(err_msg.identifier);
    disp(err_msg.message);
end 

如果你想自己评估一下,你也可以在catch块中输入一个断点。