C++ İle Fizik Problemleri

FiraT90
11-04-2012, 09:35   |  #1  
FiraT90 avatarı
OP Üye
Teşekkür Sayısı: 0
98 mesaj
Kayıt Tarihi:Kayıt: Tem 2011

Arkadaşlar Fizik bölümü öğrencisiyim ve yakın zamanda sınavım var. C++ ile türev, integral ve diferansiyel denklemler çözme algoritmaları hakkında yardımcı olur musunuz ? Şimdiden teşekkürler ..

iskn90
11-04-2012, 22:09   |  #2  
iskn90 avatarı
Yeni Üye
Teşekkür Sayısı: 0
32 mesaj
Kayıt Tarihi:Kayıt: Nis 2012

Ne gibi bir yardım gerek ? Bana integral türev alan grafik çizen program yazın diyorsan kimse onu yapmaz, ama programlama biliyorsan math class'ını falan bir araştır derim hazır metotları vardır muhtemelen yani türev yada integral alan metotlar

FiraT90
14-04-2012, 05:25   |  #3  
FiraT90 avatarı
OP Üye
Teşekkür Sayısı: 0
98 mesaj
Kayıt Tarihi:Kayıt: Tem 2011

Hayır örneğin hoca C++ ile sin(x) in türevini alın diyor. Mesela örnek bir algoritma:

Örnek olarak f(x) = Si n(x) fonksiyonunun f0(x = 1) deki de gerini hesaplayıp yaklaşık türevle karşılaştıralım (sonuç Cos(x = 1) = 0:540302).

#include <iostream>
#include <cmath>
using namespace std;
int main() {
double x,h;
cout<<"Hangi noktada turevi hesaplamak istersiniz?"<<endl;
cout<<"x= "<<endl;
cin>>x;
cout<<"Grid araligini h'i girin"<<endl;
cout<<"h= "<<endl;
cin>>h;
double t5n=(sin(x-2*h)-8*sin(x-h)+8*sin(x+h)-sin(x+2*h))/(12*h);//
bes-nokta turev
double t3n=(sin(x+h)-sin(x-h))/(2*h);// uc-nokta 1.turev
double t2ni=(sin(x+h)-sin(x))/h;// iki-nokta ileri 1.turev
double t2ng=(sin(x)-sin(x-h))/h;// iki-nokta geri 1.turev
double t1dgr=cos(x);//dogru 1.turev
cout<<" "<<endl;
cout<<" DEGER HATA "<<endl;
cout<<"Bes nokta 1.turev: "<<t5n<<" "<<abs(t5n-t1dgr)<<endl;
cout<<"Uc nokta 1.turev: "<<t3n<<" "<<abs(t3n-t1dgr)<<endl;
cout<<"Iki nokta ileri 1.turev: "<<t2ni<<" "<<abs(t2ni-
t1dgr)<<endl;
cout<<"Iki nokta geri 1.turev: "<<t2ng<<" "<<abs(t2ng-
t1dgr)<<endl;
cout<<"Dogru 1.turev: "<<t1dgr<<" "<<abs(t1dgr-t1dgr)<<endl;
cout<<" "<<endl;
double tt3n=(sin(x+h)-2*sin(x)+sin(x-h))/(h*h); //uc-
nokta 2.turev
Ikinci türev 21
double tt5n=(-sin(x-2*h)+16*sin(x-h)-30*sin(x)+16*sin(x+h)-
sin(x+2*h))/(12*h*h);
//bes-nokta
2.turev
double t2dgr=-sin(x); //dogru 2.turev
cout<<"Bes nokta 2.turev: "<<tt5n<<" "<<abs(tt5n-t2dgr)<<endl;
cout<<"Uc nokta 2.turev: "<<tt3n<<" "<<abs(tt3n-t2dgr)<<endl;
cout<<"Dogru 2.turev: "<<t2dgr<<" "<<abs(t2dgr-t2dgr)<<endl;
cout<<" "<<endl;
system ("PAUSE");
return 0;
}

Bunu Dev C++ programına yazdığında siyah ekranda türevini direkt karşına çıkarıyor.