Filter löschen
Filter löschen

How to delete an element from a cell

2 Ansichten (letzte 30 Tage)
Maria
Maria am 26 Apr. 2014
Kommentiert: Maria am 24 Jun. 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.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 26 Apr. 2014
Bearbeitet: Azzi Abdelmalek am 26 Apr. 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 Kommentare
Maria
Maria am 23 Jun. 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 am 24 Jun. 2014
About this question, problem solved!

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help 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