Kodda Bulamadığım Hata
-
#include <iostream>
#include <cmath>
using namespace std;
void function (){
double PC = 0.93*667.8+0.0329*707.8+0.0136*616.3+0.0037*550.7+0.0023*529.1+0.0010*488.6+0.0012*490.4+0.0008*436.9+0.0005*332.0+0.0140*493.0;
double TC = 0.93*343.1+0.0329*549.8+0.0136*665.7+0.0037*765.4+0.0023*734.7+0.0010*845.4+0.0012*828.8+0.0008*913.4+0.0005*1070.4+0.0140*227.3;
double ZC = 0.93*0.289+0.0329*0.285+0.0136*0.281+0.0037*0.274+0.0023*0.283+0.0010*0.262+0.0012*0.273+0.0008*0.264+0.0005*0.263+0.0140*0.304;
cout << "PC " << PC << endl;
cout << "TC " << TC << endl;
cout << "ZC " << ZC << endl;
double TR1 = 400 / TC;
double TR2 = 600 / TC;
double A1 = 0.31506237;
double A2 = -1.0467099;
double A3 = -0.57832729;
double A4 = 0.53530771;
double A5 = -0.61232032;
double A6 = -0.10488813;
double A7 = 0.61857001;
double A8 = 0.68446549;
FILE *dosya;
dosya = fopen("veriler.txt","w+");
for (double P = 14.7; P != 10001; P = P + 1){
double fro, fturevro, ro, ro2;
double PR = P / PC;
while(abs(ro2 - ro) < pow(10.0,(-8.0))){ // hata bu döngünün içinde
ro = ZC * PR / (PC * TR1);
fro = ro * TR1 + (A1 * TR1 + A2 + A3 / ( TR1 * TR1 ))* pow(ro,2) +(A4 * TR1 +A5) * pow(ro,3) + A5 * A6 * pow(ro,6) + A7 /pow(TR1,2)* pow (ro,3) * (1+A8*ro*ro) * exp(-A8*ro*ro)-ZC*PR;
fturevro = TR1 + 2*(A1*TR1+A2+A3/pow(TR1,2))* ro + 3 * (A4*TR1+A5)*ro*ro + 6*A5*A6*pow(ro,5)+A7/pow(TR1,2)*ro*ro*(3+A8*ro*ro*(3-2*A8*ro*ro))*exp(-A8*ro*ro);
ro2 = ro - fro / fturevro;
cout << "ro " << ro2 << endl;
fwrite (&ro2, sizeof(ro2),1,dosya);
}
fclose(dosya);
break;
} // for parantezi
} // fonksiyon parantezi
int main(){ //char *argc, int argv[]
function();
system("PAUSE");
return 0;
}herkese selamlar,
kodlar yukarda arkadaşlar. kodlar derleniyo, ancak while içine girdikten sonra bizim koda bişey oluo anlamadı. Yardımcı olabilirseniz sevinirim..
-
fro = ro * TR1 + (A1 * TR1 + A2 + A3 / ( TR1 * TR1 ))* pow(ro,2) +(A4 * TR1 +A5) * pow(ro,3) + A5 * A6 * pow(ro,6) + A7 /pow(TR1,2)* pow (ro,3) * (1+A8*ro*ro) * exp(-A8*ro*ro)-ZC*PR;
Şu satırdaki değere bir rakam atadığında sureklı donmuyor.Programın ne yaptıgını bılmıyorum ama fro eiştliğinde yazdıgın ıslemlere dıkkat e.orada bır hata var