Split one array into two while splitting each cell

2 ビュー (過去 30 日間)
Sara
Sara 2014 年 6 月 4 日
編集済み: Cedric 2014 年 6 月 4 日
I have an array which needs to be split into two. It is in the format:
13008KT
08009KT
13009KT
13008KT
These new arrays need to split this into one array that contains the first 3 numbers, and a second array that contains the second two numbers and leaves out the KT.
Help is much appreciated
  3 件のコメント
Sara
Sara 2014 年 6 月 4 日
Yes, they are being read as strings
Star Strider
Star Strider 2014 年 6 月 4 日
Please check your Using METAR data in Matlab thread.

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

回答 (2 件)

Cedric
Cedric 2014 年 6 月 4 日
編集済み: Cedric 2014 年 6 月 4 日
Assuming that you have
data = {'13008KT', '08009KT', '13009KT', '13008KT'} ;
here one way to go:
>> data = cat( 1, data{:} ) ;
>> array1 = data(:,1:3) - '0'
array1 =
1 3 0
0 8 0
1 3 0
1 3 0
>> array2 = data(:,4:5) - '0'
array2 =
0 8
0 9
0 9
0 8
  6 件のコメント
Sara
Sara 2014 年 6 月 4 日
ans =
cell
ans =
264624 1
Cedric
Cedric 2014 年 6 月 4 日
編集済み: Cedric 2014 年 6 月 4 日
Ok, your Excel file must have multiple columns. Assuming that the relevant column is column 5 of a variable named textData
[~,textData] = xlsread( 'myFile.xlsx' ) ;
you can just make the following update
data = cat( 1, textData{:,5} ) ; % Update with the relevant column #.
and then apply what is in my solution above.
array1 = data(:,1:3) - '0' ;
array2 = data(:,4:5) - '0' ;

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


José-Luis
José-Luis 2014 年 6 月 4 日
Building from Cedric's answer
Then your data probably looks like this:
data = [{'13008KT}'}, {'08009KT'}, {'13009KT'}, {'13008KT'}] ;
first_three_as_string = cellfun(@(x) x(1:3),data,'uniformoutput',false);
last_two_as_string = cellfun(@(x) x(4:5),data,'uniformoutput',false);
first_three_as_number = cellfun(@(x) str2double(x),first_three_as_string);
last_two_as_number = cellfun(@(x) str2double(x),last_two_as_string);
Please accept an answer if it helped you.

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by