Convert each cell to numeric

Hi all,
I have this kind of code:
seq1 = [1,3,2,3,2,3,1,3];
seq2 = [3,3];
seq3 = [1,2,2,2,2,2,2,2];
seq4 = [1,2,1,1,2,2,1,2,2,1,2];
seqs = {seq1, seq2, seq3, seq4};
How can I read seq1, seq2, seq3, seq4 from seqs since hmmdecode(seqs,tr,e) only accepts numeric? is there a way to do a loop in seqs parameter?

 Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 8 Feb. 2013

1 Stimme

seqs{1}
seqs{2}

12 Kommentare

Emmanuel
Emmanuel am 8 Feb. 2013
but i need to run hmmdecode(seqs,tr,e) only once not twice.
Azzi Abdelmalek
Azzi Abdelmalek am 8 Feb. 2013
Bearbeitet: Azzi Abdelmalek am 8 Feb. 2013
Maybe you can use cellfun,what are tr and e?
Azzi Abdelmalek
Azzi Abdelmalek am 8 Feb. 2013
Bearbeitet: Azzi Abdelmalek am 8 Feb. 2013
cellfun(@(x) hmmdecode(x,tr,e) ,seqs,'un',0)
Emmanuel
Emmanuel am 8 Feb. 2013
Bearbeitet: Azzi Abdelmalek am 8 Feb. 2013
pStates = hmmdecode(cellfun(seqs),tr,e);
I think it does not give me what I need. It is used for getting mean, converience etc..
cellfun(@(x) hmmdecode(x,tr,e) ,seqs,'un',0)
Emmanuel
Emmanuel am 8 Feb. 2013
i got this error:
Error using cellfun Input #3 expected to be a cell array, was double instead.
Check this (but you have to introduce tr and e)
seq1 = [1,3,2,3,2,3,1,3];
seq2 = [3,3];
seq3 = [1,2,2,2,2,2,2,2];
seq4 = [1,2,1,1,2,2,1,2,2,1,2];
seqs = {seq1, seq2, seq3, seq4};
out=cellfun(@(x) hmmdecode(x,tr,e) ,seqs,'un',0)
Emmanuel
Emmanuel am 8 Feb. 2013
same error
Azzi Abdelmalek
Azzi Abdelmalek am 8 Feb. 2013
Bearbeitet: Azzi Abdelmalek am 8 Feb. 2013
What are tr and e?
Emmanuel
Emmanuel am 8 Feb. 2013
Bearbeitet: Emmanuel am 8 Feb. 2013
tr = [0.4,0.3,0.3;
0.4,0.3,0.3;
0.4,0.3,0.3;];
e = [0.4,0.3,0.3;
0.3,0.4,0.3;
0.3,0.3,0.4;];
Emmanuel
Emmanuel am 8 Feb. 2013
solved it by doing : hmmdecode(cell2mat(seqs(1,:)),tr,e);
thanks a lot!
Ok try this, copy and past this code
clear
tr = [0.4,0.3,0.3;0.4,0.3,0.3;0.4,0.3,0.3;];
e = [0.4,0.3,0.3;0.3,0.4,0.3;0.3,0.3,0.4;];
seq1 = [1,3,2,3,2,3,1,3];
seq2 = [3,3];
seq3 = [1,2,2,2,2,2,2,2];
seq4 = [1,2,1,1,2,2,1,2,2,1,2];
seqs = {seq1, seq2, seq3, seq4};
out=cellfun(@(x) hmmdecode(x,tr,e) ,seqs,'un',0)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by