我正在使用以下功能:
pd=makedist('normal',mu,sigma);
y = pdf(pd,speed)
mu
和sigma
的尺寸为50x1,X
尺寸为3000x1。一次传递一个μ,sigma和速度值,我得到输出。但是我如何能够同时传递所有这些值,以便最终得到一个包含所有y
值的数据集?
我想我必须使用for
循环,但我不确定该怎么做。
答案 0 :(得分:0)
mu = rand(50,1);
sigma = rand(50,1);
speed = rand(3000,1);
y = zeros(numel(mu),numel(speed));
for k = 1:numel(mu)
pd = makedist('normal',mu(k),sigma(k));
y(k,:) = pdf(pd,speed); %store in for loop
end
通过初始化输出,可以轻松地双循环来计算所有组件。您的输出现在已编入索引y(mu/sigma,speed)
,因此第一个索引对应mu/sigma
对,第二个索引对应speed
条目。