extract numbers from cells

4 Ansichten (letzte 30 Tage)
alessio tugnolo
alessio tugnolo am 11 Jun. 2021
Kommentiert: alessio tugnolo am 11 Jun. 2021
I have a cell array with n rows wich contains:
'Gain=2M'
'Gain=500k'
'Gain=20M'
....
I would extract only the number which is contained in each cell. How can I do that?

Antworten (2)

Chunru
Chunru am 11 Jun. 2021
s={'Gain=2M'
'Gain=500k'
'Gain=20M'};
n = length(s);
g = zeros(n, 1);
for i=1:n
tmp = strrep(s{i}, 'Gain=', '');
g(i) = str2num(tmp(1:end-1));
switch tmp(end)
case 'M'
g(i)=g(i)*1e6;
case 'k'
g(i)=g(i)*1e3;
end
end
g
g = 3×1
2000000 500000 20000000
  1 Kommentar
alessio tugnolo
alessio tugnolo am 11 Jun. 2021
Great! It works beautifully!
Thanks

Melden Sie sich an, um zu kommentieren.


Stephen23
Stephen23 am 11 Jun. 2021
Simply download my FEX submission SIP2NUM:
and use it like this:
C = {'Gain=2M';'Gain=500k';'Gain=20M'};
V = cellfun(@sip2num,C)
V = 3×1
2000000 500000 20000000

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by