我尝试将带有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
答案 0 :(得分:0)
x
的长度不等于C{1}
的长度。试试x = 1:length(C{1})
或x = -1:8/length(C{1}):7
。