Effacer les filtres
Effacer les filtres

how to convert cell to number in matlab

86 vues (au cours des 30 derniers jours)
Putri Basenda Tarigan
Putri Basenda Tarigan le 17 Nov 2020
Réponse apportée : Rik le 17 Nov 2020
Hello everyone,
I'm beginner in matlab. Could somebody help me on this:
I read my data as cell array from excel, where in one box in excel it contains two numbers, like 3;4
so it's read by matlab as c = {'3;4'}
I tried str2double function, but the result become NaN.
How to overcome this problem?
Thanks in advance.

Réponses (1)

Rik
Rik le 17 Nov 2020
str2double returns NaN because '3;4' is not a number, it is two numbers. You need to split the text into different numbers first. One of the many ways to do that is this:
c = '1,,-3.1;+4e2';%modified to cover more representations of numbers
%a number can only contain 0-9, a dot, a minus, a plus, or an E
%remove the * if you don't want multiple delimiters to be merged
split_values = regexp(c,'[^0-9\.\-+eE]*','split');
str2double(split_values)
ans = 1×3
1.0000 -3.1000 400.0000

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by