Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [VBA] Trilinear Intrepolation (Τριγραμμική Παρεμβολή) (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/2492-trilinear-intrepolation-trigrammiki-paremboli.html)

dalavouras 20-04-13 14:15

Trilinear Intrepolation (Τριγραμμική Παρεμβολή)
 
Καλησπέρα,

Η διγραμμική παρεμβολή είναι συχνή και βρήκα στο internet λύση με VBA. Το πρόβλημα είναι η τριγραμμική που δεν την βρήκα πουθενα.
Οταν έχουμε ενα πίνακα με 3 μεταβλητές πχ:

U z Β'............................................... ........................Β'
<2 4 6 8 10 14 18 22 26 >30
4,50 0,00 1,21 0,83 0,64 0,53 0,45 0,36 0,30 0,25 0,22 0,20
4,50 0,50 1,05 0,75 0,59 0,49 0,42 0,33 0,28 0,24 0,21 0,19
4,50 1,00 0,92 0,68 0,54 0,45 0,39 0,31 0,26 0,23 0,20 0,18
4,50 1,50 0,82 0,62 0,50 0,42 0,37 0,30 0,25 0,22 0,19 0,17
4,50 2,00 0,74 0,57 0,47 0,40 0,35 0,28 0,24 0,21 0,18 0,17
4,50 2,50 0,67 0,53 0,44 0,38 0,33 0,27 0,23 0,20 0,18 0,16
4,50 3,00 0,62 0,50 0,42 0,36 0,32 0,26 0,22 0,19 0,17 0,15
4,50 4,50 0,50 0,42 0,36 0,31 0,28 0,23 0,20 0,17 0,16 0,14
4,50 6,00 0,42 0,36 0,31 0,28 0,25 0,21 0,18 0,16 0,15 0,13
4,50 9,00 0,32 0,28 0,25 0,23 0,21 0,18 0,16 0,14 0,13 0,12
3,00 0,00 1,06 0,75 0,59 0,49 0,42 0,33 0,28 0,24 0,21 0,19
3,00 0,50 0,93 0,68 0,54 0,46 0,39 0,31 0,26 0,23 0,20 0,18
3,00 1,00 0,83 0,63 0,51 0,43 0,37 0,30 0,25 0,22 0,19 0,17
3,00 1,50 0,74 0,58 0,47 0,40 0,35 0,28 0,24 0,21 0,18 0,17
3,00 2,00 0,68 0,54 0,44 0,38 0,33 0,27 0,23 0,20 0,18 0,16
3,00 2,50 0,62 0,50 0,42 0,36 0,32 0,26 0,22 0,19 0,17 0,15
3,00 3,00 0,58 0,47 0,40 0,34 0,31 0,25 0,21 0,19 0,17 0,15
3,00 4,50 0,47 0,40 0,34 0,30 0,27 0,23 0,19 0,17 0,15 0,14
3,00 6,00 0,40 0,34 0,30 0,27 0,24 0,21 0,18 0,16 0,14 0,13
3,00 9,00 0,31 0,27 0,24 0,22 0,21 0,18 0,16 0,14 0,13 0,12
2,00 0,00 0,89 0,66 0,53 0,45 0,39 0,31 0,26 0,22 0,20 0,18
2,00 0,50 0,80 0,61 0,49 0,42 0,36 0,29 0,25 0,21 0,19 0,17
2,00 1,00 0,72 0,56 0,46 0,39 0,35 0,28 0,24 0,20 0,18 0,16
2,00 1,50 0,66 0,53 0,44 0,37 0,33 0,27 0,23 0,20 0,18 0,16
2,00 2,00 0,61 0,49 0,41 0,36 0,31 0,26 0,22 0,19 0,17 0,15
2,00 2,50 0,56 0,46 0,39 0,34 0,30 0,25 0,21 0,18 0,16 0,15
2,00 3,00 0,53 0,43 0,37 0,32 0,29 0,24 0,20 0,18 0,16 0,14
2,00 4,50 0,44 0,37 0,32 0,29 0,26 0,22 0,19 0,16 0,15 0,13
2,00 6,00 0,38 0,32 0,29 0,26 0,23 0,20 0,17 0,15 0,14 0,13
2,00 9,00 0,29 0,26 0,23 0,21 0,20 0,17 0,15 0,14 0,12 0,11
1,00 0,00 0,77 0,59 0,48 0,41 0,36 0,29 0,24 0,21 0,19 0,17
1,00 0,50 0,70 0,55 0,45 0,39 0,34 0,27 0,23 0,20 0,18 0,16
1,00 1,00 0,64 0,51 0,43 0,37 0,32 0,26 0,22 0,19 0,17 0,16
1,00 1,50 0,59 0,48 0,40 0,35 0,31 0,25 0,22 0,19 0,17 0,15
1,00 2,00 0,55 0,45 0,38 0,33 0,30 0,24 0,21 0,18 0,16 0,15
1,00 2,50 0,52 0,43 0,37 0,32 0,29 0,24 0,20 0,18 0,16 0,14
1,00 3,00 0,48 0,40 0,35 0,31 0,27 0,23 0,20 0,17 0,15 0,14
1,00 4,50 0,41 0,35 0,31 0,27 0,25 0,21 0,18 0,16 0,14 0,13
1,00 0,00 0,77 0,59 0,48 0,41 0,36 0,29 0,24 0,21 0,19 0,17
1,00 0,50 0,70 0,55 0,45 0,39 0,34 0,27 0,23 0,20 0,18 0,16

