Hallo Leute, ich bin neu hier und bin gerade dabei ein Programm zur Berechnung der reellen Lösungen der allgemeinen quadratischen Gleichung p(x)=ax^2+bx^2+c = 0 zu schreiben.
Dazu habe ich einige Beispiele gemacht. Aber mein Programm läuft nicht. Jetzt wollte ich mal fragen ob ihr einen Fehler erkennt.
% Diese Vektoren haben wir erstellt, damit wir schonmal die Probe im Überblick % haben und nur noch jedes mal einen Index weiter gehen müssen um die Probe % durchzuführen. Jetzt wollen wir für p(x) = ax^2 + bx + c = 0 die reellen % Lösungen.
Vorweg: Wenn du Befehle mit ; beendest, werden diese nicht im Command Window ausgegeben.
Und der Befehl heißt elseif, nicht else if. Dann stimmt auch die Anzahl der end (gab bei mir eine Fehlermeldung, ein end zu wenig).
k=k+1 ist falsch platziert, die while Schleife läuft unendlich lange weil k konstant 1 bleibt.
Hast du keine Fehlermeldungen erhalten?
Bei mir erscheint folgende Meldung (ebenfalls für Line 40):
% Diese Vektoren haben wir erstellt, damit wir schonmal die Probe im Überblick % haben und nur noch jedes mal einen Index weiter gehen müssen um die Probe % durchzuführen. Jetzt wollen wir für p(x) = ax^2 + bx + c = 0 die reellen % Lösungen.
Hallo,
falls das nicht nur eine Fingerübung ist, und du wirklich Nullstellen von Polynomen suchst, dann würde man das vermutlich anders lösen. Die Polynome werden in Matlab durch einen Vektor mit den Koeffizienten repräsentiert, darauf kann man dann bestimmte Funktionen anwenden, wie zum beispiel polyval() oder roots().
Code:
f = @(x)1*x.^2 - 1*x - 2; % Ein Polynom
p = [1, 1, -2]; % Polynomrepräsentation in Matlab
r = roots(p); % Nullstellen des Polynoms (-2 und 1)
ezplot(f)% Plot hold on
plot(r, f(r), 'ro', 'markerfacecolor', 'red')% plot Nullstellen % alternativ: % plot(r, polyval(p, r), 'ks', 'markerfacecolor', 'red')
Danke für die schnelle Hilfe. Hat mir einiges geholfen.
Liebe grüße
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.