antonis_wrx Δημοσ. 3 Ιανουαρίου 2006 Μέλος Δημοσ. 3 Ιανουαρίου 2006 για κάποιο λόγο οι παρακάτω συναρτήσεις μου άφηνουν αμετάβλητο το φανταστικό μέρος των μιγαδικών... Έχει κανείς ιδέα γιατί; complex f(complex z, double p[MAX], int va8mos) { int j; int sum=0; if (z==0+0i) return p[0]; for (j=0; j<=va8mos; j++) sum=sum+pow(z,j)*p[j]; return sum; } complex newton(complex (*f) (complex,double[],int), complex z, double pz[MAX], double pdz[MAX], int va8mos) { complex a=f(z,pz,va8mos); complex b=f(z,pdz,va8mos-1); if (b==0) return 0; return z-a/b; }
powerfty Δημοσ. 3 Ιανουαρίου 2006 Δημοσ. 3 Ιανουαρίου 2006 To provlima einai stin pow. Den yparxei ylopoihsi tis pow na dexetai orismata typou complex, diladi h ekfrasi pow(z,j) me z complex den yparxei stin math.h alla oute kai stin complex.h. Apenantias stin complex.h yparxei mia alli ylopoihsh paromoia tis pow gia complex numbers alla me diaforetiko onoma. Prepei na xrisimopoihseis tin cpow (double _Complex cpow (double _Complex, double _Complex) ) h tin cpowf (float _Complex cpowf (float _Complex, float _Complex) ) h tin cpowl (long double _Complex cpowl (long double _Complex, long double _Complex) ) eksartatai apo ton typo tou pragmatikou kai fantastikou merous (double, float h long double). Oles oi apopanw periexontai stin complex.h paradeigma: complex z = 1+2i; complex a; a = cpow(z, 2); Episis mporeis na to kaneis diaforetika me ton gnwsto tropo enos loop me while, diladi: complex a; int j = 2; /* h dynami stin opoia ypswneis ton z */ int i = j - 1; a = z; while(i > 0) { a *= z; --i; }
antonis_wrx Δημοσ. 3 Ιανουαρίου 2006 Μέλος Δημοσ. 3 Ιανουαρίου 2006 δηλαδή η αλλάγη που λες ότι χρειάζεται είναι η: complex f(complex z, double p[MAX], int va8mos) { int j; int sum=0; if (z==0+0i) return p[0]; for (j=0; j<=va8mos; j++) sum=sum+cpow(z,j)*p[j]; return sum; } complex newton(complex (*f) (complex,double[],int), complex z, double pz[MAX], double pdz[MAX], int va8mos) { complex a=f(z,pz,va8mos); complex b=f(z,pdz,va8mos-1); if (b==0) return 0; return z-a/b; } το έκανα αλλά πάλι το ίδιο κάνει...
powerfty Δημοσ. 3 Ιανουαρίου 2006 Δημοσ. 3 Ιανουαρίου 2006 To provlima einai kai sti sum (sorry alla twra to proseksa)!! Den prepei na einai typou int alla complex! Afou kaneis prakseis me complex numbers kai meta tis anatheteis se int. Allakse tin kai tha doulepsei.
antonis_wrx Δημοσ. 3 Ιανουαρίου 2006 Μέλος Δημοσ. 3 Ιανουαρίου 2006 θα το δοκιμάσω!! (πάω για βραβείο στραβομάρας... δεν μπορείς να φανταστείς πόση ώρα το κοίταζα!) thanks man!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.