How to delete an element from a cell

1 vue (au cours des 30 derniers jours)
Maria
Maria le 26 Avr 2014
Commenté : Maria le 24 Juin 2014
I have a column in matlab with data written this way:
19970422
30980524
63098754
etc …
And I only want to have the first 4 numbers (preferably as a new variable), for instance like this:
1997
3098
6309
How can I do it? Thanks a lot for your help.
  1 commentaire
Maria
Maria le 26 Avr 2014
Thanks a lot. It worked!

Connectez-vous pour commenter.

Réponse acceptée

Apdullah YAYIK
Apdullah YAYIK le 27 Avr 2014
Modifié(e) : Jan le 27 Avr 2014
Thats easy
X=[19970422 30980524 63098754]
New_X=floor(X/1000)
  2 commentaires
Azzi Abdelmalek
Azzi Abdelmalek le 27 Avr 2014
This gives the 5 first digits, use : floor(X/10000) . Also this works only for numbers with 8 digits.
Image Analyst
Image Analyst le 27 Avr 2014
And she said she had cells, not regular numerical arrays, though perhaps she didn't really mean cells - who knows.

Connectez-vous pour commenter.

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 26 Avr 2014
Modifié(e) : Azzi Abdelmalek le 26 Avr 2014
a=[19970422;30980524;63098754]
b=arrayfun(@num2str,a,'un',0)
out=cellfun(@(x) str2num(x(1:4)),b)
%or
a=[19970422;3098052422;630987541;0.23]
n=max(0,fix(log10(a)+1)-4)
out=fix(a./10.^n)
  2 commentaires
Maria
Maria le 23 Juin 2014
@Azzi Abdelmalek by any chance do you know how to do exactly the same thing, but with a cell element? Thanks in advance for your help!
Maria
Maria le 24 Juin 2014
About this question, problem solved!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by