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?

 Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 8 Fév 2013

1 vote

seqs{1}
seqs{2}

12 commentaires

Emmanuel
Emmanuel le 8 Fév 2013
but i need to run hmmdecode(seqs,tr,e) only once not twice.
Azzi Abdelmalek
Azzi Abdelmalek le 8 Fév 2013
Modifié(e) : Azzi Abdelmalek le 8 Fév 2013
Maybe you can use cellfun,what are tr and e?
Azzi Abdelmalek
Azzi Abdelmalek le 8 Fév 2013
Modifié(e) : Azzi Abdelmalek le 8 Fév 2013
cellfun(@(x) hmmdecode(x,tr,e) ,seqs,'un',0)
Emmanuel
Emmanuel le 8 Fév 2013
Modifié(e) : Azzi Abdelmalek le 8 Fév 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 le 8 Fév 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 le 8 Fév 2013
same error
Azzi Abdelmalek
Azzi Abdelmalek le 8 Fév 2013
Modifié(e) : Azzi Abdelmalek le 8 Fév 2013
What are tr and e?
Emmanuel
Emmanuel le 8 Fév 2013
Modifié(e) : Emmanuel le 8 Fév 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 le 8 Fév 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)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by