通过使用normrnd,我想创建一个正态分布函数,其均值和 sigma 值表示为 1x45 大小的向量,从 1:45 变化,并用理想值绘制这个模拟 PDF。
每当我创建一个如下所示的normrnd 时,
Gaussian = normrnd([1 45],[1 45],[1 500],length(c_t));
我收到以下错误,
Size information is inconsistent.
创建此 PDF 的原因是计算具有可变高斯噪声模型的示踪剂的化学动力学。基本上我有一个示踪剂的理想特性现在我想添加高斯噪声并了解示踪剂的化学动力学如何随着噪声的变化而变化。
基本上有不同的计算模型来理解示踪剂的化学动力学,其中一种是三室模型,其他的是形状分析,约束形状分析模型。
我目前对所有各自的模型都有理想的曲线,现在我想为这些模型添加噪声并了解每个特定模型在不同噪声下的行为
这就是为什么我想创建一个带有normrnd的可变噪声模型,将此模型添加到理想特性并计算噪声(Sigma)与误差 - 该分析将给我一个近似估计不同模型在不同噪声下的行为以及哪个模型适合估计示踪剂的化学动力学。
function [c_t,c_t_noise] =Noise_ConstrainedK2(t,a1,a2,a3,b1,b2,b3,td,tmax,k1,k2,k3)
K_1 = (k1*k2)/(k2+k3);
K_2 = (k1*k3)/(k2+k3);
%DV_free= k1/(k2+k3);
c_t = zeros(size(t));
ind = (t > td) & (t < tmax);
c_t(ind)= conv(((t(ind) - td) ./ (tmax - td) * (a1 + a2 + a3)),(K_1*exp(-(k2+k3)*t(ind)+K_2)),'same');
ind = (t >= tmax);
c_t(ind)=conv((a1 * exp(-b1 * (t(ind) - tmax))+ a2 * exp(-b2 * (t(ind) - tmax))) + a3 * exp(-b3 * (t(ind) - tmax)),(K_1*exp(-(k2+k3)*t(ind)+K_2)),'same');
meanAndVar = (rand(45,2)-0.5)*2;
numPoints = 500;
randSamples = zeros(1,numPoints);
for ii = 1:numPoints
idx = mod(ii,size(meanAndVar,1))+1;
randSamples(ii) = normrnd(meanAndVar(idx,1),meanAndVar(idx,2));
c_t_noise = c_t + randSamples(ii);
end
scatter(1:numPoints,randSamples)
dg = [0 0.5 0];
plot(t,c_t,'r');
hold on;
plot(t,c_t_noise,'Color',dg);
hold off;
axis([0 50 0 1900]);
xlabel('Time[mins]');
ylabel('concentration [Mbq]');
title('My signal');
%plot(t,c_tnp);
end
上述函数的输出特性如下,这里我无法想象任何噪音