MATLAB Answers

How to convert array so that I have only numerical values

1 view (last 30 days)
Pavan Singh
Pavan Singh on 2 Nov 2020
Edited: Stephen Cobeldick on 2 Nov 2020
I need to turn this array to a graph, to do so I only need numerical values

  0 Comments

Sign in to comment.

Answers (3)

Sriram Tadavarty
Sriram Tadavarty on 2 Nov 2020
Hi Pavan,
As from the snippet provided, i can see a pattern where from 6 element the numeric value starts and has till last but before element.
Assuming temp as a variable having that data. Here is the way it can be done
numericTemp = cellfun(@(x) str2num(x(6:end-1)),temp);
Hope this helps.
Regards,
Sriram

  0 Comments

Sign in to comment.


Ameer Hamza
Ameer Hamza on 2 Nov 2020
This is an alternative approach
str = {'lat: -30.963#';'lat: -30.963#';'lat: -30.963#';'lat: -30.963#'}
nums = cellfun(@(x) sscanf(x, 'lat:%f#'), str)

  0 Comments

Sign in to comment.


Stephen Cobeldick
Stephen Cobeldick on 2 Nov 2020
Edited: Stephen Cobeldick on 2 Nov 2020
Do NOT use cellfun for this, unless really you want your code to be slow.
The most efficient solution by far is this:
str = {'lat: -30.963#';'lat: -30.964#';'lat: -30.965#';'lat: -30.966#'};
vec = sscanf([str{:}],'lat:%f#')
vec = 4×1
-30.9630 -30.9640 -30.9650 -30.9660

  0 Comments

Sign in to comment.

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!