Functions cannot be indexed using {} or . indexing.

来源:百度知道 编辑:UC知道 时间:2024/06/16 12:57:24
MATLAB调试程序出错
先说明sample是<1*10struct> sample下有wave和data
出错在这段程序
for k = 1:K
if isfield(sample(1,k),'data') & ~isempty(sample(1,k).data)
continue;
else
sample(1,k).data = mfcc(sample(1,k).wave);
end
end
出现如题的错误,请高手告诉我解决方法,急用
非常感谢
接上面:
%计算总输出概率
pout(loop)=0;
for k = 1:K
pout(loop) = pout(loop) + viterbi(hmm, sample(1,k).data);
end

fprintf('总和输出概率(log)=%d\n', pout(loop))

%比较两个HMM的距离
if loop>1
if abs((pout(loop)-pout(loop-1))/pout(loop)) < 5e-6
fprintf('收敛!\n');
return
end
end
end

disp('迭代40次仍不收敛, 退出');
=========================================
你要什么我都给你。。。高手救我。。。。
能解决再加100分

你确定程序的问题出在这块吗?怎么我看不像呢。出错信息说函数名后面不能跟索引号{}或结构体索引“.”,难道是mfcc的问题?这里面也就这一个函数了。返回的出错信息应该能定位到行吧,建议你把完整的出错信息或完整的程序贴出来。

Matlabの调试程序出错
サンプル先说明是< 1 10struct * >サンプル下有波和データ
出错在这段程序
韩国= 1 :韩国
もしisfield (サンプル( 1 、韩国) 、 'データ' ) & 〜 isempty (サンプル( 1 、韩国) 。データ)
継続;
その他の
サンプル( 1 、韩国) 。データ= mfcc (サンプル( 1 、韩国) 。波) ;
终わり
终わり
出现如题的错误、请高手告诉我解决方法、急用
非常感谢