我有一个以下格式的文件,其中包含一组浮点值:
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
的行为?
答案 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
现在,为了确定值的行为,如果您尝试曲线拟合或拟合分布,我将推荐曲线拟合工具箱。