liuyan197954 发表于 2007-6-7 16:58

程序出错问题

表示第一个变量小于 ,第二个变量小于 ,且两变量之间的相关系数为 的二维标准正态分布的累积概率函数
二维标准正态分布的累积概率密度函数为:
我要计算的数值是:

下面是我的程序
functionfhqqfinal
%全局变量
global h;
global sh;
global o1;
global s;
global i1;
global i2;
global r;
global t;
global t1;
global o2;
global g;
%全局变量变量初始化
h=0.15:0.05:0.30;
sh=0.15:0.05:0.30;
=meshgrid(h,sh);
s=1000*ones(size(o1));
i1=90*ones(size(o1));
i2=1000*ones(size(o1));
r=0.02*ones(size(o1));
t=7*ones(size(o1));
t1=1*ones(size(o1));
g=0.02*ones(size(o1));
%二维正态分布相关参数计算
hh1=log(s./i2)+t.*(r-g+o2.^2/2)+0.5*t1.*(o1.^2-o2.^2);
hh2=sqrt(o2.^2.*t+((o1.^2-o2.^2).*t1));
h=hh1./hh2;
k=hh-o2.^2./hh2;
p=(o1.*sqrt(t1))./hh2;
y1=gexian(1000*ones(size(o1)),600*ones(size(o1)))%我已经正确计算出来,结果如下:
y1 =
915.8353   915.8353   915.8353   915.8353
823.3617   823.3617   823.3617   823.3617
736.2270   736.2270   736.2270   736.2270
656.9529   656.9529   656.9529   656.9529

f0=s./(2.*pi.*sqrt(1-p.^2)).*dblquad(‘exp(-x.^2+2.*p*x*.y-y.^2)’,-1000000, y1+o1.*sqrt(t1),-1000000,h);
这一步总是出错,不知道为什么?能不能帮忙看一下,


surf(o1,o2,f);

[ 本帖最后由 eight 于 2007-6-7 17:18 编辑 ]
页: [1]
查看完整版本: 程序出错问题