Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1764to1768
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

MMULT Excel vs. VBA

MMULT Excel vs. VBA
07.06.2020 20:59:11
Frank
Guten Abend ins Forum,

ich habe gerade ein Beispiel erstellt, indem man durch eine Drei-Punkte-Gleichung die Polynomfunktion mit Hilfe von MMULT berechnet. In diesem einfachen Beispiel y=x^2.
Hier ergeben sich zwei Fragen. Wenn ich in Zelle B5 eine Null eintrage dann gibt die Funktion einen Fehler, obwohl dir Formel in der Polynomfunktion im Diagramm ausgegeben wird.
Meine zweite Frage bezieht sich auf das VBA Ergebnis (siehe Zelle B17:BB19). Wieso kommt denn da was ganz anderes heraus?
Gehe ich im Quellcode und debugge bei der Inversen, dann ist alles in Ordnung. Nur der Lösungsvektor, sprich die Koeffizienten stimmen nicht. Was mache ich falsch?
https://www.herber.de/bbs/user/138116.xls
Ich hoffe es kann mir jemand helfen.
Vielen Dank und viele Grüße,
Frank

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Was du falsch machst!
08.06.2020 16:22:58
Luc:?
Du benutzt MMULT in VBA anders(herum) als in Xl, Frank,
was du leicht selbst entdecken könntest. Dann kommen natürlich auch andere Werte heraus. In eine plurale Xl-MatrixFml übertragen würde deine VBA-Berechnung so aussehen (mit gleichem Ergebnis!):
{=MTRANS(MMULT(MTRANS(E4:E6);H10:J12))}
Das 2.MTRANS ist in dieser Darstellung erforderlich, weil dein Y-Vektor eigentlich ein Kovektor ist, also horizontal orientiert. Das ist bei diesem Aufbau in VBA Standard* und so auch wirklich 1dimensional (im Ggsatz zu einem 1zeiligen Xl-Bereich). Man kann das auch als 1stufigen Tensor des Typs (0,1) auffassen. Das 1.MTRANS dient nur der vertikalen Anordnung des Ergebnis-Kovektors, so dass ein Xl-(Spalten-)Vektor entsteht.
* Einen echten 1dimensionalen Vektor erhält man in VBA, wenn man jeden einzelnen y-Wert als Array fasst. Der würde dadurch zu einem 0stufigen skalaren Tensor des Typs (0,0) und das Ganze dann ein 1stufiger Tensor (1,0).
Nun musst du nur noch entscheiden, was das richtige Ergebnis wäre… ;-]
Gruß, Luc :-?
„Die universelle Befähigung zur Unfähigkeit macht jede menschliche Leistung zu einem unglaublichen Wunder.“ Stapps ironisches Paradoxon
Nichtsdestotrotz Durchblick verbessern mit …

Anzeige

46 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige