使用textscan&amp ;;从文件中读取数据。使用plotyy绘制直方图/ ecdf

时间:2012-06-22 08:14:21

标签: matlab matlab-figure

我尝试将带有20x20数据的文本文件读入变量C,并尝试在左侧Y轴上绘制直方图,在右侧X轴上绘制ecdf / ksdensity。

使用textscan,数据被读入400x1阵列。但是,当我试图调用plotyy绘制直方图时,下面的代码返回

Error using plot
Vectors must be the same lengths. 

Error in pt (line 11)
axes = plotyy(x,C{1},x,C{1});

我猜这是由于C {1}。但不知道如何解决它。我是matlab的新手,有人会指出执行上述操作的正确方法吗?

fid = fopen('t1_error.txt','r');
C = textscan(fid, '%.3f');            
fclose(fid);

disp(C{1});

x = -1:7;    % <-- change to x = length(C{1});  then histogram is plotted.
axes = plotyy(x,C{1},x,C{1});
hold on
hist(axes(1), C{1}, x);
ylim(axes(1),'auto');
set(axes(1),'mode','auto');
hold off

1 个答案:

答案 0 :(得分:0)

x的长度不等于C{1}的长度。试试x = 1:length(C{1})x = -1:8/length(C{1}):7