我在位置1索引超出数组边界误差
379(30天)
显示旧的评论
我得到以下索引错误:
指数在位置1超出数组边界(不得超过1)。
错误L_Individual_Correlation_With_Players > DispCorr(36行)
MeanSI1 = nanmean (RSI1(1:22说:),1);
错误在L_Individual_Correlation_With_Players(第8行)
IndPhasesDispCorr = DispCorr (IndGameDispersion PhasesTimeStamps PhasesDuration)
我不明白为什么这个错误发生。如果我单独运行一些采样点,不发生错误。任何帮助将不胜感激。我有附加样本工作区。
这是脚本:
IndPhasesDispCorr = DispCorr (IndGameDispersion PhasesTimeStamps PhasesDuration);
函数IndDispCorr = DispCorr (IndGameDispersion Idx,上下文)
IndDispCorr = 0(尺寸(长度(Idx)));
数= 0;
为k = 1:长度(Idx)
PhaseWindow = Idx (k) +(上下文(k, 1) * 10);
如果PhaseWindow < Idx (k)
t = PhaseWindow: Idx (k);
其他的
t = Idx (k): PhaseWindow;
结束
M = IndGameDispersion (t):);
RSI1 = corrcoef ([M(:,一22)nanmean (M(:,一22),2)),“行”,“成对”);
Rx1 = corrcoef ([M (:, 23:44) nanmean (M (:, 23:44), 2)),“行”,“成对”);%的最后一列是质心坐标
Ry1 = corrcoef ([M (:, 45:66) nanmean (M (:, 23:44), 2)),“行”,“成对”);
RSI1 (RSI1 = = 1) =南;
Rx1 (Rx1 = = 1) =南;
Ry1 (Ry1 = = 1) =南;
MeanSI1 = nanmean (RSI1(1:22说:),1);
MeanRx1 = nanmean (Rx1(1:22说:),1);
MeanRy1 = nanmean (Ry1(1:22说:),1);
CorrN = [MeanSI1 nanmean (MeanSI1(一22),2),MeanRx1, nanmean (MeanRx1(一22),2),MeanRy1, nanmean (MeanRy1(一22),2)];
数=计数+ 1;
1:72 IndDispCorr(数)= CorrN;
结束
结束
答案(3)
图像分析
2018年12月19日
当你这样做:
MeanSI1 = nanmean (RSI1(1:22说:),1);
是说RSI1只有1行,不是22。
2的评论
图像分析
2021年11月14日
不,不是没有深入它更多。你为什么选择22呢?你肯定应该有完全22行而不只是1或10或其他变量的行数?如果你想平均整个数组(所有行和列)不管有多少行和列,并得到每一列的平均值,然后你就可以这样做
%的平均沿着(内)列逐行(1)方向。
%换句话说,意味着每一列。
columnMeansSI1 =意味着(RSI1 1“omitnan”);
%(内)列的平均值,逐行(2)方向。
%换句话说,得到平均为每一行。
rowMeansSI1 =意味着(RSI1 2“omitnan”);