How to delete an element from a cell

3 ビュー (過去 30 日間)
Maria
Maria 2014 年 4 月 26 日
コメント済み: Maria 2014 年 6 月 24 日
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 件のコメント
Maria
Maria 2014 年 4 月 26 日
Thanks a lot. It worked!

サインインしてコメントする。

採用された回答

Apdullah YAYIK
Apdullah YAYIK 2014 年 4 月 27 日
編集済み: Jan 2014 年 4 月 27 日
Thats easy
X=[19970422 30980524 63098754]
New_X=floor(X/1000)
  2 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2014 年 4 月 27 日
This gives the 5 first digits, use : floor(X/10000) . Also this works only for numbers with 8 digits.
Image Analyst
Image Analyst 2014 年 4 月 27 日
And she said she had cells, not regular numerical arrays, though perhaps she didn't really mean cells - who knows.

サインインしてコメントする。

その他の回答 (1 件)

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 4 月 26 日
編集済み: Azzi Abdelmalek 2014 年 4 月 26 日
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 件のコメント
Maria
Maria 2014 年 6 月 23 日
@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 2014 年 6 月 24 日
About this question, problem solved!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by