2016-10-06 2 views
0

У меня возникают трудности с преобразованием данных, которые я беру из анализатора спектра. Он помещается в переменную, которую нужно подталкивать к файлу excel для использования. Переменная, в которую она помещена, имеет тип char.Matlab: конвертировать ячейку csv char для двойного вектора

a=('-2.2748E+01,-2.3454E+00,5.2434E00,.........') 

Как это преобразовать в пригодные для использования данные?

+3

Возможно, вы имели в виду: 'a = {'- 2.2748E + 01', '- 2.3454E + 00', '5.2434E00'}'? – Suever

+0

a - переменная char, в ней есть тысячи номеров. – tjshaffe

+0

То, как вы написали, является недопустимым синтаксисом. Добавьте соответствующий '' ', чтобы указать, что такое строка. – Suever

ответ

1

Вы можете использовать textscan, чтобы легко разобрать эту строку на несколько номеров.

a = '-2.2748E+01,-2.3454E+00,5.2434E00'; 

data = textscan(a, '%f', 'delimiter', ','); 
data = data{1}; 

% -22.7480 
% -2.3454 
% 5.2434 
+0

Это прекрасно, большое спасибо – tjshaffe

Смежные вопросы