MC高斯分布用于逆变器阈值电压

时间:2018-01-26 14:56:52

标签: matlab gaussian montecarlo

我需要将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%

1 个答案:

答案 0 :(得分:0)

Matlab中的

randn()生成带分布(0,1)的随机数。

LTspice中的

gauss(x)生成具有分布(0,x)的随机数。

因此,如果你想要一个用分布(m,v)生成的数字,你需要在Matlab中执行:

m + v*randn();

并在LTspice中:

m + gauss(v)

或者如果你想在Matlab中看起来像这样:

m + v*gauss(1.0)