首先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);