syms F D r;
% g(D,F,r)=D - F/(pi*r^2)
Q1 = diff((D - F)/(pi * r^2), D);
Q2 = diff((D - F)/(pi * r^2), F);
Q3 = diff((D - F)/(pi * r^2), r);
D = 238; sgmaD = 19.04;
F = 120000; sgmaF = 12000;
r = 14; sgmr = 0.02;
g = D - F/(pi * r^2);
dsD = eval(Q1);
dsF = eval(Q2);
dsr = eval(Q3);
varP = dsD^2 * sgmaD^2 + dsF^2 * sgmaF^2 + dsr^2 * sgmr^2;
sigmag = sqrt(varP);
zr = g / sgmag;
RR = normcdf(zr);
运行结果
RR = 0.9432
Q1 = 1
Q2 = -1/(pir^2)
Q3 = (2F)/(pi*r^3)
g = 43.1164
dsD = 1
dsF = -0.0016
dsr = 27.8405
varP = 742.6278
sgmag = 27.2512
zr = 1.5822
这个是matlab的程序
using Symbolics
using TyMath
using TySymbolicMath
@variables F D r
g(D,F,r)=D-F/(pir^2)
Q1 = diff((D - F) / (π * r^2), D)
Q2 = diff((D - F) / (π * r^2), F)
Q3 = diff((D - F) / (π * r^2), r)
zr=norminv(r)
D = 238
sigmaD = 19.04
F = 120000
sigmaF = 12000
r = 14
sigmr = 0.02
g = D - F / (π * r^2)
dsD = Float64(eval(Q1))
dsF = Float64(eval(Q2))
dsr = Float64(eval(Q3))
varP = dsD^2 * sigmaD^2 + dsF^2 * sigmaF^2 + dsr^2 * sigmr^2
sgmag = sqrt(varP)
zr = g / sigmag
RR = cdf(Normal(), zr)
这个是我用mworks的程序,是哪里弄错了