越封 2021-12-26 22:26 采纳率: 66.7%
浏览 189
已结题

MATLAB 未定义变量 "tdata" 或类 "tdata"

问题遇到的现象和发生背景

自己创建了一个mat文件,用这个代码就不行

问题相关代码,请勿粘贴截图
clear all;
Spk_num=6; %说话人个数
Tra_num=5;  %每个说话人用于训练的语音数目,可修改

ncentres=16; %混合成分数目,可修改,需要同时修改识别程序
fs=16000; %采样频率

% -- 训练 ---
load y.mat; 
for spk_cyc=1:Spk_num    % 遍历说话人
  fprintf('训练第%i个说话人\n',spk_cyc);
  tag1=1;tag2=1; %用于汇总存储mfcc
  for sph_cyc=1:Tra_num  % 遍历语音
     speech = tdata{spk_cyc}{sph_cyc}; 
      %---预处理,特征提取--
     pre_sph=filter([1 -0.97],1,speech); % 预加重
     win_type='M'; %汉明窗
     cof_num=20; %倒谱系数个数
     frm_len=fs*0.02; %帧长:20ms
     fil_num=20; %滤波器组个数
     frm_off=fs*0.01; %帧移:10ms
     c=melcepst(pre_sph,fs,win_type,cof_num,fil_num,frm_len,frm_off); % mfcc特征提取
     cc=c(:,1:end-1)';
     tag2=tag1+size(cc,2);
     cof(:,tag1:tag2-1)=cc;
     tag1=tag2;
  end
   
  %--- 训练GMM模型---
  kiter=5; %Kmeans的最大迭代次数
  emiter=30;         %EM算法的最大迭代次数,可修改
  mix=gmm_init(ncentres,cof',kiter,'full'); % GMM的初始化
  [mix,post,errlog]=gmm_em(mix,cof',emiter); % GMM的参数估计
  speaker{spk_cyc}.pai=mix.priors;
  speaker{spk_cyc}.mu=mix.centres;
  speaker{spk_cyc}.sigma=mix.covars;
   
  clear cof mix;
end
fprintf('训练完成!\n',spk_cyc);
save speaker.mat speaker;


运行结果及报错内容

img

我的解答思路和尝试过的方法

附上y.mat文件的内容

img

以及可以正常运行的.mat文件的内容

img

我想要达到的结果
  • 写回答

1条回答 默认 最新

  • joel_1993 2021-12-27 11:08
    关注

    你好,把正常运行的那些数据,你也需要一个个生成好,比如tdata这种,当然还有其他的变量,都保存成y.mat即可

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月6日
  • 已采纳回答 12月29日
  • 修改了问题 12月26日
  • 创建了问题 12月26日

悬赏问题

  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上