Title: [C++] 3η εργασία 2008 Post by: λήθη on November 05, 2008, 15:49:13 pm Η θεωρητική τιμή που πρέπει να έχει ένα αναλογικό σήμα, που λαμβάνεται από ένα σταθμό, υπολογίζεται ως το άθροισμα Σcx για i=1,…,k, όπου c είναι γνωστοί συντελεστές και x τιμές που έχουν υπολογιστεί για τον συγκεκριμένο σταθμό. Για να ελεγχθεί η αξιοπιστία του συστήματος λαμβάνονται Ν τιμές του κάθε μία από τις οποίες λαμβάνεται κάτω από διαφορετικές συνθήκες οι οποίες προσδιορίζονται από ένα διαφορετικό σύνολο των συντελεστών c και υπολογίζεται η διαφορά της από την αντίστοιχη θεωρητική τιμή.
Να γράφει το λογισμικό στο οποίο ορίζεται η κλάση matrix η οποία έχει ως protected στοιχεία τον pointer vec σε στοιχεία τύπου float και τον pointer σε pointer mat επίσης σε στοιχεία τύπου float. Η κλάση να διαθέτει δύο συναρτήσεις αρχικών συνθηκών από τις οποίες η πρώτη να δέχεται ως όρισμα τον ακέραιο k και να δεσμεύει δυναμικά μνήμη για έναν πίνακα με k αριθμούς τύπου float τη διεύθυνση του οποίου να καταχωρεί ως τιμή του vec. Η δεύτερη συνάρτηση αρχικών συνθηκών να δέχεται ως ορίσματα δύο ακέραιες τιμές m και k και να δεσμεύει δυναμικά μνήμη για k τιμές τύπου float τη διεύθυνση του οποίου να καταχωρεί ως τιμή του vec. Η ίδια συνάρτηση να δεσμεύει δυναμικά μνήμη και για έναν πίνακα τύπου mxk τη διεύθυνση του οποίου να καταχωρεί ως τιμή του mat. Από την κλάση matrix να παράγεται, ως public, η κλάση in_sig στην οποία να ορίζονται οι κατάλληλες συναρτήσεις για να διαβαστούν και να τοποθετηθούν ως στοιχεία του πίνακα vec οι N τιμές του εισερχόμενου σήματος. Η ίδια κλάση να διαθέτει ακόμη τις κατάλληλες συναρτήσεις με τις οποίες να επιφέρεται μια πρώτη διόρθωση των τιμών αυτών θέτοντας τις τιμές που βρίσκονται έξω από τα όρια του διαστήματος [a,b] ίσες με το πλησιέστερο προς αυτές όριο του διαστήματος. Από την κλάση matrix να παράγεται ακόμη, ως public, η κλάση dif_co στην οποία να ορίζονται οι κατάλληλες συναρτήσεις οι οποίες να διαβάζουν τους k συντελεστές c για κάθε ένα από τα εισερχόμενα σήματα και να τους τοποθετούν ως στοιχεία των γραμμών του πίνακα mat. Η ίδια κλάση να διαθέτει ακόμη τις κατάλληλες συναρτήσεις που να διαβάζουν και τις k τιμές των παραμέτρων x τις οποίες να τοποθετούνται ως τιμές του πίνακα vec. Στο πρόγραμμα να ορίζεται ακόμη η συνάρτηση check η οποία να δέχεται ως ορίσματα ένα αντικείμενο τύπου in_sig και ένα αντικείμενο τύπου dif_co και να υπολογίζει τον μέσο όρο των διαφορών των τιμών του εισερχόμενου σήματος από τις αντίστοιχες θεωρητικές. Τέλος η συνάρτηση main να διαβάζει τις τιμές των Ν και k και να δημιουργεί ένα αντικείμενο τύπου in_sig και ένα αντικείμενο τύπου dif_co και καλώντας τη συνάρτηση check να υπολογίζει και να εκτυπώνει τον μέσο όρο που αυτή υπολόγισε. α 497 Title: Re: [C++] 3η εργασία Post by: ripper_george on November 05, 2008, 19:49:23 pm Ασκηση είναι αυτή ή έκθεση??? >:( >:( >:(
Το [α,β] από τι θα καθορίζεται??? Επίσης, στον πίνακα mxk τι θα βάζω??? :o Title: Re: [C++] 3η εργασία Post by: mitsos_dlx on November 05, 2008, 20:04:14 pm Το [α,β] διάστημα το εισάγει προφανώς ο χρήστης.
Στο πίνακα mxk αποθηκεύεις τους συντελεστές c[ i ] που λέει ή καλύτερα τους συντελεστές c[i,j] αφού είναι διαφορετικοί για κάθε μέτρηση. Ωστόσο τα x[ i ] παραμένουν τα ίδια σε όλες τις Ν μετρήσεις. Δεν πειράζει που είναι έκθεση... Ίσα-ίσα που είναι όλα πολύ καλά αναλυμένα και ξέρεις ακριβώς τι θέλει να κάνεις.... ;) ;) Title: Re: [C++] 3η εργασία Post by: ripper_george on November 05, 2008, 20:32:40 pm Δηλαδή, παίρνω Ν σήματα...
τα βάζω μέσα σε όρια που δίνει ο χρήστης α,β για κάθε σήμα αποθηκεύω διαφορετικούς συντελεστές... Μετα??? Δεν την έχω καταλάβει..... >:( >:( >:( :-\ Title: Re: [C++] 3η εργασία Post by: Emfanever on November 05, 2008, 20:41:02 pm Δηλαδή, παίρνω Ν σήματα... τα βάζω μέσα σε όρια που δίνει ο χρήστης α,β για κάθε σήμα αποθηκεύω διαφορετικούς συντελεστές... Μετα??? Δεν την έχω καταλάβει..... >:( >:( >:( :-\ Για κάθε σήμα αποθηκεύεις διαφορετικούς συντελεστές ( θεωρητικές τιμές είναι αυτές) και από τον τύπο Σc*x βρίσκεις τη θεωρητική τιμή για καθένα από τα Ν σήματα. Και μετά η check υπολογίζει ένα μέσο όρο που προκύπτει από τις διαφορές εισερχόμενοθ-θεωρητικού σήματος. Αυτό κατάλαβα εγώ Title: Re: [C++] 3η εργασία Post by: Emfanever on November 05, 2008, 21:12:11 pm Σχετικά με τα όρια των εισερχόμενων σημάτων,
1)τα βάζουμε αυθαίρετα ή προκύπτουν από τις θεωρητικές τιμές? 2)οι θεωρητικές τιμές δεν έχουν όρια? Επίσης στη διαφορά θα πάρουμε την απόλυτη τιμή? Title: Re: [C++] 3η εργασία Post by: λήθη on November 06, 2008, 02:53:38 am Απολυτη τιμη ναι..πως αλλιως θα ξερεις ποιο απο τα α, β να επιλεξεις.?
Εγω εχω αλλη ερωτηση.. Στην αρχη μας λεει οτι εχουμε ενα πινακα vec και ενα πινακα mat.. Μετα..η κλαση in_sig μεταβαλει τον πινακα vec και του βαζει Ν στοιχεια..δλδ m στοιχεια.. Αλλα στη συνεχεια λεει οτι η κλαση dif_co μεταβαλει τον πινακα vec και τον γεμιζει με k στοιχεια, τους x συντελεστες.. Μιλαμε για τον ιδιο πινακα, ή μηπως επειδη οριζεται σε/απο διαφορετικα αντικειμενα δεν υπαρχει προβλημα? Γιατι ο vec οριζεται στη base κλαση, matrix.. α 499 Title: Re: [C++] 3η εργασία 2008 Post by: st0up on November 06, 2008, 14:15:37 pm Ακριβως την ιδια απορια εχω!!! :P
Title: Re: [C++] 3η εργασία 2008 Post by: Emfanever on November 06, 2008, 14:23:53 pm Εγώ δεν είχα πρόβλημα πάντως. Δεν είναι ο ίδιος πίνακας vec στις δυο περιπτώσεις
Title: Re: [C++] 3η εργασία 2008 Post by: λήθη on November 06, 2008, 14:28:18 pm Εννοεις οτι επειδη οριζεται σε διαφορετικες κλασεις?
α 501 Title: Re: [C++] 3η εργασία 2008 Post by: Emfanever on November 06, 2008, 14:36:53 pm Ναι, αρχικά ο vec βρίσκεται στη matrix και στη συνέχεια περνά σε κάθε μια από τις παραγόμενες κλάσεις in_sig και dif_co που είναι διαφορετικές μεταξύ τους...
Title: Re: [C++] 3η εργασία 2008 Post by: ripper_george on November 07, 2008, 00:42:50 am Μια απορία
Ορίζω μια friend συνάρτηση για τα 2 αντικείμενα dif_co and in_sig. Όταν την ορίζω στις 2 κλάσεις, μου βγάζει error συντακτικό ότι δεν "βλέπει" την dif_co. Σημείωση: Η dif_co είναι ορισμένη σε παρακάτω γραμμές του κώδικά μου. Πως μπορώ να την ορίζω αυτή την friend συνάρτηση που να δέχεται και τα 2 αντικείμενα ως ορίσματα?? :-\ Title: Re: [C++] 3η εργασία 2008 Post by: Emfanever on November 07, 2008, 01:01:09 am βάζεις πάνω πάνω class dif_co; για να καταλάβει ο compiler oτι παρακάτω θα ορίσεις μια τέτοια κλάση
Title: Re: [C++] 3η εργασία 2008 Post by: Emfanever on November 07, 2008, 01:07:31 am Από την κλάση matrix να παράγεται, ως public, η κλάση in_sig στην οποία να ορίζονται οι κατάλληλες συναρτήσεις για να διαβαστούν και να τοποθετηθούν ως στοιχεία του πίνακα vec οι N τιμές του εισερχόμενου σήματος. Η ίδια κλάση να διαθέτει ακόμη τις κατάλληλες συναρτήσεις με τις οποίες να επιφέρεται μια πρώτη διόρθωση των τιμών αυτών θέτοντας τις τιμές που βρίσκονται έξω από τα όρια του διαστήματος [a,b] ίσες με το πλησιέστερο προς αυτές όριο του διαστήματος. Ρώτησα τον κ Συμεωνίδη και η εκφώνηση έχει ένα λάθος απότι φαίνεται. σε ένα σημείο, όπου Ν πρέπει να είναι κ, συγκεκριμένα "στοιχεία του πίνακα vec οι κ τιμές του εισερχόμενου σήματος." Title: Re: [C++] 3η εργασία 2008 Post by: λήθη on November 07, 2008, 03:18:28 am Ntax, tora me gamises kanonika aladota
α 504 Title: Re: [C++] 3η εργασία 2008 Post by: tolis_1 on November 07, 2008, 19:07:04 pm εγω δεν καταλαβα εκει που λεει Η ίδια συνάρτηση να δεσμεύει δυναμικά μνήμη και για έναν πίνακα τύπου mxk τη διεύθυνση του οποίου να καταχωρεί ως τιμή του mat.
Title: Re: [C++] 3η εργασία 2008 Post by: Emfanever on November 07, 2008, 19:29:24 pm Θα κάνεις έναν πίνακα mat n*k
δηλαδή Code: mat=(float**)malloc.... Title: Re: [C++] 3η εργασία 2008 Post by: tolis_1 on November 07, 2008, 20:05:58 pm k αυτο που λεει τυπου μχκ τι ειναι?
Title: Re: [C++] 3η εργασία 2008 Post by: tolis_1 on November 07, 2008, 20:07:03 pm ακυρο κτλβ
Title: Re: [C++] 3η εργασία 2008 Post by: kafeini on November 08, 2008, 10:27:04 am Από την κλάση matrix να παράγεται, ως public, η κλάση in_sig στην οποία να ορίζονται οι κατάλληλες συναρτήσεις για να διαβαστούν και να τοποθετηθούν ως στοιχεία του πίνακα vec οι N τιμές του εισερχόμενου σήματος. Η ίδια κλάση να διαθέτει ακόμη τις κατάλληλες συναρτήσεις με τις οποίες να επιφέρεται μια πρώτη διόρθωση των τιμών αυτών θέτοντας τις τιμές που βρίσκονται έξω από τα όρια του διαστήματος [a,b] ίσες με το πλησιέστερο προς αυτές όριο του διαστήματος. Ρώτησα τον κ Συμεωνίδη και η εκφώνηση έχει ένα λάθος απότι φαίνεται. σε ένα σημείο, όπου Ν πρέπει να είναι κ, συγκεκριμένα "στοιχεία του πίνακα vec οι κ τιμές του εισερχόμενου σήματος." μια ερωτηση: ακριβως σε αυτο το σημειο εννοει τις κ τιμές Χ1,Χ2,...Χκ; ναι αλλα αν εννοει αυτο τοτε οι κ τιμες που ζηταει στην κλάση dif_co οι ίδιες δεν είναι? :( Title: Re: [C++] 3η εργασία 2008 Post by: Emfanever on November 08, 2008, 13:09:49 pm σε αυτό το σημείο ζητά τις κ τιμές c που αφορούν το θεωρητικό σήμα.
Παρακάτω εισάγεις τις Ν*κ τιμές του c που αφορύν τα εισερχόμενα σήματα καθώς και τις x που είναι κοινές για θεωρητικό και εισερχόμενα. Title: Re: [C++] 3η εργασία 2008 Post by: kafeini on November 08, 2008, 20:29:54 pm σε αυτό το σημείο ζητά τις κ τιμές c που αφορούν το θεωρητικό σήμα. Παρακάτω εισάγεις τις Ν*κ τιμές του c που αφορύν τα εισερχόμενα σήματα καθώς και τις x που είναι κοινές για θεωρητικό και εισερχόμενα. Δηλαδή, αν κατάλαβα καλά στην in_sig ζητάμε τις Χ1...Χκ τιμές, κ τις βάζουμε στον vec. Μετά ζητάμε τα c1...Ck κ απο τον τύπο που μας δίνει υπολογόζουμε μια θεωρητική τιμή???ή λέω βλακείες? Title: Re: [C++] 3η εργασία 2008 Post by: Emfanever on November 08, 2008, 21:21:20 pm εγώ νομίζω στην in_sig βάζεις τα c του θεωρητικού σήματος. Αφού στο dif_co ζητάει τα x
Title: Re: [C++] 3η εργασία 2008 Post by: λήθη on November 09, 2008, 02:36:21 am Μασησα τα φυλλα πριν απο δυο λεπτα, μυρισα και τα ποδια του φιλου μου του λευτερακη και απο οτι καταλαβα
συγχωρηστε με κιολας αν ο θεος μου εχει λαθος, στον πινακα vec, που δημιουργει η in_sig, μπαινουν τα c του θεωρητικου σηματος. Ειναι το πιο λογικο, αφου στην vec που δημιουργει η dif_co μπαινουν τιμες που ειναι ιδιες για τα δυο σηματα.. Το οτι ειναι κ τελικα και οχι N, ξεδιαλυνει το τοπιο, εξαλλου ειναι λογικο τελικα αφου δεσμευω μνημη για κ αντικειμενα, αλλιως το ειχα στο μυαλο μου Thanx emfa α 508 Title: Re: [C++] 3η εργασία 2008 Post by: radio on November 09, 2008, 03:00:06 am Giati na mpainoun ta c tou thewritikou simatos ston vec tis in_sig??etsi opos to katalava o pinakas vec[n] tis in_sig prepei na xei tis n times tou simatos,o mat[n][k] tis dif_co ta c (sintelestes) kai o vec[k] dif_co tis parametrous x(i) kai na ipologizetai i thewritiki timh tou simatos apo mat(i) [j]*vec[j] to opoio na afereitai apo to vec(i) tis in_sig gia na brethei o mesos oros,h deuteri selida me mperdepse arketa
Title: Re: [C++] 3η εργασία 2008 Post by: kafeini on November 09, 2008, 11:09:34 am Μασησα τα φυλλα πριν απο δυο λεπτα, μυρισα και τα ποδια του φιλου μου του λευτερακη και απο οτι καταλαβα συγχωρηστε με κιολας αν ο θεος μου εχει λαθος, στον πινακα vec, που δημιουργει η in_sig, μπαινουν τα c του θεωρητικου σηματος. Ειναι το πιο λογικο, αφου στην vec που δημιουργει η dif_co μπαινουν τιμες που ειναι ιδιες για τα δυο σηματα.. Το οτι ειναι κ τελικα και οχι N, ξεδιαλυνει το τοπιο, εξαλλου ειναι λογικο τελικα αφου δεσμευω μνημη για κ αντικειμενα, αλλιως το ειχα στο μυαλο μου Thanx emfa α 508 Ναι, αλλά αν είναι έτσι τότε η θεωρητική τιμή πως σκατά προκύπτει?οεο??? Title: Re: [C++] 3η εργασία 2008 Post by: AgentCain on November 09, 2008, 13:17:06 pm Επίσης όπου m βάλτε Ν
Φως φανάρι βέβαια γιατί αλλιώς δε βγαίνει νόημα :P Title: Re: [C++] 3η εργασία 2008 Post by: AgentCain on November 09, 2008, 13:39:23 pm Προσωπικά αντιλήφθηκα το πρόβλημα ως εξής:
Το πρόγραμμα αναλαμβάνει κάθε φορά 1 αναλογικό σήμα. Πρακτικά αυτό που κάνουμε είναι στην ουσία δειγματοληψία του σήματος με πυκνότητα k (δλδ ανά k μετράμε την τιμή του σήματος) Τώρα υπάρχουν 2 περιπτώσεις, θεωρητικό σήμα (το σήμα που υπολογίζουμε με κάποιο τρόπο) και το πραγματικό σήμα (που εισάγουμε στο πρόγραμμά μας) Το θεωρητικό σήμα προσδιορίζεται στη κλάση in_sig ως ένα σύνολο από αριθμούς και καταχωρείται στον πίνακα vec. Εφόσον το σήμα είναι αυτό που υπολογίσθηκε θεωρητικά μπορούμε να προσδιορίσουμε με ακρίβεια την τιμή του σε κάθε μια από τις k στιγμές του. Το πραγματικό σήμα προσδιορίζεται στην κλάση dif_co. Επειδή όμως πρόκειται για πραγματικό σήμα φροντίζουμε να το μετρήσουμε Ν φορές για να αποφύγουμε τα λάθη. Δλδ κάθε φορά που δειγματοληπτούμε (μετρώντας την μια από τις k τιμές) μετράμε την συγκεκριμένη τιμή Ν φορές (θα διαφέρει λογικά διότι αλλάζουμε τις συνθήκες μέτρησης). Για να κάνουμε τη ζωή μας εύκολη παρατηρήσαμε ότι η τιμή αυτή που μετράμε είναι στην πραγματικότητα το γινόμενο ενός συντελεστή με μία σταθερή ποσότητα, αποκλειστική για την τιμή που μετράμε. Οπότε για τις Ν φορές που θα μετρήσουμε την τιμή αυτή θα πάρουμε Ν συντελεστές c, οι οποίοι πολλοπλασιαζόμενοι με τη σταθερά x μας δίνουν την τιμή του σήματος στο συγκεκριμένο σημείο. Στη συνέχεια χρησιμοποιούμε την συνάρτηση check για να βρούμε τον Μέσο Όρο των διαφορών των τιμών του πραγματικού από το θεωρητικό σήμα. Πρακτικά κάνουμε το εξής: 1)υπολογίζουμε την τιμή του πραγματικού σήματος κάνοντας το γινόμενο c(i)*x(i) 2)κάνουμε το ίδιο για τις Ν μετρήσεις της συγκεκριμένης τιμής σήματος 3)υπολογίζουμε τον Μ.Ο των μετρήσεων για τη συγκεκριμένη τιμή σήματος 4)βρίσκουμε τη διαφορά του παραπάνω Μ.Ο. με τη θεωρητική τιμή σήματος 5)κάνουμε όλα τα παραπάνω για τις k διακριτές τιμές δειγματοληψίας 6)βρίσουμε το Μ.Ο. των Μ.Ο. που υπολογίσαμε για τις k διακριτές τιμές δειγματοληψίας Ίσως βοηθήσει, έτσι το αποκωδικοποίησα εγώ :P ΥΓ Μπορεί στην in_sig να μην βάζουμε τις τιμές του θεωρητικού σήματος αλλά τους συντελεστές οι οποίοι πολλαπλασιαζόμενοι με τις σταθερές x(i) να μας δίνουν την τιμή του θεωρητικού σήματος. Δεν έχει μεγάλη διαφορά βέβαια, ένας πολλαπλασιασμός είναι. Title: Re: [C++] 3η εργασία 2008 Post by: Emfanever on November 09, 2008, 15:35:48 pm Θα σας πω τι ακριβώς είπε ο κ. Συμεωνίδης σχετικά με το τι ζητάει η εργασία c. Η απάντηση του βασίζεται σε αυτά που του είπε ο κ. Κορτέσης.
Το θεωρητικό σήμα είναι μόνο 1. Τα εισερχόμενα ( πραγματικά ) σήματα είναι Ν. Η τιμή κάθε σήματος , ανεξάρτητα αν είναι το θεωρητικό ή πραγματικό υπολογίζεται από τον τύπο Σc(i)*x(i). i=1,2,....k Τα k x(i) είναι κοινά, τόσο για το θεωρητικό σήμα , όσο και για τα Ν εισερχόμενα σήματα. Τα x(i) τα δέχεται ο πίνακας vec της κλάσης dif_co. Όσον αφορά τα c(i) Ο πίνακας vec της κλάσης in_sig δέχεται τα k c(i) του (ενός και μοναδικού) θεωρητικού σήματος. Εδώ είναι που έρχεται η διόρθωση στην εκφώνηση ότι αντί για Ν βάζουμε k. Στον Νxk πίνακα mat της κλάσης dif_co εισάγουμε k συντελεστές c(i) για καθένα από τα Ν εισερχόμενα(πραγματικά) σήματα. Με βάση τον τύπο Σc(i)*x(i) υπολογίζουμε Ν εισερχόμενα σήματα και 1 θεωρητικό. Απότι θυμάμαι , το μέσο όρο είπε να τον υπολογίσουμε ως εξής : ((θεωρητικό-εισερχ1)+(θεωρητικό-εισερχ2)+......+(θεωρητικό-εισερχΝ)) / Ν όπου θεωρητικό και εισερχ(i) βάζουμε το αποτέλεσμα του τύπου Σc(i)*x(i). Title: Re: [C++] 3η εργασία 2008 Post by: λήθη on November 09, 2008, 15:58:13 pm Μασησα τα φυλλα πριν απο δυο λεπτα, μυρισα και τα ποδια του φιλου μου του λευτερακη και απο οτι καταλαβα συγχωρηστε με κιολας αν ο θεος μου εχει λαθος, στον πινακα vec, που δημιουργει η in_sig, μπαινουν τα c του θεωρητικου σηματος. Ειναι το πιο λογικο, αφου στην vec που δημιουργει η dif_co μπαινουν τιμες που ειναι ιδιες για τα δυο σηματα.. Το οτι ειναι κ τελικα και οχι N, ξεδιαλυνει το τοπιο, εξαλλου ειναι λογικο τελικα αφου δεσμευω μνημη για κ αντικειμενα, αλλιως το ειχα στο μυαλο μου Thanx emfa α 508 Ναι, αλλά αν είναι έτσι τότε η θεωρητική τιμή πως σκατά προκύπτει?οεο??? Η θεωρητικη τιμη προκυπτει απο τον πολλαπλασιασμο των συντελεστων που εχεις στον πινακα vec που δημιουργει η in_sig, τα στοιχεια c δλδ, στοιχειο προς στοιχειο, με τους συντελεσεστες στον πινακα vec που δημιουργει η dif_co, τα στεοιχεια x δλδ, που ειναι κοινα και για τα δυο σηματα, θεωρητικο και αναλογικο. :) α 510 Title: Re: [C++] 3η εργασία 2008 Post by: kafeini on November 09, 2008, 17:46:01 pm Μασησα τα φυλλα πριν απο δυο λεπτα, μυρισα και τα ποδια του φιλου μου του λευτερακη και απο οτι καταλαβα συγχωρηστε με κιολας αν ο θεος μου εχει λαθος, στον πινακα vec, που δημιουργει η in_sig, μπαινουν τα c του θεωρητικου σηματος. Ειναι το πιο λογικο, αφου στην vec που δημιουργει η dif_co μπαινουν τιμες που ειναι ιδιες για τα δυο σηματα.. Το οτι ειναι κ τελικα και οχι N, ξεδιαλυνει το τοπιο, εξαλλου ειναι λογικο τελικα αφου δεσμευω μνημη για κ αντικειμενα, αλλιως το ειχα στο μυαλο μου Thanx emfa α 508 Ναι, αλλά αν είναι έτσι τότε η θεωρητική τιμή πως σκατά προκύπτει?οεο??? Η θεωρητικη τιμη προκυπτει απο τον πολλαπλασιασμο των συντελεστων που εχεις στον πινακα vec που δημιουργει η in_sig, τα στοιχεια c δλδ, στοιχειο προς στοιχειο, με τους συντελεσεστες στον πινακα vec που δημιουργει η dif_co, τα στεοιχεια x δλδ, που ειναι κοινα και για τα δυο σηματα, θεωρητικο και αναλογικο. :) α 510 OΚ! ας πουμε ότι δέχομαι ότι τα χ1,...Χκ αποθηκεύονται στον vec της dif_co.Τότε γιατί η in_sig διαθέτει συνάρτηση που επιδιορθώνει τις τιμές των σημάτων στο διάστημα [α,β], εφόσον στον vec της ε΄χει τα C1...Ck? Title: Re: [C++] 3η εργασία 2008 Post by: radio on November 09, 2008, 17:46:37 pm Θα σας πω τι ακριβώς είπε ο κ. Συμεωνίδης σχετικά με το τι ζητάει η εργασία c. Η απάντηση του βασίζεται σε αυτά που του είπε ο κ. Κορτέσης. Το θεωρητικό σήμα είναι μόνο 1. Τα εισερχόμενα ( πραγματικά ) σήματα είναι Ν. Η τιμή κάθε σήματος , ανεξάρτητα αν είναι το θεωρητικό ή πραγματικό υπολογίζεται από τον τύπο Σc(i)*x(i). i=1,2,....k Τα k x(i) είναι κοινά, τόσο για το θεωρητικό σήμα , όσο και για τα Ν εισερχόμενα σήματα. Τα x(i) τα δέχεται ο πίνακας vec της κλάσης dif_co. Όσον αφορά τα c(i) Ο πίνακας vec της κλάσης in_sig δέχεται τα k c(i) του (ενός και μοναδικού) θεωρητικού σήματος. Εδώ είναι που έρχεται η διόρθωση στην εκφώνηση ότι αντί για Ν βάζουμε k. Στον Νxk πίνακα mat της κλάσης dif_co εισάγουμε k συντελεστές c(i) για καθένα από τα Ν εισερχόμενα(πραγματικά) σήματα. Με βάση τον τύπο Σc(i)*x(i) υπολογίζουμε Ν εισερχόμενα σήματα και 1 θεωρητικό. Απότι θυμάμαι , το μέσο όρο είπε να τον υπολογίσουμε ως εξής : ((θεωρητικό-εισερχ1)+(θεωρητικό-εισερχ2)+......+(θεωρητικό-εισερχΝ)) / Ν όπου θεωρητικό και εισερχ(i) βάζουμε το αποτέλεσμα του τύπου Σc(i)*x(i). : pou kollane ta c tou thewritikou simatos me ton vec tis in_sig??? :o Από την κλάση matrix να παράγεται, ως public, η κλάση in_sig στην οποία να ορίζονται οι κατάλληλες συναρτήσεις για να διαβαστούν και να τοποθετηθούν ως στοιχεία του πίνακα vec οι n τιμές του εισερχόμενου σήματος. Από την κλάση matrix να παράγεται ακόμη, ως public, η κλάση dif_co στην οποία να ορίζονται οι κατάλληλες συναρτήσεις οι οποίες να διαβάζουν τους k συντελεστές c για κάθε ένα από τα εισερχόμενα σήματα και να τους τοποθετούν ως στοιχεία των γραμμών του πίνακα mat. Allh ekfwnisi diabazw? :???: :???: :???: Title: Re: [C++] 3η εργασία 2008 Post by: Emfanever on November 09, 2008, 17:59:37 pm pou kollane ta c tou thewritikou simatos me ton vec tis in_sig??? :o Από την κλάση matrix να παράγεται, ως public, η κλάση in_sig στην οποία να ορίζονται οι κατάλληλες συναρτήσεις για να διαβαστούν και να τοποθετηθούν ως στοιχεία του πίνακα vec οι n τιμές του εισερχόμενου σήματος. Από την κλάση matrix να παράγεται ακόμη, ως public, η κλάση dif_co στην οποία να ορίζονται οι κατάλληλες συναρτήσεις οι οποίες να διαβάζουν τους k συντελεστές c για κάθε ένα από τα εισερχόμενα σήματα και να τους τοποθετούν ως στοιχεία των γραμμών του πίνακα mat. Allh ekfwnisi diabazw? :???: :???: :???: Πράγματι η εκφώνηση έτσι όπως είναι λέει αυτό που λες και εσύ. Και εγώ έτσι το είχα κάνει αρχικά. Στο τελευταίο όμως μάθημα ο κ . Συμεωνίδης εξήγησε τι ακριβώς έπρεπε να κάνουμε(όπως γράφω στο παραπάνω ποστ). Επειδή όμως αυτά που έλεγε δεν κολούσαν με την εκφώνηση, του το είπα και είπε τλκα ότι υπάρχει λάθος στην εκφώνηση και είναι το εξής. http://www.thmmy.gr/smf/index.php?topic=27789.msg528106#msg528106 Μετά από αυτή τη διόρθωση αλλάζουν τα πράγματα. Τι να πώ ,ότι ναναι, ως γνωστό οι εκφωνήσεις είναι χάλια. edit: Επίσης σκεφτείτε λίγο. Δεν είναι λογικό να υπάρχουν Ν θεωρητικά σήματα. Δηλαδή αν ήταν τα εισερχόμενα 5000 , θα είχαμε 5000 θεωρητικά? Title: Re: [C++] 3η εργασία 2008 Post by: Emfanever on November 09, 2008, 18:08:31 pm OΚ! ας πουμε ότι δέχομαι ότι τα χ1,...Χκ αποθηκεύονται στον vec της dif_co.Τότε γιατί η in_sig διαθέτει συνάρτηση που επιδιορθώνει τις τιμές των σημάτων στο διάστημα [α,β], εφόσον στον vec της ε΄χει τα C1...Ck? Η εκφώνηση όσον αφορά τα x το λέει καθαρά : "Από την κλάση matrix να παράγεται ακόμη, ως public, η κλάση dif_co στην οποία να ορίζονται οι κατάλληλες συναρτήσεις οι οποίες να διαβάζουν τους k συντελεστές c για κάθε ένα από τα εισερχόμενα σήματα και να τους τοποθετούν ως στοιχεία των γραμμών του πίνακα mat. Η ίδια κλάση να διαθέτει ακόμη τις κατάλληλες συναρτήσεις που να διαβάζουν και τις k τιμές των παραμέτρων x τις οποίες να τοποθετούνται ως τιμές του πίνακα vec. " αυτό δε μπορείς να το αμφισβητήσεις Title: Re: [C++] 3η εργασία 2008 Post by: radio on November 09, 2008, 18:12:52 pm edit: Επίσης σκεφτείτε λίγο. Δεν είναι λογικ να υπάρχουν Ν θεωρητικά σήματα. Δηλαδή αν ήταν τα εισερχόμενα 5000 , θα είχαμε 5000 θεωρητικά?
[/quote] Oi ekfwnhseis tou kortesh exoun merikes fores asafeies,auth etsi opws einai mou fainetai oti bgazei nohma. Nai,n pragmatikes times tou simatos kai n thewritikes times,apo kathe pragmatikh afairoume tin antistoixh thewritikh alliws pws tha vgei o mesos oros tis diaforas? Title: Re: [C++] 3η εργασία 2008 Post by: Emfanever on November 09, 2008, 18:33:59 pm edit: Επίσης σκεφτείτε λίγο. Δεν είναι λογικ να υπάρχουν Ν θεωρητικά σήματα. Δηλαδή αν ήταν τα εισερχόμενα 5000 , θα είχαμε 5000 θεωρητικά? Oi ekfwnhseis tou kortesh exoun merikes fores asafeies,auth etsi opws einai mou fainetai oti bgazei nohma. Nai,n pragmatikes times tou simatos kai n thewritikes times,apo kathe pragmatikh afairoume tin antistoixh thewritikh alliws pws tha vgei o mesos oros tis diaforas? ((θεωρητικό-εισερχ1)+(θεωρητικό-εισερχ2)+......+(θεωρητικό-εισερχΝ)) / Ν όπου θεωρητικό και εισερχ(i) βάζουμε το αποτέλεσμα του τύπου Σc(i)*x(i). το θεωρητικό θα είναι σταθερό (αφού είναι μόνο 1) και θα αφαιρείται καθένα από τα ν εισερχόμενα Title: Re: [C++] 3η εργασία 2008 Post by: radio on November 09, 2008, 18:46:13 pm pou leei oti tha yparxei mia mono thewritikh timh gia kathe pragmatikh timh tou simatos?? Gia kathe pragmatikh timh tou simatos ypologizoume mia thewritikh apo tous sintelestes c kai tis parametrous x (Sx(i)c(i) ) kai tin afairoume apo tin pragmatikh gia na broume apoklish h kati tetoio.
Στο πρόγραμμα να ορίζεται ακόμη η συνάρτηση check η οποία να δέχεται ως ορίσματα ένα αντικείμενο τύπου in_sig και ένα αντικείμενο τύπου dif_co και να υπολογίζει τον μέσο όρο των διαφορών των τιμών του εισερχόμενου σήματος από τις αντίστοιχες θεωρητικές. Title: Re: [C++] 3η εργασία 2008 Post by: Itachi on November 09, 2008, 18:55:40 pm I have some questions...
Λοιπον για την class matrix εχουμε 2 συνθηκες αρχικων συνθηκων...Ποια θα εκτελειται οταν δημιουργειται το αντικειμενο; Πχ αν γραψω matrix a(k); θα εκτελειται η πρωτη και να γραψω matrix a(n,k); θα εκτελειται η δευτερη; Τοτε πως θα δημιουργησω τους 2 πικακες vec και mat; Επισης για τις in_sig και dif_co θα πρεπει να γραψω νεες συνθηκες αρχικων συνθηκων για να φτιαχνουν τους πινακες vec και mat η μπορω να τους δημιουργω μεσω της matrix αφου και οι δυο νεες κλασεις ειναι public παραγομενες; Title: Re: [C++] 3η εργασία 2008 Post by: AgentCain on November 09, 2008, 19:11:58 pm pou leei oti tha yparxei mia mono thewritikh timh gia kathe pragmatikh timh tou simatos?? Gia kathe pragmatikh timh tou simatos ypologizoume mia thewritikh apo tous sintelestes c kai tis parametrous x (Sx(i)c(i) ) kai tin afairoume apo tin pragmatikh gia na broume apoklish h kati tetoio. Σκέψου, έχεις ένα αναλογικό σήμα. Τυχαίο στοχαστικό προσδιοριστικό δεν έχει σημασία. Σε μία χρονική στιγμή k η τίμη του σήματος ποια είναι? δεν είναι μόνο μία? Το είπε ο άνθρωπος. ΕΧΟΥΜΕ 1 ΣΗΜΑ ΩΣ ΕΙΣΟΔΟ Απλά το μετράμε πολλές φορές Ν, υπό διαφορετικές συνθήκες. Title: Re: [C++] 3η εργασία 2008 Post by: AgentCain on November 09, 2008, 19:14:54 pm I have some questions... Λοιπον για την class matrix εχουμε 2 συνθηκες αρχικων συνθηκων...Ποια θα εκτελειται οταν δημιουργειται το αντικειμενο; Πχ αν γραψω matrix a(k); θα εκτελειται η πρωτη και να γραψω matrix a(n,k); θα εκτελειται η δευτερη; Τοτε πως θα δημιουργησω τους 2 πικακες vec και mat; Επισης για τις in_sig και dif_co θα πρεπει να γραψω νεες συνθηκες αρχικων συνθηκων για να φτιαχνουν τους πινακες vec και mat η μπορω να τους δημιουργω μεσω της matrix αφου και οι δυο νεες κλασεις ειναι public παραγομενες; 1)Σωστός είσαι, καλά πας. Οι 2 πίνακες αφορούν τα αντικείμενα όχι τις κλάσεις. 2)Μπορείς να τους δημιουργείς μέσω της matrix και να τους γεμίζεις μέσω των παραγόμενων κλάσεων Title: Re: [C++] 3η εργασία 2008 Post by: radio on November 09, 2008, 19:20:38 pm den xreiazetai na grapseis nees sinthikes arxikwn sinthikwn epidh exeis prosbasi stin matrix H sin. arxikwn sinthikwn tis ins_sig einai in_sig(int k):matrix(k){}; gia na exei prosbash sthn antistoixi tis matrix kai tis dif_co dif_co(int n,int k):matrix(n,k){};
Dhmiourgountai oi vec kai mat gia kathemia apo tis klaseis Gia na kaleseis sthn check tous vec kai mat den mporeis etsi : px in_sig i; i.vec giati vec kai mat einai protected grapse kamia sinartisi stin matrix px float *getv(); float* matrix::getv(){return vec;} kai gia na kaleseis ton vec stin check i.getvec() agentcain ennoousa N times thewritikou simatos epeidh o typos gia ton mo pou graftike pios prin eixe to 'thewritko' ws stathero....telos pantwn Title: Re: [C++] 3η εργασία 2008 Post by: λήθη on November 09, 2008, 19:33:28 pm den xreiazetai na grapseis nees sinthikes arxikwn sinthikwn epidh exeis prosbasi stin matrix H sin. arxikwn sinthikwn tis ins_sig einai in_sig(int k):matrix(k){}; gia na exei prosbash sthn antistoixi tis matrix kai tis dif_co dif_co(int n,int k):matrix(n,k){}; Dhmiourgountai oi vec kai mat gia kathemia apo tis klaseis Gia na kaleseis sthn check tous vec kai mat den mporeis etsi : px in_sig i; i.vec giati vec kai mat einai protected grapse kamia sinartisi stin matrix px float *getv(); float* matrix::getv(){return vec;} kai gia na kaleseis ton vec stin check i.getvec() agentcain ennoousa N times thewritikou simatos epeidh o typos gia ton mo pou graftike pios prin eixe to 'thewritko' ws stathero....telos pantwn Σε ικετευω γραψε ελληνικα και οχι greeklish μαι αιζ αρ μπλιντινγκ! α 513 Title: Re: [C++] 3η εργασία 2008 Post by: Emfanever on November 09, 2008, 19:49:23 pm pou leei oti tha yparxei mia mono thewritikh timh gia kathe pragmatikh timh tou simatos?? Gia kathe pragmatikh timh tou simatos ypologizoume mia thewritikh apo tous sintelestes c kai tis parametrous x (Sx(i)c(i) ) kai tin afairoume apo tin pragmatikh gia na broume apoklish h kati tetoio. Στο πρόγραμμα να ορίζεται ακόμη η συνάρτηση check η οποία να δέχεται ως ορίσματα ένα αντικείμενο τύπου in_sig και ένα αντικείμενο τύπου dif_co και να υπολογίζει τον μέσο όρο των διαφορών των τιμών του εισερχόμενου σήματος από τις αντίστοιχες θεωρητικές. Συνεχίζεις να επιμένεις στην εκφώνηση................ Πόσες φορές θα πω ακόμα ότι μας το είπε αυτοπροσώπως ο κ Συμεωνίδης???? Από εκεί και πέρα ο καθένας κάνει ότι θέλει. Η ακολουθεί κατά γράμμα την εκφώνηση, ή πορεύεται σύμφωνα με τις εξηγήσεις του Κορτέση , μέσω Συμεωνίδη. Gia na kaleseis sthn check tous vec kai mat den mporeis etsi : px in_sig i; i.vec giati vec kai mat einai protected grapse kamia sinartisi stin matrix px float *getv(); float* matrix::getv(){return vec;} kai gia na kaleseis ton vec stin check i.getvec() Εδώ μπορεί απλά να κάνει friend την check και τελειώνει η υπόθεση Title: Re: [C++] 3η εργασία 2008 Post by: tolis_1 on November 09, 2008, 20:24:42 pm δηλαδη στην κλαση in_sig εχουμε το θεςριτικο κ στην αλλη τα εισερχομενα ποθ προκυπτουν απο τον c[j]*x???
Title: Re: [C++] 3η εργασία 2008 Post by: crystal on November 10, 2008, 01:05:05 am Ηelp me... :(
Οταν παω να το τρεξω δεν μου δημιουργει τα αντικειμενα στην main, και μου τερματιζει το προγραμμα.. Καμια ιδεα? thnx Title: Re: [C++] 3η εργασία 2008 Post by: Emfanever on November 10, 2008, 01:29:14 am Ηelp me... :( Οταν παω να το τρεξω δεν μου δημιουργει τα αντικειμενα στην main, και μου τερματιζει το προγραμμα.. Καμια ιδεα? thnx Αν δε ποστάρεις κώδικα, δύσκολα θα βοηθήσουμε Title: Re: [C++] 3η εργασία 2008 Post by: crystal on November 10, 2008, 01:40:00 am Παραειναι μεγαλος για να το ποσταρω, ρωταω αν μπορειτε να μου προτεινετε κατι που μπορει να φταιει για να το ψαξω. :) οχι ακριβως την απαντηση
Title: Re: [C++] 3η εργασία 2008 Post by: Wanderer on November 10, 2008, 01:54:09 am DevC++ έχεις; Νομίζω κάποιες φορές ενώ μου δημιουργούσε το .exe αρχείο, μέσω του Dev δεν έτρεχε τπτ, δεν έβγαζε ούτς καν τη μαύρη οθόνη. Δοκίμασε να τρέξεις κατευθείαν το exe αρχείο.
Εναλλακτικά: μήπως δεν καλείς τη σωστή συνάρτηση αρχικών συνθηκών (δλδ δεν βάζεις τα σωστά ορίσματα); Title: Re: [C++] 3η εργασία 2008 Post by: crystal on November 10, 2008, 02:04:42 am Tα ορισματα καλα ειναι :(
Nαι dev εχω..θα το δω και αυριο. thnx Title: Re: [C++] 3η εργασία 2008 Post by: crystal on November 11, 2008, 01:07:58 am Εχει κανεις ιδεα με τι μπορει να σχετιζεται αυτο το error?
caused a general protection fault in module KRNL386.EXE at 0001:.... Εκανα ενα search στο google αλλα τα περισσοτερα αποτελεσματα λενε για αλλου ειδους προβληματα σε σχεση με αυτο.. Title: deleted Post by: BOBoMASTORAS on November 11, 2008, 03:33:55 am deleted
|