THMMY.gr

Μαθήματα Βασικού Κύκλου => Δομημένος Προγραμματισμός => Topic started by: MARIOS on May 27, 2006, 12:01:40 pm



Title: Ergasia G
Post by: MARIOS on May 27, 2006, 12:01:40 pm
Κοιτάξτε στην εργασία τη καινούρια λέει για τον υπλογισμο μιας παραγώγου.Υπάρχει μήπως κάποια συνάρτηση που να υπολογίζει την παράγωγο;


Title: Re: Ergasia G
Post by: Verminoz on May 27, 2006, 12:04:03 pm
Δεν ξέρω τι ζητάει η εργασία πάντως συνάρτηση που να υπολογίζει παράγωγο...κάπως δύσκολο. Απαιτείται εξελιγμένος mathematical parser που μάλλον είναι εκτός των ορίων του μαθήματος. Ο υπολογισμός θα πρέπει λογικά να γίνεται με κάποιον έμμεσο τρόπο...


Title: Re: Ergasia G
Post by: dictator23 on May 27, 2006, 12:25:35 pm
Oι τυποι που μας δινει υπολογιζουν την παραγωγο με αριθμητικη μεθοδο.Μεσα στην καθε συναρτηση υπολογισμου θα βαλουμε τον αντιστοιχο τυπο και θα καλει τον εαυτο της μεχρι να γινει το σφαλμα μικροτερο απο αυτο που δωσαμε(το e δηλαδη).


Title: Re: Ergasia G
Post by: MARIOS on May 27, 2006, 12:45:19 pm
Πως δηλαδή?Σορρυ αλλά εχω κολλησει στο συγκεκριμένο θέμα και δεν μπορώ να σκευτώ κάτι


Title: Re: Ergasia G
Post by: dictator23 on May 27, 2006, 13:02:59 pm
Εχει ενα παραδειγμα recursion στο 4ο κεφαλαιο των σημειωσεων του ο Κορτεσης.Κατσε και σκεψου το λιγο


Title: Re: Ergasia G
Post by: Verminoz on May 27, 2006, 13:17:47 pm
Να και κάπου που εφαρμόζεται η αριθμητική ανάλυση :P


Title: Re: Ergasia G
Post by: MARIOS on May 27, 2006, 18:01:01 pm
Πω πω τετοια εποχη πρέπει να σκευτώ?Μήπως να έκανα κατάληψη στο κεφάλη μου? :-\


Title: Re: Ergasia G
Post by: MARIOS on May 27, 2006, 18:02:05 pm
Ευχαριστω παντως!


Title: Re: Ergasia G
Post by: Tonia on May 27, 2006, 20:45:17 pm
ma oi typoi pou dinei den ypologizoun tin paragwgo mias synartisis, ypologizoun ti lysi mias exiswseis. sygkekrimena f(x)=0. egw nomizw oti epeidi sto telos grafei na ginei efarmogi me tin x3-3x2-4x+2=0, prepei na ypologisoume me to xeri tin paragwgo kai na baloume ton typo etoimo meta sto programma. alliws me poio tropo tha borouse na ginei efarmogi kai na tin dei o kortesis?


