FSEEK错误在运行Matlab函数

21 Ansichten(30天)的
N猕
N猕 我2017年7月26日
Bearbeitet: 1月 我2017年7月28日
我得到这个错误在运行在Matlab函数
“错误使用fseek无效的文件标识符。使用fopen来生成一个有效的文件标识符。”
整个命令的功能是:
函数[global_mean_vec, global_var_vec total_fr_no] = global_mean_var_for_hmm_skips_1gau (traininglist_filename、model_filename_old model_filename_new)
如果输入参数个数= = 0
traininglist_filename =“training_list.mat”;
model_filename_old =“hmm_with_skips.mat”;
model_filename_new =“hmm_with_skips_new.mat”;
结束;
负载(model_filename_old“mean_vec_i_m”,“var_vec_i_m”,“a_i_j_m”);
负载(traininglist_filename“列表”);
[暗淡,N, MODEL_NO] =大小(mean_vec_i_m);
%分配平均向量的模型
vector_sum = 0(暗,1);
vector_squared_sum = 0(暗,1);
total_fr_no = 0;
utterance_no =大小(列表,1);
k = 1: utterance_no
文件名列表= {k, 2};
m = {k, 1}列表;%词ID
fid = fopen(文件名,“r”);
fseek (fid, 12日“转炉”);%跳过由HTK头
c =从文件中读(fid检测器,“浮”,“b”);
文件关闭(fid);
fr_no =长度(c) /暗淡;
c =重塑(c,昏暗,fr_no);
total_fr_no = total_fr_no + fr_no;
vector_sum = vector_sum + (c, 2)总和;
vector_squared_sum = vector_squared_sum + (c, c。* 2)总和;
结束% k = 1: utterance_no
global_mean_vec = vector_sum / total_fr_no;
global_var_vec = vector_squared_sum / total_fr_no——global_mean_vec。* global_mean_vec;
%模型initilizatiion
m = 1: MODEL_NO
我= 2:n - 1;
mean_vec_i_m(:,我,米)= global_mean_vec;
var_vec_i_m(:,我,米)= global_var_vec;
结束
结束
保存(model_filename_new,“mean_vec_i_m”,“var_vec_i_m”,“a_i_j_m”);
流(与全球平均向量和方差%年代初始化向量\ n”,model_filename_new);

Antworten (1)

dpb
dpb 我2017年7月26日
错误文件句柄无效——说
fid = fopen(文件名,“r”);
fseek (fid, 12日“转炉”);%跳过由HTK头
你不检查的结果 打开外部文件 所以一个人必须假定调用失败了……所需的文件吗 慢性消耗病 或子目录中 MATLABPATH 吗?不是是一种常见的故障原因。
[支撑材、消息]= fopen(文件名,“r”);
如果fid < 0错误(消息)结束
会让你知道发生了什么,原因。
3 Kommentare
1月
1月 我2017年7月28日
Bearbeitet:1月 我2017年7月28日
@N Rh: Matlab告诉你清楚、明晰,相应的文件不存在。因此,声称“尽管存在”的所有文件必须是错的。你是在错误的文件夹或有一个错误的名字。Matlab的信任。当它不能找到一个文件时,它是不存在的。
你可以扩大错误信息:
错误([“失踪的文件:% s”char (10),
“当前文件夹:% s”char (10),
“信息:% s”)、文件名、cd、消息);

Melden您西奇,嗯祖茂堂kommentieren。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的