transform a vector to a cell array
Afficher commentaires plus anciens
Hi,
c=[5 7 1 9 10]; I want to create a cell from this vector as:
d={[5 7 1] [7 1 9] [1 9 10]};
Thanks in advance.
Réponses (2)
Azzi Abdelmalek
le 29 Déc 2013
Modifié(e) : Azzi Abdelmalek
le 29 Déc 2013
c=[5 7 1 9 10];
m=3;
out=arrayfun(@(x) c(x:x+m-1),1:numel(c)-m+1,'un',0)
4 commentaires
allnab
le 30 Déc 2013
allnab
le 30 Déc 2013
Azzi Abdelmalek
le 30 Déc 2013
What do you mean? The result is exactly what you asked for. to see the result type
celldisp(out)
allnab
le 30 Déc 2013
Andrei Bobrov
le 29 Déc 2013
d = num2cell(c(hankel(1:3,3:numel(c))),2)
3 commentaires
allnab
le 30 Déc 2013
Jos (10584)
le 30 Déc 2013
This error is shown when the second input to hanker is empty:
hankel(1:3,[])
In the code above this occurs because,
- 3:numel(c) is empty, because,
- numel(c) is less then 3, so,
check the contents of c !
allnab
le 30 Déc 2013
Catégories
En savoir plus sur Matrices and Arrays 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!