Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
736to740
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
736to740
736to740
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Matrixmultiplikation-Interpolation

Matrixmultiplikation-Interpolation
23.02.2006 12:06:36
Sven
Hallo Zusammen,
ich habe eine Frage bzgl. der Interpolation bzgl. nachträglichen Multiplikation von Daten.
Das Makro zur Interpolation lautet:
Public

Function Interpolieren(x_v As Object, y_v As Object, X As Variant) As Double
Dim n As Long, ind As Long, i As Long
n = x_v.Columns.Count
If X < x_v(1) Then
Interpolieren = y_v(1)
ElseIf X > x_v(n) Then
Interpolieren = y_v(n)
Else
For i = 1 To n
If x_v(i) <= X Then
ind = ind + 1
Else
ind = ind
End If
Next
Dim X1 As Variant, X2 As Variant, Y1 As Double, Y2 As Double
X1 = x_v(ind)
X2 = x_v(ind + 1)
Y1 = y_v(ind)
Y2 = y_v(ind + 1)
Interpolieren = (Y1 * (X2 - X) + Y2 * (X - X1)) / (X2 - X1)
End If
End Function

Ich hätte gern eine Lösung dafür, das ich mein Ergebnis in Zelle E5 erlange ohne vorher die interploierten Werte in den Feldern D5:D14 ausweisen zu müssen. Die Interpolation für den einen Vektor der Matrixmultiplikation müßte also innerhalb der Matrixformel erfolgen.
Bitte um dringende Hilfe!!!!
Datei ist angehängt unter https://www.herber.de/bbs/user/31349.xls
Gruß Sven

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Matrixmultiplikation-Interpolation
25.02.2006 22:50:19
MichaV
Hallo Sven,
ich hoffe, es ist nicht schon zu spät ;o)
Diesen Code ins allgemeine Modul:

Function interpol(x_v As Object, y_v As Object, x As Variant)
Dim rng As Range
Dim y
Dim i%
ReDim y(1 To x.Cells.Count)
For Each rng In x.Cells
i = i + 1
y(i) = Interpolieren(x_v, y_v, rng)
Next
interpol = y
End Function

Und Deine Matrix- Formel änderst Du in:

=MMULT(MTRANS(MTRANS(interpol($D$1:$M$1;$D$3:$M$3;B5:B14)));C5:C14)

Gruß- Micha
PS: Rückmeldung wäre nett.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige