Merhaba monte carlo metodu ile 2D laplace denkleminin çözümüne uğraşıyorum. Bilen bilir ancak yine de laplace denklemini vereyim.

upload.wikimedia.org

Sorunum oradaki döngüyü yerine oturtamamaktan olduğundan takıldığım yeri anlatayım. Sınır noktaları g sütununda ve g = 1 ve g = gmax (j=70'de tanımlı) random walk parçacığı buraya geldiğinde işlem sonlanacak işte ben de o sınır sıcaklık değerini not edeceğim ama beceremedim, galiba saçma bir döngüye soktum bitmiyor mübarek.

kodun o kısmı tam olarak şu. döngüyü tamamlasam devam edeceğim ama maalesef. takıldık fena.

pastebin.com

copy paste yapınca saçma sapan bir şey oluyomuş. pastebinledim ben de.

 

while'ın end'i yok gibi.
if g==1'den önce veya en son while'ın end'ini kapatmak gerek. (Artık fonksiyon için neresi uygunsa)

aychovsky

son end while'ın end'i. g == 1 kısmı da içerisinde oraya ulaştığı an döngü bitecek. koşullarda bir sıkıntı var gibi.

gerçi g == 1 sonrasını döngü dışına da atabilirim ya mantıklı. içerde anlamsız olur. haa doğru ya zaten bitirecek o kısmı bir deneyim.

son not: maalesef işe yaramadı. sapıttı yine.

mechanica

Buldum, | yerine & gelecek. Böylece her değer şartı sağlıyor ve döngü bitmiyor. "g 1'den büyük ve 5'ten küçük olduğu sürece devam edecek döngü. Böyle her şey koşulu sağlıyor, dolayısıyla sonsuz döngüye giriyor.

Bir de gerçekten yukarıda pastebin'de yapıştırdığın şeyde while'ın end'i yok. Gerçi koymuşsun onu zaten.

aychovsky

Dahası da varmış.
while g>=1 || g<=gmax komple şöyle değişmeli

while g>1 & g<gmax olmalı. Başka türlü 1 ve gmax'ta durmuyor, devam ediyor, sınırları geçiyor ve S girdiği gibi çıkıyor.

aychovsky

sağolasın evet s değerine ulaşabildim bir döngü ile beraber ki döngü de istediğimi veriyor şuan. :) teşekkürler.

mechanica
1

mobil görünümden çık