0

嗨,我在 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 函数兼容?

非常感谢

4

1 回答 1

2

对于您的序列,data{1}是一个 char 数组,因此通过以下方式将每个字符转换为它的 ASCII 码double

[estt,este]  = hmmtrain(double(data{1}),e,t);

如果您想hmmtrain使用单元格数组作为第一个输入参数的选项来提供多个序列(因为看起来您很多人都希望data成为一个单元格),请尝试以下操作,

dataNumCell = cellfun(@double,data,'UniformOutput',false);
[estt,este]  = hmmtrain(dataNumCell,e,t);

编辑:更新了多序列选项,其中 hmmtrain 有额外的两倍。

于 2013-10-02T22:28:23.160 回答