为什么我会收到“冒号运算符用作索引时需要整数操作数”的警告?

1.319浏览量(最近30天)
为什么我会收到以下错误消息:
警告:整型操作数当用作索引时,冒号操作符需要。

接受的答案

MathWorks支金宝app持团队
解释:
在使用非整数值创建要引用到函数中的索引向量时,已将其用作冒号(:)运算符的参数之一(起始值、增量或停止值)。
常见原因:
您执行计算以获取索引的开始值或停止值,但这些计算的结果并不完全是整数。
解决方案:
使用FIX、FLOOR、CEIL或ROUND函数修改索引计算,以确保索引为整数。当MATLAB在包含变量的行上处于调试模式时,您可以通过将变量与在该变量上运行的舍入函数的输出进行比较来测试变量是否包含整数。
演示此错误的示例:
IntegerOperandsRequired.m
1评论
米尔科
米尔科 2014年3月26日
尽管在语句中没有冒号,我还是得到了这个警告:
分= [pts, [mx(我,1)+ xavg-r mx(我,2)+ yavg-r,规范,rg) ');

登录评论。

更多的答案(3)

冯建设
冯建设 2016年11月29日
一个补充是,这不是一个错误,但它真的很烦人,非常耗时!!我试图在我的代码中重新创建这个警告,运行时间从大约150秒更改为3000秒!从这个角度来看,这个警告对高效脚本来说比错误更糟糕。

贾斯汀雷纳
贾斯汀雷纳 2015年12月14日
谢谢你的回答,这很有效!!!对我来说,我的解决办法就是简单地用地板把数学问题包起来-
  • (原始错误)z=y(1:x)
  • (修订-工作)z=y(1:楼层(x))
谢谢!

标签

还没有进入标签。

下载188bet金宝搏

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始打猎吧!

翻译的