您好我在matlab中有以下对象:
class(data{1}) =
char
存储在
中class(data) =
cell
但是我想打电话:
[estt,este] = hmmtrain(data{1},e,t);
并收到错误:
??? Error using ==> hmmtrain at 209
Seqs must be cell array or numerical array.
有没有办法让数据的每个元素与hmmtrain函数兼容?
非常感谢
答案 0 :(得分:2)
对于您的序列,data{1}
是一个char数组,因此通过double
将每个字符转换为ASCII代码:
[estt,este] = hmmtrain(double(data{1}),e,t);
如果你想为hmmtrain
多个序列提供第一个输入参数使用单元格数组的选项(因为看起来很多人希望将data
作为一个单元格),请尝试以下方法,
dataNumCell = cellfun(@double,data,'UniformOutput',false);
[estt,este] = hmmtrain(dataNumCell,e,t);
编辑:更新了多个序列选项,其中hmmtrain有额外的双倍。