我需要将MC高斯分布与使用MATLAB和LTspice生成的阈值电压重叠。如果我使用相同的平均值(即0.3558)和sigma值(3 * sigma = 10%,即sigma = 0.0333)模拟然后MATLAB分布比LTspice分布宽得多。另一方面,如果我对我的模拟使用相同的平均值,并且在LTspice中使用sigma = 10%,在MATLAB中使用sigma = 0.0333,则两个图形重叠。但是我需要在我的模拟中加入相同的sigma值。我可以分别知道LTspice和MATLAB中sigma和3 * sigma之间的关系,我该如何解决这个问题呢?
下面附有MATLAB代码。
n= 5000; %no of runs%
m= 0.3558; %nominal Vth/Mean%
sd= 0.0333; % 3*sigma standard deviation%
Vth= m + sd*randn(n,1); %Gaussian distribution of Vth%
figure(2);
hist(Vth); %Histogram of Vth%`
附加了用于生成高斯分布的LTspice代码。
VTH1=.3558*(1+gauss(0.1)) % sigma=10%
答案 0 :(得分:0)
randn()
生成带分布(0,1)的随机数。
gauss(x)
生成具有分布(0,x)的随机数。
因此,如果你想要一个用分布(m,v)生成的数字,你需要在Matlab中执行:
m + v*randn();
并在LTspice中:
m + gauss(v)
或者如果你想在Matlab中看起来像这样:
m + v*gauss(1.0)