Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %Monte Carlo Metodu ile Laplace Denkleminin Çözümü
- % T = sıcaklık matrisi, i: satır nod indisi, j: sütun nod indisi
- %Program iki aşamadan oluşuyor. İlk aşama tüm i, j noktalarını tararken
- %ikinci aşama bu taranan noktalara Monte Carlo Yöntemi ile elde edilen
- %Sıcaklık değerini atıyor
- imax = 10;
- jmax = 70; %iki düzlemdeki maksimum nod sayıları
- T = zeros(imax, jmax);
- Ts1 = 20; %birinci sınır şartı, j = 1 yüzeyi
- Ts2 = 70; %ikinci sınır şartı, j = jmax yüzeyi
- T(:,1) = Ts1 ;
- T(:, jmax) = Ts2 ; %Matrise sınır yüzey sıcaklıkları atanması
- i = 5;
- j = 38;
- %Random yürüme işlemi buradan başlıyor
- lmax = imax;
- gmax = jmax;
- p = zeros(lmax,gmax); %rastgele yürüme matrisi
- l = i;
- g = j; %l satır nodu, g sütun nodu
- k = 1;
- S=0;
- for i = 1:1000
- while g > 1 && g < gmax; %g=1 ve g=gmax sınır şartları bu değerlere
- %ulaştığı zaman döngü durup ilgili nodun sıcaklığı kaydedilecek
- r = rand(1);
- if r<= 0.25
- if g==gmax
- g = g+0;
- k = k+1;
- else
- g = g+1;
- k = k+1;
- p(l,g)= k;
- end
- elseif r<=0.5
- if l == lmax
- l = l+0;
- k = k+1;
- p(l,g)= k;
- else
- l = l+1;
- k = k+1;
- p(l,g)= k;
- end
- elseif r<=0.75
- if g==1
- g = g-0;
- else
- g = g-1;
- k = k+1;
- p(l,g)= k;
- end
- else
- if l == 1
- l = l-0;
- k = k+1;
- p(l,g)= k;
- else
- l = l-1;
- k = k+1;
- p(l,g)= k;
- end
- end
- end
- if g==1 %Sınır yüzeyine ulaşıldı, sıcaklığı kaydet.
- S = S + Ts1;
- elseif g== gmax
- S = S + Ts2;
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement