Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [Συναρτήσεις] Όγκος υγρού σε οριζόντια κυλινδρική δεξαμενή

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 02-02-11, 08:47
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή Όγκος υγρού σε οριζόντια κυλινδρική δεξαμενή

Καλημέρα στην παρέα

Στο αρχείο, που επισυνάπτεται, υπολογίζεται ο όγκος του υγρού (πετρελαίου), συναρτήσει του ύψους, σε μία οριζόντια κυλινδρική δεξαμενή με πλευρικά πέρατα επίπεδα ή σφαιρικά.
Στο πρώτο φύλλο (Help) παρουσιάζεται η θεωρία στην οποία βασίζεται ο υπολογισμός. Όπως εξηγείται, για τον υπολογισμό του όγκου στα σφαιρικά τμήματα, χρησιμοποιείται μία προσεγγιστική μέθοδος που υλοποιήθηκε με VBA.
Αν και η εφαρμογή δημιουργήθηκε για να βοηθήσει ένα φίλο στην παραλαβή πετρελαίου, θεώρησα σκόπιμο να την παρουσιάσω στο φόρουμ:
  1. Για έλεγχο και βελτίωση. Στο φόρουμ υπάρχουν προικισμένα μέλη και ίσως θα μπορούσε να προταθεί ένας ακριβής τύπος, αντί της προσεγγιστικής μεθόδου.
  2. Πιθανόν να φανεί χρήσιμη και σε άλλους.
