WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Polynom 1.Grade mit Nullpunkt als Fixpunkt

 

detomaso
Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 06.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.12.2008, 21:34     Titel: Polynom 1.Grade mit Nullpunkt als Fixpunkt
  Antworten mit Zitat      
Hallo ich möchte eine Ausgleichsgrade programmieren, welche duch den Koordinatenursprung geht. Also der Punkt (0,0) soll in jedem Fall geschnitten werden.

Ich habe bisher folgenden Quelltext programmiert:
Code:
.
.
.
.
%zuvor aus messdateil geladene daten
x = [x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,];
y = [y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14,];
xt = tan(abs(x)/180*pi);
ys = abs(y-y1);
% Ausgleichsgrade: Polynom 1. Grades:
yp = polyfit(xt,ys,1);
% Plotte punkte sowie Ausgleichsgrade
plot(xt,ys,'*',xt,polyval(yp,xt),'r-') ;
.
.
.
 


Es wäre sehr nett, wenn mir da kurz jemand mit ein paar Tipps weiterhelfen könnte. Ich steh matlabtechnisch etwas auf dem Schlauch Rolling Eyes

Vielen Dank schnaml für eure Hilfe

Gruß, Deto
Private Nachricht senden Benutzer-Profile anzeigen


Helmert
Forum-Century

Forum-Century


Beiträge: 121
Anmeldedatum: 04.09.08
Wohnort: Karlsruhe
Version: 2011a
     Beitrag Verfasst am: 03.12.2008, 09:37     Titel:
  Antworten mit Zitat      
Eine ausgleichende Gerade mit dem Ursprung als Fixpunkt (-> Ursprungsgerade) läßt sich mit relativ einfachen Mitteln schätzen. Die Geradengleichung hat dort ja nur einen Parameter, nämlich die Steigung m:

y = m * x

m kannst Du ganz einfach so berechnen (Schätzung nach kleinsten Quadraten):

Code:

m = (x'*y)/(x'*x);  % für Spaltenvektoren bzw.
m = (x*y')/(x*x');  % für Zeilenvektoren
 

Darstellung:
Code:

plot(x,y,'.',x,m*x,'-');
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.12.2008, 09:58     Titel:
  Antworten mit Zitat      
Code:
m=x(:)\y(:);
müsste auch gehen, egal welche Form die Vektoren haben.

Edit by Bijick: Zwei Antworten zusammengefasst.
 
detomaso
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 06.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2008, 17:17     Titel: Vieln Dank
  Antworten mit Zitat      
Vielen Dank!

...aber, da ich leider wie gesagt, matlabtechnisch etwas auf dem Schlau stehe ist es mir nicht gelungen, die genannten Lsg. zu adaptieren.

Es wäre wirklich nett, wenn sich jem. kurz, meinem im ersten Beitrag geposten Code annehmen könnte, und das kurz die Gesamtlsg. posten könnte.

Vielen Dank !

Gruß, Björn
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2008, 21:16     Titel:
  Antworten mit Zitat      
Code:
x = [x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,];
y = [y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14,];
xt = tan(abs(x)/180*pi);
ys = abs(y-y1);
yp = polyfit(xt,ys,1); % Polyfit, 1. Grad
m=xt(:)\ys(:); % Steigung der Geraden durch 0/0
plot(xt,ys,'rx'); % Messpunkte darstellen
hold on; % Weitere Graphen in das selbe Bild
plot(xt,polyval(yp,xt),'g-'); % Das Polynom ausgewertet an den Stuetzstellen x
plot(xt,m*xt,'b-'); % Die Gerade durch 0/0 mit Steigung m
legend('Messpunkte','Ausgleichsgrade polyfit ','Ausgleichsgrade durch 0/0');

Klappts?
 
detomaso
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 06.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.12.2008, 01:29     Titel: lineare Regression / Bestimmtheitsmaß
  Antworten mit Zitat      
Hallo,

ja das klappt super! Vielen Dank

Ich hätte jetzt nur noch das Problem mit der linearen Regression und würde gern das Bestimmtheitsmaß angegeben bekommen.

Hat einer ne Ahnung wie ich das hinbekomme??

Vielen Dank

Gruß, Deto
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.