Δηλαδή η πρώτη στήλη επαναλαμβάνεται για τις διάφορες τιμες της δεύτερης στήλης και οι υπόλοιπες στήλες είναι οι διάφορες τιμες της τρίτης μεταβλητής Β'. Υπάρχει τρόπος να κανουμε τριγραμμική παρεμβολή πχ για U=2,4 z=1,55 και B'=9,2 να πάρουμε την τιμή που θέλουμε?
Ουσιαστικά πρέπει να γίνει διγραμμική παρεμβολή για 2 τιμες του U και μετά άλλη μια για να πάρουμε την τελική τιμή (λέω εγώ τώρα!!! :))

gr8styl 20-04-13 22:45

1 Συνημμένο(α)
Φίλε Μπάμπη δες στο συνημμένο μια λύση χωρίς VBA για τρι-γραμμική παρεμβολή και πες μας αν σου κάνει.
Μελέτησε το και προσπάθησε να το προσαρμόσεις στα δεδομένα σου.

Αν χρειαστείς βοήθεια ρώτα στο φόρουμ.
Θανάσης

dalavouras 21-04-13 11:05

Πολύ καλό!΄:thumbup:
Απλά το θέμα είναι ότι αυτό θέλω να το κάνει σε πίνακα τιμών και με udf ίσως ήταν πιο εύκολο.
Θα δω μηπως το προσαρμόσω σε κρυφές στήλες! :scratch_one-s_head:
Ευχαριστώ πολύ!

dalavouras 22-04-13 08:41

Καλημέρα,

Το έφτιαξα τελικά σε πίνακα και δουλεύει μια χαρά!!!
Ευχαριστώ πολύ! :):thumbup1:

kapetang 22-04-13 11:05

Καλημέρα

Μπάμπη, έχω τη γνώμη ότι αν ανέβαζες και το σχετικό αρχείο θα βοηθούσες και τα άλλα μέλη του φόρουμ στην κατανόηση του θέματος.

Επίσης βλέποντας τα δεδομένα, όταν η U=1, δεν υπάρχουν για την Z οι τιμές 6 και 9.

Αυτό δημιουργεί προβλήματα. Για παράδειγμα όταν δώσουμε U=1, Z=6 και Β’=10 θα πάρουμε μη σωστό αποτέλεσμα.

Φιλικά/Γιώργος

dalavouras 22-04-13 16:46

Καλησπέρα kapetang,

για τo U=1 έχει δικιο και είναι λάθος... Τα Ζ παίρνουν κανονικά τις τιμές που παίρνουν και πιο πάνω!
Κατα τα άλλα το αρχείο είναι αυτό που ανέβασε ο gr8styl που τον ευχαριστώ πολύ και για την πολυ άμεση απάντηση αλλά και για την πολύ καλή λύση που έδωσε!!!


Η ώρα είναι 04:34.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2