【发布时间】:2014-10-07 22:47:23
【问题描述】:
我对 MATLAB 有疑问 - 或者至少我目前无法解决它,如果我处理该特定错误消息,我会得到非常复杂的示例。综合来看,我的问题如下:
我必须编写棋盘游戏。游戏字段以这种方式用零初始化:
Field = zeros([6 7]);
稍后,我必须检查获胜条件。但是,如果我做类似的事情
if GameField(7, 7) == xxx
那么它显然失败了,因为游戏字段只有六列。确切的错误消息是“索引超出矩阵维度” - 我完全可以理解这是为什么。
是否有任何函数可以帮助我避免该错误(以编程语言中的 try-catch 的方式)。例如,我知道有一个名为exists 的函数,但这仅适用于变量等 - 但不适用于矩阵维度。在处理对角线值时,使用length()-函数会非常棘手。我实际上正在寻找一个功能(我不知道它的名字),它的工作原理如下
if valueExists(GameField(7, 7))
%do something
else
%do something other
end
【问题讨论】:
-
mathworks.com/help/matlab/ref/try.html 但如果需要,最好只检查大小