cell array with numeric values only

Conver this array to an array with numbers only so it can be used for a graph

 採用された回答

VBBV
VBBV 2020 年 11 月 2 日
編集済み: VBBV 2020 年 11 月 2 日

1 投票

%if true
% code
% end
C = {'long: 151.125#';'long: 151.126#'}
for i=1:length(C)
nn{i}=(C{i}(7:13));
end
A = cell2mat(nn')
B = str2num(A)% array with numbers only

1 件のコメント

Pavan Singh
Pavan Singh 2020 年 11 月 2 日
Thank you, very helpful.

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

その他の回答 (2 件)

Stephen23
Stephen23 2020 年 11 月 2 日

0 投票

Do NOT use loops or cellfun for this, unless you really want to write complex and slow MATLAB code.
The most efficient solution is to use sscanf like this:
C = {'long: 151.125#';'long: 151.126#'};
V = sscanf([C{:}],'long:%f#')
V = 2×1
151.1250 151.1260
Akira Agata
Akira Agata 2020 年 11 月 2 日

0 投票

Another possible solution:
C = {'long: 151.125#';'long: 151.126#'};
V = regexp(C,'[?\d.]+','match','once');
V = str2double(V);
>> V
V =
151.1250
151.1260

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

製品

リリース

R2020a

質問済み:

2020 年 11 月 2 日

コメント済み:

2020 年 11 月 2 日

Community Treasure Hunt

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

Start Hunting!

Translated by