|
zyx |
Forum-Fortgeschrittener
|
|
Beiträge: 80
|
|
|
|
Anmeldedatum: 10.04.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.06.2018, 15:24
Titel: Kegelschnitt - Fit
|
|
Hallo an alle,
es geht um folgendes:
Der Funktion [s,err2] = kegelfit(xd,yd) werden y und x Daten übergeben.
Berechnen Sie den besten Fit für die Koeffizienten
Mit einer for Schleife über k=[1..6] können Sie jeweils abwechseld den
kten Koeffizient sk auf 1 setzen, auf die rechte Seite bringen und das jeweilige Gleichungssystem lösen.
Mein Code ist bis jetzt:
die Fehlermeldung ist Index exceeds Matrix dimensions. Liegt es an der Indizierung von s? Habe auch schon s(k==1) ,... versucht. Ist dieser Ansatz überhaupt richtig?
Vielen Dank für eure Hilfe!
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 17.06.2018, 23:38
Titel: Re: Kegelschnitt - Fit
|
|
Hallo zyx,
"size(1,6)" gibt die Länge der 6. Dimension des Skalars 1 zurück. Laut Definition habe alle Arrays in Matlab beliebig viele Dimensionen der Länge 1, also ergibt "ones(size(1, 6))" einen Skalar, nämlich 1, und keinen Vektor.
Der Debugger ist das perfekte Tool um solche Fehler zu finden:
Nachdem der Debugger aktiviert ist, stoppt er Matlab bei einem Fehler. Dann kannst Du die Werte der Variablen z.B. im Commandwindow untersuchen. Es ist auch hilfreich Zeile für Zeile durch den Code zu gehen und zu beobachten, was genau geschieht.
Gruß, Jan
|
|
|
zyx |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 80
|
|
|
|
Anmeldedatum: 10.04.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.06.2018, 07:46
Titel:
|
|
Hallo Jan!
Vielen Dank für deine schnelle Antwort! Danke auch für den Tipp, das ist mir wohl in der Hitze des Gefechts passiert.
Auf den Debugger hat mich auch Harald schon aufmerksam gemacht. Ich habe damit schon herumprobiert, allerdings müsste ich bei meiner Browserversion von Matlab soweit ich weiß vor und nach jeder Zeile diese Befehle eingeben und danach wieder löschen... also sehr umständlich für das, dass ich keine ordentliche Ausgabe bekomme (meist nur einzelne Buchstaben, Zeichen).
Vielen Dank auf jeden Fall für deine Hilfe!
|
|
|
zyx |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 80
|
|
|
|
Anmeldedatum: 10.04.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.06.2018, 15:19
Titel:
|
|
Hallo,
also ich habe nun folgenden Code:
Es funktioniert soweit, allerdings werden nur 5 Gleichungssysteme berechnet, weshalb auch die Ergebnisse nicht ganz richtig sind.
Eigentlich müsste die Schleife doch alle 6 Koeffizienten durchgehen oder?
Vielen Dank im Voraus für eure Hilfe!
Grüße
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 19.06.2018, 12:22
Titel:
|
|
Hallo zyx,
Bitte erkläre, wieso du meinst, dass nur 5 Systeme berechnet werden.
Gruß, Jan
|
|
|
zyx |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 80
|
|
|
|
Anmeldedatum: 10.04.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.06.2018, 13:26
Titel:
|
|
Hallo Jan,
ich habe sechs Unbekannte, die abwechseln aus der Koeffizientenmatrix
[m x n] herausgenommen werden. Somit ist mein Ergebnis kein [n x 1] Vektor mehr sondern ein [n-1 x 1] Vektor.
Ich habe auch schon versucht, die Unbekannte nicht auszuschneiden, sondern durch 0 oder 1 zu ersetzen.
Verstehe ich hier was falsch?
Danke für deine Hilfe!
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|