Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Mühendislik için programlama dili


pekaziz

Öne çıkan mesajlar

Selam arkadaşlar.

Bu sene makina mühendisliğinde yüksek lisansa başladım ve öğrendiğim kadarıyla mühendislikte ileri sayısal metodlar diye bir derste bol bol basit programlamadan yararlanacağız. Öğretim görevlisiyle konuştuğumda Newton-Raphson veya Gauss-Norman tarzı metodların Fortran, Pascal veya Basic'te yazılacağını öğrendim. Fakat kafama takılan, lisans zamanı gördüğüm Fortran'ın günümüzde artık neredeyse hiç kullanılmadığı dolayısıyla boşa öğrenmiş olabileceğim oldu.

Sorun şu, acaba hem kullanımı yaygın olan, hem de bu tarz dillere yakın olan başka neler var? Visual Basic 2008 denedim az önce, Frontpage gibi karşıma çıktı :D
Link to comment
Sosyal ağlarda paylaş

fortran a herkes bi laf soyler ama senin karşılaşabilecegin tasarım problemlerine karşı tüm gereksinimlerini fazlasıyla karşılar,unutma sen muhendissin yazılımcı degil,programlama dersi gormenin amacı da calısacagın isletmede/projede surekli karsına cıkan aynı degiskene baglı sorunları cozmek icin minik programlar yazıp kendi kendine yetebilmek daha fazlası degil
Link to comment
Sosyal ağlarda paylaş

"nutella yerim" said:

fortran a herkes bi laf soyler ama senin karşılaşabilecegin tasarım problemlerine karşı tüm gereksinimlerini fazlasıyla karşılar,unutma sen muhendissin yazılımcı degil,programlama dersi gormenin amacı da calısacagın isletmede/projede surekli karsına cıkan aynı degiskene baglı sorunları cozmek icin minik programlar yazıp kendi kendine yetebilmek daha fazlası degil


Haklısın sanırım. Ben hep okulumda olduğu kadar kendi kişisel çalışmalarımda da yardımcı olmasını istemiştim. Ama en temel dilleri bilmeden ötekilere geçmek mümkün olmuyor gibi. Daha C++ complier kurmayı bile beceremedim.
Link to comment
Sosyal ağlarda paylaş

Tavsiyeler için teşekkürler herkese, hepsini deneyeceğim vakit buldukça ve en uygun olanı seçmeye çalışacağım. :)

Yalnız ödevimi çabucak yapmak için fortranı hatırlamaya çalışıyorum şu sırada ve bir sorum olacak.

Ödev

f(x) = x^7 - 88

denklemini Newton-Rhapson yöntemiyle bir başlangıç değeri vererek 6. adıma kadar çözmek. Şu anda kodun hali:


WRITE(*,*) 'Enter the initial value:'
READ(*,*) X0
X1 = X0 - (F(X0) / F1(X0))
WRITE(*,*) 'Results are:'
WRITE(*,*) X1
END

FUNCTION F(X)
F = X**7 - 88
RETURN
END

FUNCTION F1(X)
F1 = 7 * X**6
RETURN
END


Yalnız burada işlemi bir kez yapıyor, yani ben ilk değeri giriyorum sonucu veriyor. Ancak şöyle olması lazım, sonuçta bana gösterdiği değeri tekrar denkleme yerleştirmesi (initial value) ve işlemi tekrar yapması ve buna 6 kere devam etmesi gerekiyor.

DO loopla yapmayı çalıştım ama başlangıç değeri dışında, bitiş değeri ve artış miktarı belli olmadığı için kafam karıştı.

Girmem gereken doğru komut ne acaba? :S
Link to comment
Sosyal ağlarda paylaş

Şöyle olması lazım.


X1 = X0 + 2

diyelim ki.

Ben X0 = 1 olarak belirledim. İlk X1 değeri 3 olacak. Daha sonra X1 = X0 kabul edecek (yani X0 = 3 olacak), sonraki adımda X1 = 5 olacak gibi.

Yanlış anlamadıysam dediğini burada belirli bir artış miktarı yazamıyorum çünkü artış miktarını da belirleyen ilk girdiğim değer.
Link to comment
Sosyal ağlarda paylaş

Bildiğim kadarıyla ilk 1 başlangıç değerini, 10 da bitiş değerini gösteriyor. Ama deneyeyim hemen. :)

DO 10, X0 = 1, 6, 1
WRITE(*,*) X1
10 CONTINUE
END

Bu şekilde 6 kere işlem yaptı evet :)

Yalnız bir sorum daha olacak, bir kere işlemi yaptıktan sonra ikinci adımda X1 = X0 olması lazım. Bunu yapmak için şöyle düşündüm ama işe yaramadı. :S


DO 10, X0 = 1, 6, 1
WRITE(*,*) X1
READ (*,*) X1 = X0
10 CONTINUE
END


Tamam bu adımı yaptın, şimdi burada bulduğun değeri X0 olarak kabul edip işlemi tekrar yap diye nasıl yazabilirim?
Link to comment
Sosyal ağlarda paylaş


WRITE(*,*) 'BaŸlang‡ de§erini giriniz:'
READ(*,*) X0
DO 10, X0 = 1, 6
F = X0**7 - 88
F1 = 7 * X0**6
X1 = X0 - (F / F1)
WRITE(*,*) X1
X1 = X0
10 CONTINUE
END

Şöyle deniyorum ama çalışmadı yine, alakasız sonuçlar veriyor. X1 = X0 kısmını becerebilsem olacak ama :D
Link to comment
Sosyal ağlarda paylaş

X1 = X0 neden yapmaya çalışıyorsun? Bundan bahseder misin

bir de write(*,*) X1 , orada X1'i nereden alıp yazıyor?

edit:

ayrıca

WRITE(*,*) 'BaŸlang‡ de§erini giriniz:'
READ(*,*) X0
DO 10, X0 = 1, 6

burada kanımca başlangıç değerini XO ya atıyorsun, sonra XO = 1 yapıyorsun?
Link to comment
Sosyal ağlarda paylaş

Abi döngünün asıl olacağını anladığını ümit ediyorum :)

Elimde şöyle bir denklem var.


X1 = X0 - f(X0)/f'(X0)


X0 değerini ben veriyorum en başta (bu arada f(X0) ve f'(X0) fonksiyonları da X0 cinsinden fonksiyonlar). Sistem ilk X1 sonucunu buluyor ve bunu WRITE(*,*) komutuyla ekranda yazıyor.

Bundan sonrasında elde edilen X1 değeri, X0 yerine yazılıp yeni bir X1 değeri elde ediliyor, bu X1 tekrar X0 yerine yazılıyor ve 6 kere böyle gidiyor.

Güncellemeni yeni gördüm. Evet sanırım orada bir sorun var, çözmeye çalışayım. :)
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...