Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1440to1444
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
Inhaltsverzeichnis

Koeffizienten einer Regression auslesen!

Koeffizienten einer Regression auslesen!
14.08.2015 16:25:20
Carlo
Hallo!
Ich versuche schon seit einiger Zeit Bereiche eines Kurvenverlaufs mit einer polynomischen Funktion anzunähern und daraus dann die Fläche des Bereiches integrativ zu ermitteln. (Datei: https://www.herber.de/bbs/user/99575.xlsm
, mit dem Go Knopf beginnt die Auswertung)
Aktuell probiere ich gerade die Koefizienten der Regressionsfunktion im Graphen als Text auszulesen, nicht Relevantes(+;-;usw.) zu löschen um an die Koefizienten des Ausgleichs-Polynom zu kommen.
Problem hierbei ist, dass die Werte stark gerundet sind. (Ausgabe in den einzelnen "Peak-Arbeitsblättern" Spalte D.) Im Graphen jedoch werden die Richtigen Werte abgebildet.
Ist diese herangehensweise prizipiell nicht möglich?
Ich freue mich auf Antworten!
Grusz Carlo

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Koeffizienten einer Regression auslesen!
14.08.2015 17:18:54
Michael
Hallo Carlo,
alle Achtung!
Vielleicht magst Du Dir zur Entspannung mal den Thread ansehen:
https://www.herber.de/forum/archiv/1440to1444/t1442215.htm#1442215
Du kannst der Julia sicher mit Deiner Interpolation helfen.
Andererseits ist mein dortiger Kommentar zu Herleitung des Integrals vielleicht nützlich für Dich.
Du hast ja (im Gegensatz zu Julia) "1000" Meßpunkte zur Verfügung; was hindert Dich daran, auf die ganze Interpolation zu verzichten und Fläche "klötzchenweise" zu ermitteln?
Ich habe mal in Tabelle1[E1] 484 und [E2] 555 geschrieben und das Makro
Option Explicit
Sub gehWeiter()
Dim von&, bis&, i&, z&
Dim a As Variant
von = Sheets("Tabelle1").Range("E1").Value + 2
bis = Sheets("Tabelle1").Range("E2").Value + 2
' wegen 0 bzw. Überschriften
a = Sheets("Tabelle1").Range("A" & von & ":E" & bis).Value
For i = 2 To bis - von + 1
a(i, 3) = a(i - 1, 1) - a(i, 1)
a(i, 4) = (a(i - 1, 2) + a(i, 2)) / 2
a(i, 5) = Abs(a(i, 3) * a(i, 4))
Next
Sheets("Tabelle5").Range("A1:E" & bis - von + 1) = a
End Sub
ausgeführt; als Summe kommt 8,537xxx raus.
Ist das passabel?
Schöne Grüße,
Michael
P.S.: Tabelle5 habe ich natürlich händisch vorher angelegt - weche Nr. die denn auch bei Dir haben mag.
Außerdem ist er Algo nicht ganz sauber: was ist bei Vorzeichenwechsel?

Anzeige
Stoffeln helfen?
15.08.2015 17:20:04
Michael
Hi Carlo,
Du würdigst mich zwar keiner Antwort, aber ich bin ja nicht so:
Du hast zwar nach der Zeile 74 (" co.Chart.SeriesCollection(1).Trendlines(1).Dat" usw.) ein debug.print, aber das ist auskommentiert.
Schiebe mal das dazwischen:
Debug.Print "1: " & (co.Chart.SeriesCollection(1).Trendlines(1).DataLabel.Characters.Text)
Debug.Print "2: " & .SeriesCollection(1).Trendlines(1).DataLabel.Characters.Text
Debug.Print "3: " & .SeriesCollection(1).Trendlines(1).DataLabel.Caption
Stop

und Du wirst in Deinem Direktfenster sehen:
1:
2:
3: y = -5E-10x6 + 2E-06x5 - 0,002x4 + 1,378x3 - 536,1x2 + 11115x - 1E+07
Mit

Sub KoeffTest()
Dim arrB() As Double
Dim i&
arrB = Koeff("y = -5E-10x6 + 2E-06x5 - 0,002x4 + 1,378x3 - 536,1x2 + 11115x - 1E+07", 6)
For i = UBound(arrB) To LBound(arrB) Step -1
Debug.Print i & ": " & arrB(i)
Next
End Sub
sieht es dann schon freundlicher aus:
6: -0,0000000005
5: 0,000002
4: -0,002
3: 1,378
2: -536,1
1: 11115
0: -10000000
Ok?
Außerdem gibst Du nur 6 der 7 Werte aus, richtig muß es heißen:
objSh.Cells(2, 4).Resize(UBound(arrB) + 1, 1)
Schöne Grüße,
Michael
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige