yderek 发表于 2016-4-12 20:52

【求助】索引超出矩阵维度的原因

本人小白,最近下载了一个程序,求问各位大神运行出现错误的原因,WAV文件是拖到工作区的,详见下图


在查找到原始数据没有零值后,修改输出语句再次报错,求问各位大神到底是什么原因,怎么样解决?







yderek 发表于 2016-4-13 08:25

顶一下,求大神给看看

glise 发表于 2016-4-13 10:34

本帖最后由 glise 于 2016-4-13 10:38 编辑

贴一下代码看看
从提示上看应该是cochlea1这个变量有问题

yderek 发表于 2016-4-13 13:32

glise 发表于 2016-4-13 10:34
贴一下代码看看
从提示上看应该是cochlea1这个变量有问题

嗯,非常感谢,不过代码得晚上贴上来,现在手里没有

yderek 发表于 2016-4-13 21:15

glise 发表于 2016-4-13 10:34
贴一下代码看看
从提示上看应该是cochlea1这个变量有问题
你好,以下是代码,声音文件是直接拖到工作区的(之前都没用过这种方法)

function ouotput = MRCG_features(sig, sampFreq)
% This function computes MRCG features

beta = 1000 ./ sqrt( sum(sig .^ 2)./ length(sig) );
sig = sig .* beta;
sig = reshape(sig, length(sig), 1);
g = gammatone(sig, 64, , sampFreq); % Gammatone filterbank responses

cochlea1 = log10(cochleagram(g,sampFreq*0.020,sampFreq*0.010));
cochlea2 = log10(cochleagram(g,sampFreq*0.200,sampFreq*0.010));

M = floor(length(sig)/160);% number of time frames
cochlea1 = cochlea1(:,1:M);
cochlea2 = cochlea2(:,1:M);

cochlea3= get_avg(cochlea1,5,5);
cochlea4= get_avg(cochlea1,11,11);
all_cochleas = ;

del = deltas(all_cochleas);
ddel = deltas(deltas(all_cochleas,5),5);

ouotput = ;

代码基本上是这样的,不过还调用了其他8-9个程序,不知道光贴这个主程序的代码您能否看得懂?

Frank 发表于 2016-4-13 22:40

yderek 发表于 2016-4-13 21:15
你好,以下是代码,声音文件是直接拖到工作区的(之前都没用过这种方法)

function ouotput = MRCG_fe ...

把size(cochlea1)看一下维数,然后再看一下M的大小,应该是cochlea1没有这么多列

minoz 发表于 2016-4-18 13:54

size一下看看你数据的维数,然后再看一下你所设置的索引最大是多少,改正一下,不超过size()就好

yderek 发表于 2016-4-28 16:28

minoz 发表于 2016-4-18 13:54
size一下看看你数据的维数,然后再看一下你所设置的索引最大是多少,改正一下,不超过size()就好

谢谢已经解决了
页: [1]
查看完整版本: 【求助】索引超出矩阵维度的原因