错误:我在底层函数中使用了单元阵列,不好!在Matlab中使用递归算法更详细的错误消息?
我不明白为什么重新启动Matlab的结果有时会变成更详细的错误消息,这些消息帮助我实际解决问题。现在我试图找到一个让Matlab尽可能多地显示信息的命令。例如,下面的index-exceed-dimension错误对于我的递归算法是完全没有用的 - 这是Matlab已经发现特定行的特定算法,但现在由于某种原因只能真实地告诉算法的名称
Index exceeds matrix dimensions.
Error in Dij (line 65)
Dij_=Dij(ii,jj,[II,k],[r,q_(k)]);
在这里你可以看到,我正在运行算法Dij失败,再次运行算法Dij。
如何获得有关错误的更多信息?或者我怎么能进入递归算法的任何一点?分离并试图进入这一点只是引发错误。
使用'dbstop if error':http://stackoverflow.com/a/3010636/97160 – Amro
你应该给出更多关于“重新启动MATLAB”的细节。在开始下一次运行之前,您的代码是否指向现有变量并未能清除它?再试一次解释你的确切问题,也许用一个代码示例? – Peter
@hhh你不需要更多的错误信息。这个信息对我来说很清楚。你有数据结构的问题。您正在尝试使用**(2^m-1)x 1 double **或类似的数据结构作为函数** Dij **中的输入,该函数接受**伽罗瓦向量**的输入。这可能也太长。长度最多可以是** 2^m - 1 **并且通常在** m = 8 **时。 –