查看: 342|回复: 4|关注: 0

[已答复] accumarray 不定期出错

[复制链接]

新手

7 麦片

财富积分


050


2

主题

9

帖子

0

最佳答案
发表于 2018-9-14 18:02:37 | 显示全部楼层 |阅读模式
我在程序中想使用accumarray函数,但是有时可以运行,有时就不行,如下图。我运行了许多次,一些算出了结果,一些没有。所有参数都没有改变。报的错误说第一个变量SUBS需要时正整数,我也确认过了,都是正整数。想知道为什么有时会失败。谢谢。

屏幕截图

屏幕截图

论坛优秀回答者

3

主题

1万

帖子

869

最佳答案
  • 关注者: 285
发表于 2018-9-14 21:16:14 | 显示全部楼层
你怎么确认它是正整数?光读程序是读不出来的。如果你知道什么输入会造成错误,放一个断点在accumarray,然后确认。如果不知道什么时候会出错,可以试试

>> dbstop if caught error

然后程序会停在出错的地方

新手

7 麦片

财富积分


050


2

主题

9

帖子

0

最佳答案
 楼主| 发表于 2018-9-17 10:36:45 | 显示全部楼层
honglei.chen 发表于 2018-9-14 21:16
你怎么确认它是正整数?光读程序是读不出来的。如果你知道什么输入会造成错误,放一个断点在accumarray,然 ...

你好,谢谢你的回答。是这样的,我用同样的参数,运行了这个命令很多次。有的时候可以成功,有的时候就报错了。既然成功了,那就说明这个变量是没有问题的。 只是我不明白为什么有的时候就不能成功。我的图片里显示的就是这个意思,输入变量一直没有更改,但是有时就会报错。

论坛优秀回答者

3

主题

1万

帖子

869

最佳答案
  • 关注者: 285
发表于 2018-9-17 22:29:22 | 显示全部楼层
毛豆9264 发表于 2018-9-17 10:36
你好,谢谢你的回答。是这样的,我用同样的参数,运行了这个命令很多次。有的时候可以成功,有的时候就报 ...

你怎么确认你的参数是一样的?如果这些索引是计算得到的,浮点数的误差很有可能会导致一个理论上是整数的数在计算机里不是整数。所以我才让你设个断点。或者你可以在调用accumarray之前加个判断,看看是不是整数

新手

7 麦片

财富积分


050


2

主题

9

帖子

0

最佳答案
 楼主| 发表于 2018-9-18 11:48:06 | 显示全部楼层
本帖最后由 毛豆9264 于 2018-9-18 11:49 编辑
honglei.chen 发表于 2018-9-17 22:29
你怎么确认你的参数是一样的?如果这些索引是计算得到的,浮点数的误差很有可能会导致一个理论上是整数的 ...

因为我没有更改他们呀,你看我发的截图,我就是一直在运行同一条命令,没有任何其他的操作。而且这个命令中的subs和val是之前算好的,只是调用而已。这个命令不会修改输入对吧,那输入就是永远不变的,但是有时报错,有时不报错。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表