str2num returning value while the preferred str2double returning NaN...
2 views (last 30 days)
Show older comments
New to MATLAB, so maybe this is a stupid question. I have the following script in MATLAB to run a python script and return a value (3.4763, for eg). When I use str2num like below, I get a the value in p. However, MATLAB suggests to use str2double. When I do that, I get NaN instead of the value. Please help...
w = 16;
systemCommand = ['python fun.py ',num2str(w)];
[stat, res] = system(systemCommand);
p = str2num(res);
What python returns from execution is '[3.4763]' in the variable res.
0 Comments
Accepted Answer
Rik
on 1 Apr 2021
This is another difference:
str2double('evalc(''exit'')')
str2num('evalc(''exit'')')
%will exit Matlab
You should parse the result to single values. In your case simply removing the brackets will do, but this should be more robust:
str='[3.14159 1.00e-001]';
str2double(regexp(str,'[.0-9eE\-]*','match'))
0 Comments
More Answers (0)
See Also
Categories
Find more on Call Python from MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!