如何在Matlab中从文件和绘图中读取数据集

时间:2013-09-06 16:19:29

标签: matlab

这很简单但我在Matlab中处理数据类型时遇到了一些问题。

下面会创建一个简单的数组。

l=[]
for i=1:10
   # do something here
   # i = i* i;
end
plot(l) # would happily plot it

在下面的代码中,data从每行包含字符串的文件加载到工作区。每行作为每一行,数据作为String

numbers=[]
index = 1;
split_data = regexp(data, ' ', 'split');
for eachLine=split_data
    eachLine = eachLine{:}
    num = eachLine(3) # this is the value I need
    numbers(index) = num
    index = index + 1
end
plot(numbers)

就是这样。这就是我想要做的。从字符串中提取数字,存储在矩阵中,绘制它。但是在迭代之后,numbers对象显示为整数而不是向量/矩阵!!

谁能告诉我哪里出错了以及如何解决?

2 个答案:

答案 0 :(得分:0)

尝试:

numbers = [numbers num];

取代

numbers(index) = num

答案 1 :(得分:0)

如果我理解正确,你有一个字符串的单元格数组,每行有一个字符串,每行第三个字是一个数字。 您可能希望将代码更改为:

% example data variable
data={'air is 3 4 all';'lov3 K 9 s';'this is 7 o''clock'};

split_data = regexp(data, ' ', 'split');
len=length(split_data);
numbers=zeros(1, len);

for index=1:len
    line = split_data{index};
    num = line(3); % this is the value I need
    numbers(index) = str2double(num);
end
plot(numbers)