我正在运行一个非常大的程序,我遇到了一个错误,说
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因错误而停止时,如何查看变量或至少查看这些变量的大小?
答案 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