Anpassen einer Zeile, die den Ursprung (0,0) an Daten durchläuft

8

Ich habe eine Menge von Punkten (x,y) und ich muss die Linie der besten Anpassung finden, die den Ursprung mit MATLAB durchläuft.

    
dr_rk 19.09.2012, 13:08
quelle

2 Antworten

14

Kurz gesagt : Ihre Funktion muss die Form y=ax+0 haben, was polyfit unbrauchbar macht. Aber Sie können die Methode der kleinsten Quadrate verwenden:

%Vor%

Erläuterung:

Sie haben n Gleichungen und eine Variable a , die gefunden werden muss:

%Vor%

Der Operator \ findet die Lösung der kleinsten Quadrate.

Alternativ können Sie die Lösung manuell finden:

%Vor%

oder im Pseudocode:

%Vor%

Dies ist nützlich, wenn Sie Matlab nicht verwenden - zum Beispiel in C-Code.

Beispiel und Codeausschnitt:

%Vor%     
Andrey Rubshtein 19.09.2012, 13:17
quelle
2

Wenn Sie die "Curve Fitting Toolbox" haben, können Sie

verwenden %Vor%     
Daniel 19.09.2012 13:27
quelle