Convert 1x1 cell to 1x1 double
17 次查看(过去 30 天)
显示 更早的评论
Hi,
I am trying to convert a 1x1 cell to 1x1 double using str2double. An explanation is as follows:
M.c = str2double(T(test, x))
M: 1x1 struct with a field c
T: table
test: row number in T
x: column number in T
Matlab version: R2020b
PS: The individual values in (test,x) are of type double but since they are inside a table they are converted to 1x1 cell type and therefore I have to convert it to 1x1 double array.
Problem: I am getting 'NaN' when I try to set the value of M.c. I am expecting a double to be set there since the program is structured in that way.
Thank you.
1 个评论
dpb
2021-1-18
Attach a small subset of the table T as .mat file...we can't see the needed details from here.
采纳的回答
Mario Malic
2021-1-18
编辑:Mario Malic
2021-1-19
Hi, depending on the contents in the cell array, here are two examples. Mind the indexing into cell, you should use curly brackets to get the "contents" of the cell.
% Example for a character array with single element
a = '3.4';
str2num(a)
ans =
3.4000
str2double(a)
ans =
3.4000
% Example for character array with multiple elements
a ='3.4, 5.2';
str2double(a)
ans =
NaN
str2num(a)
ans =
3.4000 5.2000
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Cell Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!