Hintergrund
ich derzeit an einem Vortrag in MATLAB Kurs für meine Technik arbeite und stolperte über ein Problem, würde ich in die Klasse präsentieren möge. Ich habe viele verschiedene Versuche unternommen, um dieses Problem zu lösen, aber meine Graphen kommen immer wieder falsch. Ich werde das Problem unten und alle Schritte beschreiben, die ich unternommen habe, um dieses Problem zu lösen.MATLAB Kurvenanpassung mit Pisten
Problem
Finden Sie die Koeffizienten der Polynom vierten Grades
P(x) = ax^4 + bx^3 + cx^2 + dx + e
deren Graph die Punkte geht durch (0, 1)
, (1, 1)
, (-1,3)
und dessen Pisten am x = -1
ist 20
und bei x = 1
ist 9
.
Überprüfen Sie Ihre Antwort visuell.
Attempt
Ich begann mit einer Matrix der genannten x-Werte zu schaffen, die I abgeleitet sind, wie folgt:
A = [0^4 0^3 0^2 0 1; 1^4 1^3 1^2 1 1; (-1)^4 (-1)^3 (-1)^2 -1 1];
A = [0 0 0 0 1; 1 1 1 1 1; 1 -1 1 -1 1];
Dies erzeugt eine 5-Säule von 3 Reihenmatrix, die ich plotten verwenden das Polynom.
Mein Problem ist, dass ich die letzte Reihe von x-Werten nicht bekommen kann, da jede Reihe eine Gleichung im System von Gleichungen ist und es so viele Gleichungen geben muss, wie es Unbekannte gibt (4: a, b , c und d sind unbekannt, aber e ist immer gleich 1, wie Sie sehen können.
Wenn ich dieses Problem für einen Moment ignoriere, kann ich weiterhin eine vertikale Matrix von y-Werten erstellen, so dass ich das Gleichungssystem lösen kann. Diese y-Werte sind bereits gegeben, so alles, was ich tun muß, ist, diesen Code eingeben:
y = [1 1 3]';
Wieder einmal sollte es ein vierte y-Wert sein, um zusammen mit dem Gleichungssystem zu gehen, aber ich habe nicht in der Lage, es unter Verwendung nur der Steigungen der Punkte bei x = -1
und x = 1
abzuleiten.
Sobald sowohl die x-Werte als auch die y-Werte abgeleitet sind, können wir fortfahren, die backslash operator (/)
zu verwenden, um das System der linearen Gleichungen A * x = y zu lösen.
p = A\y;
mldivide ist mehr Informationen über die mldivide
Funktion für alle, die Referenz benötigt.
Von hier an sollte der folgende Code, der ein Polynom aus diesem Gleichungssystem erstellt und grafisch darstellt, gleich bleiben.
u = -1:.01:1;
v = polyval(p, u);
plot(u,v);
In diesem Code u
ist die Domäne der x-Werte von bis -1
1
mit einem 0.01
Intervall. Dies wird von uns benötigt, um die polyval-Funktion zu verwenden, die ein Polynom aus einem Gleichungssystem erzeugt, das wir im Intervall u
von abgeleitet haben.
Zuletzt, plot
graphiert einfach unser abgeleitetes Polynom mit MATLAB GUI auf dem Intervall u
.
Wie Sie sehen können, sind die einzigen fehlenden Teile ich habe, sind eine weitere Reihe von x-Werte in meiner Matrix A
und ein y-Wert in Matrix y
, dass ich die vier Unbekannten finden müssen a, b, c, und d. Ich glaube, Sie müssen die beiden im Problem angegebenen Steigungen verwenden, um jeden Punkt zu finden. Ich habe versucht, die polyder
Funktion p
die Ableitung der Matrix zu erhalten, indem Sie,
q = polyder(p);
aber ich bin immer noch verwirrt, wie von dort fortzusetzen. Jede Hilfe wird sehr geschätzt.
Sie beschreiben mehrere Schritte (darunter die Bestimmung der Koeffizienten und die Darstellung der Ergebnisse). Können Sie das sehr gut beschreiben: 1. An welchem Punkt genau stecken Sie fest? 2. Was passiert jetzt und was soll genau passieren? Vorzugsweise mit Beispielen. –