How to convert string to double array in table

39 次查看(过去 30 天)
I have a table with string of values in columns.
T1 =
5×1 table
A
___________________________________________________________________________________
{'[28.346853874154966, 284.04836936606813, 57.820072802912115, 64.72700622938805]'}
{'[16.520020800832032, 120.07328691828508, 57.82007280291212, 46.34078417002567]' }
{0×0 char }
{0×0 char }
{0×0 char }
When i am using this code T1.(1) = str2double(T1{:,1}); I am getting NaN values. in table.
T1 =
5×1 table
A
________
NaN
NaN
NaN
NaN
NaN
I am expecting follwing output
T1 =
5×1 table
A
___________________________________________________________________________________
[28.346853874154966, 284.04836936606813, 57.820072802912115, 64.72700622938805]
[16.520020800832032, 120.07328691828508, 57.82007280291212, 46.34078417002567]
[]
[]
[]
How to code this?
  1 个评论
the cyclist
the cyclist 2021-9-24
It would be easier for us to make sure suggested code works as you expect if you uploaded the table T1 in a *.mat file, using the paperclip icon in the INSERT section of the toolbar.

请先登录,再进行评论。

采纳的回答

the cyclist
the cyclist 2021-9-24
% My best guess at your data
A = {'[28.346853874154966, 284.04836936606813, 57.820072802912115, 64.72700622938805]';
'[16.520020800832032, 120.07328691828508, 57.82007280291212, 46.34078417002567]';
'';
'';
''};
T1 = table(A);
% Convert to a cell array of doubles
M = cellfun(@str2num,T1.A,'UniformOutput',false)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by