MATLAB-使用bins创建正弦波PDF
基本上,我有一个复杂的函数,我把它简化为正弦波,以检查我的代码是否正常工作。我的任务是创建函数的pdf,而不使用MatlabPDF函数。我试图做的是从每个数组中的最小值开始,算法以设定的步骤逐步通过数组来创建容器,并确定数组中属于该容器的值的数量。我尝试使用我在网上找到的一个示例,该示例有意义,但似乎对我不起作用。这是我的密码:MATLAB-使用bins创建正弦波PDF,matlab,Matlab,基本上,我有一个复杂的函数,我把它简化为正弦波,以检查我的代码是否正常工作。我的任务是创建函数的pdf,而不使用MatlabPDF函数。我试图做的是从每个数组中的最小值开始,算法以设定的步骤逐步通过数组来创建容器,并确定数组中属于该容器的值的数量。我尝试使用我在网上找到的一个示例,该示例有意义,但似乎对我不起作用。这是我的密码: clear all clc A = 1; E = 1; a1 = 0; a2 = 0; a3 = 0; w = pi; y = 0; % ts = .1; %
clear all
clc
A = 1;
E = 1;
a1 = 0;
a2 = 0;
a3 = 0;
w = pi;
y = 0;
% ts = .1;
% t = 0:ts:10;
t = -1:0.01:1;
x = A*(1+a1*E)*sin(w*(1+a2*E)*t+y)+ a3*E;
%# compute bins
nbins = length(x);
binEdges = linspace(min(x),max(x),nbins+1);
aj = binEdges(1:end-1); %# bins lower edge
bj = binEdges(2:end); %# bins upper edge
cj = ( aj + bj ) ./ 2; %# bins center
%# assign values to bins
[~,binIdx] = histc(x, [binEdges(1:end-1) Inf]);
%# count number of values in each bin
nj = accumarray(binIdx, 1, [nbins 1], @sum);
%# plot histogram
bar(cj,nj,'hist')
set(gca, 'XTick',binEdges, 'XLim',[binEdges(1) binEdges(end)])
xlabel('Bins'), ylabel('Counts'), title('PDF')
这就是我得到的错误:
Error using accumarray
Third input SZ must be a full row vector with one element for each
column of SUBS.
Error in Try1 (line 40)
nj = accumarray(binIdx, 1, [nbins 1], @sum);
有什么想法吗??谢谢 对不起,伙计们,我发现了我的错误。为了使它工作,我不得不将x调换。谢谢你看我的问题