绘制图表中值的行为

时间:2011-04-25 17:03:28

标签: matlab graph

我有一个以下格式的文件,其中包含一组浮点值:

a1 b1 c1
a2 b2 c2
---end-of-run-1
a1 b1 c1
a2 b2 c2
a3 b3 c3
a4 b4 c4
a5 b5 c5 
---end-of-run-2
...
...
...
till n runs

我想在图表上显示这组列(即包括a,b,c)作为不同的曲线。此外,每次运行收集的值的数量也会有所不同。

我可以在matlab中使用哪些内置函数来确定这组值(a,b,c)对图形中某些n runs的行为?

1 个答案:

答案 0 :(得分:2)

快速又脏,但我会逐行浏览文件。

function out = read_and_plot

fid = fopen('input.txt');

line_value = fgetl(fid);
i = 0;
while ischar(line_value)
     if strncmp('--end-of',line_value,8) % we need to start on the next run
        figure;
        plot_data = [col1' col2' col3'];
        plot(1:i', plot_data);
        legend('col1', 'col2', 'col3');
        % clear and restart
        i = 0;
        col1 = []; col2 = []; col3 = [];
     else % we have a line of data
        i = i + 1;
        data = sscanf(line_value, '%f %f %f');
        [col1(i),col2(i),col3(i)] = deal(data(1), data(2), data(3));
     end
     line_value = fgetl(fid);
end

fclose(fid);

return

现在,为了确定值的行为,如果您尝试曲线拟合或拟合分布,我将推荐曲线拟合工具箱。