CDF 的输入参数不足
Not enough input arguments for CDF
我正在尝试为我的数据绘制 CDF,但收到以下错误消息:
Error using cdf (line 69) Not enough input arguments
我的代码:
data =cell(1,5);
for j=1:length(container)-7
data{j} = some_values;
cdfplot(data)
所以数据是一个 1x5 cell
而在它里面,值如下
1x14600double
、1x260double
、1x2222double
、1x3000double
、1x72double
我希望每个双数组都有单独的一行,即我的 cdf 图有 5 行。
但是,错误消息让我感到困惑,因为我肯定已经传递了数据。有什么想法吗?
已编辑:好的,我写错了而不是 cdfplot(),我有 cdf()...问题保持不变
问题是缺乏关于单元格和数字如何工作的知识。
figure;
hold on;
cellfun(@cdfplot,data);
这段代码完成了工作:)
除了 using cellfun
, you can also solve this by adjusting how you access the cell array。
关键思想:使用 A{}
访问 A
与 A()
% MATLAB R2018b
% Sample data
A = {rand(1,14600) rand(1,260) rand(1,2222) rand(1,3000) rand(1,72)};
注意 A(1)
returns
ans = 1×1 cell array {1×14600 double}
while A{1}
returns 完整的 1x14600 双精度数组(从元胞数组中完全提取)。
% Example usage
szA = size(A);
for k = 1:szA(2)
subplot(5,1,k)
cdfplot(A{k})
end
从这个例子可以看出 cdfplot
工作正常。
我正在尝试为我的数据绘制 CDF,但收到以下错误消息:
Error using cdf (line 69) Not enough input arguments
我的代码:
data =cell(1,5);
for j=1:length(container)-7
data{j} = some_values;
cdfplot(data)
所以数据是一个 1x5 cell
而在它里面,值如下
1x14600double
、1x260double
、1x2222double
、1x3000double
、1x72double
我希望每个双数组都有单独的一行,即我的 cdf 图有 5 行。 但是,错误消息让我感到困惑,因为我肯定已经传递了数据。有什么想法吗?
已编辑:好的,我写错了而不是 cdfplot(),我有 cdf()...问题保持不变
问题是缺乏关于单元格和数字如何工作的知识。
figure;
hold on;
cellfun(@cdfplot,data);
这段代码完成了工作:)
除了cellfun
, you can also solve this by adjusting how you access the cell array。
关键思想:使用 A{}
访问 A
与 A()
% MATLAB R2018b
% Sample data
A = {rand(1,14600) rand(1,260) rand(1,2222) rand(1,3000) rand(1,72)};
注意 A(1)
returns
ans = 1×1 cell array {1×14600 double}
while A{1}
returns 完整的 1x14600 双精度数组(从元胞数组中完全提取)。
% Example usage
szA = size(A);
for k = 1:szA(2)
subplot(5,1,k)
cdfplot(A{k})
end
从这个例子可以看出 cdfplot
工作正常。