Για τη χρήση της εφαρμογής, επειδή χρησιμοποιείται κώδικας, θα πρέπει να είναι ενεργοποιημένες οι μακροεντολές.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: xls ogosHorizontalKylinder2.xls (310,0 KB, 164 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη kapetang : 05-02-11 στις 21:23.
Απάντηση με παράθεση
  #2  
Παλιά 02-02-11, 11:46
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.030
Προεπιλογή

Καλημέρα Γιώργο μου!

Σε 3 κελιά ορίζω τα ονόματα:
  1. Ακτίνα κυλίνδρου (Rk) = "R_Cyl" (m)
  2. Μήκος κυλίνδρου (L) = "L_Cyl" (m)
  3. Ύψος περιεχόμενου υγρού (H) = "H_Cyl" (m)

Με τον παρακάτω τύπο νομίζω ότι φτάνω σε σωστό αποτέλεσμα:
Κώδικας:
=IF(H_Cyl=2*R_Cyl;PI()*R_Cyl^2*L_Cyl;IF(AND(H_Cyl<2*R_Cyl;H_Cyl>R_Cyl);PI()*R_Cyl^2*L_Cyl-(2*R_Cyl-H_Cyl)/(
12*SQRT(R_Cyl^2-(R_Cyl-(2*R_Cyl-H_Cyl))^2))*(3*(2*R_Cyl-H_Cyl)^2+4*(2*SQRT(R_Cyl^2-(R_Cyl-(2*R_Cyl-H_Cyl)
)^2))^2)*L_Cyl;IF(AND(H_Cyl<=R_Cyl;H_Cyl>0);H_Cyl/(12*SQRT(R_Cyl^2-(R_Cyl-H_Cyl)^2))*(3*H_Cyl^2+4*(2*
SQRT(R_Cyl^2-(R_Cyl-H_Cyl)^2))^2)*L_Cyl;"Έχουμε υπερχείλιση!")))
Τώρα όποιος θέλει μπορεί να προσθέσει και το Μήκος πλευρικού σφαιρικού τμήματος (P).

Δες το αν θέλεις κι εσύ γιατί λόγω φόρτου εργασίας δεν μπόρεσα να το τεστάρω αρκετά.

Τα λέμε..

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #3  
Παλιά 02-02-11, 15:35
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα στην παρέα

Τάσο μου, δοκίμασα τον τύπο με δεδομένα: R_Cyl=1, L_Cyl=3 και H_Cyl=1 και έδωσε αποτέλεσμα: 4,75.
Επειδή η διατομή του υγρού (μ’ αυτά τα δεδομένα) είναι ημικύκλιο με μοναδιαία ακτίνα, ο σωστός όγκος είναι: (Pi()/2)*3 = 4,71238898 ≠ 4,75.

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #4  
Παλιά 02-02-11, 22:00
Το avatar του χρήστη gr8styl
Super Moderator
Όνομα: Θανάσης Στυλιανίδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-10-2009
Περιοχή: Βρυξέλλες, Βέλγιο
Μηνύματα: 758
Προεπιλογή

Καλησπέρα σας,
φίλε Γιώργο οι τύποι που χρησιμοποιείς για τον υπολογισμό του κυλίνδρου για μένα είναι οι ΣΩΣΤΟΙ σε αντίθεση με τον Τάσο που μπερδεύτηκε.

Τώρα για τα σφαιρικά πλευρικά χρειάζεται σκέψη. γιατί μπορεί να μην είναι απολύτως σφαιρικά αλλά ελλειψοειδή, και εκεί τα πράγματα είναι πολύ δύσκολα .

Θα το δω μόλις μπορέσω και θα σου πω αν βρω κάτι.
Θανάσης.
ΥΓ. Μπράβο πολύ ενδιαφέρον το θέμα σου.
Απάντηση με παράθεση
  #5  
Παλιά 03-02-11, 00:51
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.030
Προεπιλογή

Καλημέρα φίλοι μου!
Πραγματικά μπερδεύτηκα και έκανα τα εύκολα δύσκολα!


Αναθεώρησα λοιπόν και κατέληξα στο εξής:

Ονόματα κελιών:
  1. Ακτίνα κυλίνδρου (Rk) = "R_Cyl" (Εισαγωγή σε cm)
  2. Μήκος κυλίνδρου (L) = "L_Cyl" (Εισαγωγή σε cm)
  3. Ύψος περιεχόμενου υγρού (H) = "H_Cyl" (Εισαγωγή σε cm)

Κώδικας:
=IF(AND(h_Cyl<=R_Cyl;h_Cyl>0);POWER(R_Cyl;2)*L_Cyl*(ACOS((R_Cyl-h_Cyl)/R_Cyl)-
(R_Cyl-h_Cyl)*SQRT(2*R_Cyl)/POWER(R_Cyl;2))/1000;"Λάθος δεδομένα!!")
Μπορείτε να δείτε το αποτέλεσμα στο συνημμένο.

Φιλικά

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: xls HorizCylinder.xls (17,5 KB, 85 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 03-02-11 στις 01:05.
Απάντηση με παράθεση
  #6  
Παλιά 03-02-11, 16:10
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα στην παρέα
Φίλε Τάσο, δοκίμασα τον τύπο που δίνει τον όγκο του υγρού στον κύλινδρο και διαπίστωσα τα εξής:
  1. Ενώ το ύψος του υγρού (h_Cyl) μπορεί να κυμαίνεται από μηδέν (άδεια δεξαμενή) μέχρι το διπλάσιο της ακτίνας (γεμάτη δεξαμενή), ο τύπος δίνει αποτελέσματα μόνο όταν h_Cyl ≤ R_Cyl (μισογεμάτη δεξαμενή).
  2. Τα αποτελέσματα έχουν αποκλίσεις από τα σωστά.
Στο αρχείο που επισυνάπτω φαίνεται, πως κατά τη γνώμη μου, θα πρέπει να διαμορφωθεί ο τύπος.
Φίλε Θανάση σ’ ευχαριστώ και για τα καλά λόγια και τον έλεγχο των τύπων.
Περιμένω, όταν βρεθεί χρόνος και έμνευση, τις απόψεις σας και για τον όγκο στα σφαιρικά τμήματα.

Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: xls HorizCylinder2.xls (18,5 KB, 98 εμφανίσεις)
Απάντηση με παράθεση
  #7  
Παλιά 03-02-11, 17:06
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.030
Προεπιλογή

Καλησπέρα σε όλους!

Γιώργο μου σ ευχαριστώ για τη διόρθωση!

Είναι τέλειο!

Νάσαι καλά και να μα βάζεις τακτικά τέτοιες... σπαζοκεφαλιές!


Φιλικά
Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #8  
Παλιά 05-02-11, 15:47
Το avatar του χρήστη gr8styl
Super Moderator
Όνομα: Θανάσης Στυλιανίδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-10-2009
Περιοχή: Βρυξέλλες, Βέλγιο
Μηνύματα: 758
Προεπιλογή

Καλημέρα καλησπέρα σας.

Στο συνημμένο και η δική μου προσέγγιση η οποία όσον αφορά την δεξαμενή με επίπεδα πλαϊνά είναι ίδια με τα δικά σας.

Δείτε το και σχολιάστε το.

Θανάσης
Συνημμένα Αρχεία
Τύπος Αρχείου: xls tank_with_img2.xls (50,0 KB, 120 εμφανίσεις)
Απάντηση με παράθεση
  #9  
Παλιά 05-02-11, 16:42
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.030
Προεπιλογή

Καλησπέρα και πάλι!
Δείτε στο συνημμένο 2 προσεγγίσεις ( VBA και Excel) για την εύρεση όγκου σε οριζόντια κυλινδρική δεξαμενή με επίπεδες ή ελλειψοειδείς βάσεις.

Τα αποτελέσματα που επιστρέφουν, συμφωνούν μ αυτά της ιστοσελίδας: Horizontal Tank - Fluid Volume

Φιλικά

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: xls Horiz_Cylinder_Volume.xls (49,0 KB, 148 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #10  
Παλιά 05-02-11, 21:25
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Φίλε Θανάση Καλησπέρα

Σχετικά με την εφαρμογή σου:
1). Βρίσκω καταπληκτικό το περιβάλλον εργασίας (σχέδια, επεξηγήσεις, κλπ).
2). Οι τύποι που χρησιμοποιείς είναι σωστοί.
3). Ειδικά ο τύπος για τον προσδιορισμό του όγκου του σφαιρικού τμήματος και οι διαφορές που έδινε σε σχέση με την προσεγγιστική μέθοδο, με βοήθησαν να ανακαλύψω ότι στη συνάρτηση mesoL(R_Cyl, h_Cyl, P_Cyl) στη θέση της παραμέτρου h_Cyl περνούσε το L_Cyl.
Έκανα τη σχετική διόρθωση και αντικατέστησα το συνημμένο στο αρχικό μήνυμά μου.
4). Για την περίπτωση Rs>Rk θεώρησε ως δεδομένο ότι τα πλευρικά πέρατα της δεξαμενής είναι απολύτως σφαιρικά (χωρίς καμία προσαρμογή) ακτίνας Rs=(Rk^2+P^2)/(2P) και το κέντρο βρίσκεται στον άξονα του κυλίνδρου.
Προσπάθησα χρησιμοποιώντας και ολοκληρώματα (ότι θυμόμουνα) να βρω κάποιο τύπο που να δίνει τον ακριβή όγκο στα σφαιρικά τμήματα, αλλά δεν τα κατάφερα και έτσι κατέφυγα στην προσεγγιστική μέθοδο.
Σ’ ευχαριστώ για το χρόνο που διέθεσες και τη βοήθεια στην αποσφαλμάτωση των υπολογισμών.

Γιώργος
ΥΓ Φίλε Τάσο μόλις δω την εφαρμογή σου θα επανέλθω
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] αντιμεταθεση στηλης με οριζοντια ορια Quenya Excel - Ερωτήσεις / Απαντήσεις 3 28-08-15 14:02
[ Εκθέσεις ] οριζόντια εμφάνιση εγγραφών σε έκθεση octapus Access - Ερωτήσεις / Απαντήσεις 6 21-08-14 07:39
[VBA] Συμπληρωση κελιων οριζοντια απο ευρος αριθμων alexzio Excel - Ερωτήσεις / Απαντήσεις 3 30-05-14 18:23
[ Ερωτήματα ] Οριζόντια Εκτύπωση mdragon Access - Ερωτήσεις / Απαντήσεις 9 04-12-10 09:36
[Γενικά] οριζοντια-καθετα dimzoozoo Excel - Ερωτήσεις / Απαντήσεις 4 28-01-10 13:48


Η ώρα είναι 18:45.