首页 > 解决方案 > 为什么我会收到“数组索引必须是正整数或逻辑值”。

问题描述

谁能找到我的代码在哪里为这个函数抛出错误?alpha_p 和 width 都是所有数字都是正数的数组。

gain2 = (alpha_p.'./(1-exp(-alpha_p.'.*width.'))).*((((2.*(exp((-2.*alpha_.*(1-k)-alpha_p.').*width.'))-1))./(-2.*alpha_.*(1-k)-alpha_p.'))-(((exp(-2.*alpha_.*(1-k).*width')-k)./(exp(-alpha_(1-k).*width.')-k)).*((1-exp((-alpha_.*(1-k)-alpha_p.').*width.'))./(alpha_.*(1-k)+alpha_p.'))));

标签: arraysmatlab

解决方案


错误从下图中框指示的部分传播。-alpha_可能是由于和之间缺少运算符造成的(1-k)。当然假设变量alpha_是常量/标量而不是另一个数组。

错误图像

扩展:使用每个变量的查找功能进行调试,并查找任何不遵循有效索引的变量。


推荐阅读