Matlab 图中值的绘图行为

Matlab 图中值的绘图行为,matlab,graph,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次运行中的行为?快速且不干净,但我会逐

我有一个具有一组浮点值的以下格式的文件:

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次运行中的行为?

快速且不干净,但我会逐行浏览该文件

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 函数输出=读取和绘图 fid=fopen('input.txt'); 线值=fgetl(fid); i=0; while ischar(行_值) 如果strncmp('--end of',line_value,8)%我们需要从下一次运行开始 图形 plot_data=[col1'col2'col3']; 绘图(1:i',绘图数据); 图例(“col1”、“col2”、“col3”); %清除并重新启动 i=0; col1=[];col2=[];col3=[]; 我们有一行数据 i=i+1; 数据=sscanf(行_值,“%f%f%f”); [col1(i)、col2(i)、col3(i)]=交易(数据(1)、数据(2)、数据(3)); 结束 线值=fgetl(fid); 结束 fclose(fid); 返回
现在,为了确定值的行为,它将取决于您是否尝试曲线拟合或拟合分布,如果是,我建议使用曲线拟合工具箱。

非常感谢这个脚本。如何实现此更改:您当前正在每次运行后绘制图形,但我希望收集不同运行的数据,然后绘制单个图形?(因此,我的文件的每一列都有一个二维矩阵,矩阵的列号表示运行编号)。希望这有意义!当然,您只需将尺寸添加到绘图数据。因此,在plot_data现在所在的位置,global_plot_data=[global_plot_data;plot_data];您必须在开始时定义global_plot_data=[],但可以在结束时使用相同的plot命令。