matlab错误:Subscript indices must either be real positive integers or logicals.

原创 2016年06月01日 09:58:14

这两天调试matlab程序的过程中,遇到一bug:
Subscript indices must either be real positive integers or logicals.

其中文解释很容易理解,即:
下标索引必须是正整数类型或者逻辑类型。

出错原因

1)在访问矩阵(包括向量、二维矩阵、多维数组,下同)的过程中,下标索引要么从 0 开始,要么出现了负数。

注:matlab 的语法规定矩阵的索引从 1 开始,这与 C 等编程语言的习惯不一样。
2)调用某个matlab内部函数时(该函数有输入参数),若工作空间中有一个与该函数同名的变量(向量、矩阵等)。

注:matlab会把该调用函数的命令当成是引用该变量的命令,该函数的输入参数被当成是该变量的索引,如果输入参数非正整数或逻辑值,则会出现上述错误,即使输入参数为正整数或逻辑值,不提示上述错误,由于初衷是调用函数,变成引用变量,也会造成程序错误。

解决办法

1)调试程序,把下标为 0 或者负数的地方修正。
2)在定义变量名时,一定不要定义成与函数名相同的名字。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

matlab错误:Subscript indices must either be real positive integers or logicals.

matlab错误:Subscript indices must either be real positive integers or logicals. 中文解释:下标索引必须是正整数类型或者逻辑类...

IBIS SPICE模型对比 (转帖)

IBIS与SPICE模型对比及电磁干扰简介!(转贴) 什么是IBIS模型2 ~/ H" }# O% k9 C$ N6 AEDA365 IBIS(Input/Output Buffer Info...
  • FLP15
  • FLP15
  • 2010-08-23 16:25
  • 1353

Matlab绘图-很详细,很全面

Matlab绘图强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Ma...

matlab三维绘图

在matlab中,常用的三维图形包括三维曲线,三维网格图和三维曲面图的绘制,分别采用plot3()、mesh()、和surf()进行绘制 --------------------------...

matlab读三维txt数据并绘图

首先文件内容如下: [[ 0.57694962 -0.0513004  -0.05568175]] [[-1.02648869  0.23319389 -0.21263301]] [[-0.42390...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)