全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
1085 1
2013-06-03
火燒眉毛了,有人可以用 matlab 畫出 Copula contour plot 嗎?? 未命名1.png 圖形

因為式子有積分一直畫不出向右圖的結果,有神人可以幫個忙嗎??
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-6-4 11:25:21
這是我寫的程式碼和圖形,但是就無法和原圖長的一樣,有人能告訴我少了什麼步驟嗎??
untitled00.jpg
r=0.0421;
q=0;
theta1=0.1; theta2=0.15;
sigma1=0.2; sigma2=0.25;
nu=1;
omega1=(1/nu)*( log(1-theta1*nu-sigma1*sigma1*nu/2));
m1=(r-q+omega1);  %上面程式的裡面的參數m
omega2=(1/nu)*( log(1-theta2*nu-sigma2*sigma2*nu/2));
m2=(r-q+omega2);
%%%
c=zeros(99,99);
u=0.01:0.01:0.99;
for i=1:99
    F1=@(z1)quad(@(x)normcdf((z1-m1*1-theta1.*x)./(sigma1*sqrt(x))).*gampdf(x,1/nu,nu),0.001,100)-u(i);
    x1(i)=fzero(F1,u(i));
end
for j=1:99
    F2=@(z2)quad(@(x)normcdf((z2-m2*1-theta2.*x)./(sigma2*sqrt(x))).*gampdf(x,1/nu,nu),0.001,100)-u(j);
    x2(j)=fzero(F2,u(j));
end   
for i = 1:99
    for j = 1:99
        c(i,j)=quad(@(x)normcdf((x1(i)-m1*1-theta1.*x)./(sigma1*sqrt(x))).*normcdf((x2(j)-m2*1-theta2.*x)./(sigma2*sqrt(x))).*gampdf(x,1/nu,nu),0.001,100);
    end
end
contour(u,u,c)
axis([0, 1, 0, 1]);axis normal; %axis normal; axis square;
title('\theta_1=0.1,\theta_2=0.15,\sigma=0.2,\sigma=0.25,\nu=1');
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群