如何跟踪Matlab因错误而停止后计算的变量

时间:2016-06-22 01:50:10

标签: matlab

我正在运行一个非常大的程序,我遇到了一个错误,说

Error using ^. Inputs must be a scalar and a square matrix.

at

A=(1-s)^theta / (1+www)^mm

我的问题不是解决这个问题本身。

但问题是我无法看到哪个变量导致了这个问题,因为当我输入s或theta或www或mm时,Matlab不知道它们的值,因为工作空间不包含这些变量。

Matlab只是停止而不保存这些变量。

这是一个非常不方便的功能,因为简单地复制此问题需要很长时间。

我知道如果我添加

,我可以查看变量
keyboard

就在我看到错误之前。但是,当我需要花费很多时间来达到这一点时,我必须重新运行整个代码这一事实才会令人恼火。

当Matlab因错误而停止时,如何查看变量或至少查看这些变量的大小?

1 个答案:

答案 0 :(得分:1)

您可以通过在脚本或函数中设置断点来调试程序 - 请参阅链接:http://www.mathworks.com/help/matlab/matlab_prog/debugging-process-and-features.html

这将使您能够查看错误的来源。

此外,如果s和www是向量,您可能希望使用“。^”而不是“^” - 请参阅链接:http://www.mathworks.com/help/matlab/ref/power.html