日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Matlab蒙特卡罗模拟

發(fā)布時間:2024/3/13 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matlab蒙特卡罗模拟 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Matlab蒙特卡羅模擬:
可以用蒙特卡羅方法來近似模擬求pi值:
思路:
設(shè)相互獨立的隨機變量X,Y均服從[-1,1]上的均勻分布,則(X,Y)服從{-1≤x≤1, 1≤y≤1}上的二元均勻分布(即圖1中正方形區(qū)域上的二元均勻分布),記事件A = {x2+y2≤1},則A事件發(fā)生的概率等于單位圓面積除以邊長為2的正方形的面積,即P(A) = pi/4,從而可得圓周率pi = 4P(A). 而P(A)可以通過蒙特卡洛模擬法求得,在圖1中正方形內(nèi)隨機投點(即橫坐標(biāo)X和縱坐標(biāo)Y都是[-1,1]上均勻分布的隨機數(shù)),落在單位圓內(nèi)的點的個數(shù)m與點的總數(shù)n的比值m/n可以作為A事件的概率P(A)的近似,隨著投點總數(shù)的增加,m/n會越來越接近于P(A),從而可以得到逐漸接近于pi的模擬值。
function piva=PiMonterCarlo(n)
x=0;y=0;d=0;
m=length(n);
pivalue=zeros(m,1);
for i=1:m
x=2rand(n(i),1)-1;
y=2rand(n(i),1)-1;
d=x.2+y.2;
pivalue(i)=4sum(d<=1)/n(i);
end
if nargout==0
if m>1
figure;
plot(n,pivalue,‘k.’);
h=refline(0,pi);
set(h,‘linewidth’,2,‘color’,‘r’);
text(1.05n(end),pi,’\pi’,‘FontSize’,15);
xlabel(‘投點個數(shù)’);
ylabel(’\pi的模擬值’);
else
figure;
plot(x,y,‘r.’);
hold on;
h=rectangle(‘Position’,[-1 -1 2 2],‘LineWidth’,2);
t=linspace(0,2*pi,100);
plot(cos(t),sin(t),‘k’,‘LineWidth’,2);
xlabel(‘X’);ylabel(‘Y’);
title(‘Pi的模擬值:’,num2str(pivalue));
axis([-1.1 1.1 -1.1 1.1]);axis equal;
end
else
piva=pivalue;
end


還可以模擬K值

times = 300; % 蒙特卡洛的次數(shù) R = zeros(times,1); % 用來儲存擾動項u和x1的相關(guān)系數(shù) K = zeros(times,1); % 用來儲存遺漏了x2之后,只用y對x1回歸得到的回歸系數(shù) for i = 1: timesn = 30; % 樣本數(shù)據(jù)量為nx1 = -10+rand(n,1)*20; % x1在-10和10上均勻分布,大小為30*1u1 = normrnd(0,5,n,1) - rand(n,1); % 隨機生成一組隨機數(shù)x2 = 0.3*x1 + u1; % x2與x1的相關(guān)性不確定, 因為我們設(shè)定了x2要加上u1這個隨機數(shù)u = normrnd(0,1,n,1); % 擾動項u服從標(biāo)準(zhǔn)正態(tài)分布y = 0.5 + 2 * x1 + 5 * x2 + u ; % 構(gòu)造yk = (n*sum(x1.*y)-sum(x1)*sum(y))/(n*sum(x1.*x1)-sum(x1)*sum(x1)); % y = k*x1+b 回歸估計出來的kK(i) = k;u = x2 + u; % 因為我們忽略了x2,所以擾動項要加上x2r = corrcoef(x1,u); % 2*2的相關(guān)系數(shù)矩陣R(i) = r(2,1); end plot(R,K,'*') xlabel("x_1和u'的相關(guān)系數(shù)") ylabel("k的估計值")

結(jié)果:

總結(jié)

以上是生活随笔為你收集整理的Matlab蒙特卡罗模拟的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。