Title: Re: Ergasia G
Post by: dictator23 on May 27, 2006, 22:19:18 pm
Την f(x) που σου δινει για εφαρμογη την αντικαθιστας στον τυπο της επαναληπτικης μεθοδου.Πχ αν f(x)=x^3+3x-1  στον τυπο του Νewton-Raphson ( x_i+1=x_i- f(x_i)/f'(x_i) ) θα γραψεις στο σωμα της συναρτησης (πχ fun1) τον τυπο x_i+1=x_i -(x^3+3x-1)/(3x^2-3).H συναρτηση θα καλει τον εαυτο της μεχρι | x_i+1  -  x_i |<e.Τοτε επιστρεφει την τιμη της η συναρτηση στην main.                                                         
Nα ενα παραδειγμα για Νewton-Raphson.Δεν θυμαμαι την εκφωνηση της εργασιας G και ισως να υπαρχουν διαφορες.Παντως δες το για την λογικη του


#include<stdio.h>

float fun(float k);
float x0,x1,t,k,e,abso;
main()
{scanf("%f",&e);
scanf("%f",&k);
printf("%f\n",fun(k));
scanf("%f",&e);
}

float fun(float x0)
{
x1=x0-(x0*x0*x0-3.7*x0*x0+6.25*x0-4.0698)/(3*x0*x0-7.4*x0+6.25);
t=x1;
abso=x1-x0;

if (abso<0)
   abso=abso*(-1);
printf("abso=%f\n",abso);
printf("x1=%f\n",x1);
if (abso>e)
     fun(t);

return x1;
}
     


Title: Re: Ergasia G
Post by: harris on May 30, 2006, 15:32:00 pm
Μα καλα τι σκατα ασκηση ειναι αυτή;χωρις να κανουμε ουτε εργαστηρια ουτε καν θεωρια ο κ.κορτεσης συνεχιζει να βαζει ασκησεις;τοσο πολυ απαραιτητες ειναι τωρα πια που εχουν σταματησει ολα τα μαθηματα;τι την ηθελε;και μου φαινεται οτι εχει και πολλες ασαφειες


Title: Re: Ergasia G
Post by: harris on May 31, 2006, 19:52:09 pm
dictator το παραδειγμα σου ηταν πολυ καλο.βαλε και αλλο 1 για την g2


Title: Re: Ergasia G
Post by: dictator23 on June 01, 2006, 15:08:49 pm
Aπορω παντως πως βαζει πρωτοετεις να εφαρμοσουνε εναν αλγοριθμο για τη Regula Falsi χωρις να εχουνε διδαχθει κατι.
Η rec_fun2 θα εχει τη μορφη rec_fun2(*X0,*X1,*e) (προσοχη!παραλειπω στα ορισματα των αριθμο επαναληψεων Ν απλα θελω να δειξω τον αλγοριθμο για τη μεθοδο,ειμαι σιγουρος οτι θα το βολεψετε μονοι σας αυτο)
Εστω εχουμε ενα διαστημα [a,b] για το οποιο f(a)f(b)<0.Τα a,b τα δινουμε απο τα ορισματα *Χ0,*Χ1 της συναρτησης.Στην περιπτωση μας μπορει να ειναι το [0,1]
Τα παρακατω ειναι στο σωμα της rec_fun2
a=*X0;
b=*X1;

G2=b-(b-a)*(b*b*b-3*b*b-4*b+2)/( (b*b*b-3*b*b-4*b+2)-(a*a*a-3*a*a-4*a+2) );

if ( | f(G2) | )< e
 τοτε να μας επιστρεφει η συναρτηση την τιμη του G2(αυτη θα ειναι η ριζα δλδ) η να την εκτυπωνει και μετα χωστε ενα return 0;(στο σωμα του if αυτα μαζι)
 

if  (f(a)f(G2)<=0)
   τοτε η νεα τιμη του a θα ειναι η ιδια και η νεα τιμη του b θα ειναι b=G2;
else
   η νεα τι μη του a, a=G2; ενω το b ειναι το ιδιο
επειτα καλω
  την rec_fun2 που εχει τις νεες τιμες για τα ορισματα, rec_fun2=(&a,&b,&e);

Oλα τα παραπανω εκτελουνται γραμμικα και ειναι κατι σαν ψευδοκωδικας κυριως για να παρετε γραμμη τον αλγοριθμο επιλυσης.Οπου f(x) το δοθεν πολυωνυμο


Title: Re: Ergasia G
Post by: harris on June 01, 2006, 15:47:36 pm
πλακα μου κανεις...και απο που στο καλο επρεπε εγω να ξερω οτι ετσι λειτουργει η μέθοδος Newton Raphson;


Title: Re: Ergasia G
Post by: dictator23 on June 01, 2006, 16:06:30 pm
Για τη Regula Falsi εγραψα στο προηγουμενο ποστ.Το προπροηγουμενο ειναι παραδειγμα Newton-Raphson αλλα με κληση με την τιμη οχι pointers στα ορισματα της συναρτησης.Παντως απο τη στιγμη που καταλαβαινεις τι διαδικασια ακολουθει η καθε μεθοδος δεν ειναι δυσκολο να κανεις το προγραμμα να δουλευει με κληση με αναφορα(pointers κτλ).Η μονη λυση για τετοιες καταστασεις ελλειψεως διδασκαλιας ειναι να ψαχνεις στο Ιντερνετ για να βρεις κατι να σε βοηθησει.Βεβαια οι διδασκοντες τι ρολο βαρανε οταν συμπεριφερονται ετσι...Τεσπα