MATLAB: Convert a single char array to a vector of doubles with a non-whitespace delimiter [R2017b, Windows7]

sscanfstr2doublestr2num

Hi,
I have a binary file that when I load up into Matlab produces the following cell which contains a cell array called data:
1x1 cell array:
{'44.565,433.4544,34.332'}
This can be a very long list of numbers and I would like to avoid using str2num (which works fine). I have tried using:
slope = sprintf('%s,',data{:})
doubleArray = sscanf(slope, '%f')
This only give me the first number. I suspect this is because I have a ',' as a delimiter and not a whitespace character.
str2double(data)
returns a NaN and I suspect this is because I have a single char array in a cell and not an array of strings.
Any advice as to how to do this without str2num?
Cheers, TJ

Best Answer

a={'44.565,433.4544,34.332'};
str=a{1}(:);
strNum=str2double(strsplit(str.',','))
Thanks to Stephen Cobeldick, another and faster approach:
sscanf(a{1}, '%f,')