MATLAB求正态分布逆函数导数

首先MATLAB求导数很简单

syms x y
y=x^2;
diff(y)
运行结果:
ans =
2*x

求一点处的导数也很简单:

subs(diff(y),1)
运行结果:
ans =
2

今天要求正态分布反函数的导数,按上述求,发现提示错误,原因是正态分布反函数导数只有在[0,1]有值,然后没办法,只能用最笨的定义法了,比如下述是求在0.5处的导数值。

y1 = norminv(0.500000000001)-norminv(0.5);

不过有个奇怪的地方,求导应该是区间取的越小越精确,可是当区间过小时,反而不满足了。
不过最后验证相等了,开心

y2 = 1/(normpdf(norminv(0.5,0,1),0,1));
disp(y1);
disp(y2);

你可能感兴趣的:(各路知识汇总,MATLAB求导数)