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

Punkte zu Sinus fitten

 

Corono
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.04.11
Wohnort: ---
Version: 7.9.0
     Beitrag Verfasst am: 04.07.2011, 14:42     Titel: Punkte zu Sinus fitten
  Antworten mit Zitat      
Hallo zusammen

Ich habe eine Datei, in der zum einen Zeitpunkte und zum andern die zugehörigen Simulationswerte geschrieben sind. Idealerweise ergeben diese Punkte einen Sinus, nur leider ist das nicht so ganz der Fall. Wäre es deshalb möglich, mit MATLAB einen Sinus über diese Kurve zu legen? Es muss aber nicht geplottet sein, sondern wieder in die Datei geschrieben werden, da ich diese in eine andere Simulation einbinde. Soll heissen: Ich würde gerne die Datenpunkte einlesen, eine Interpolation/Regression/was auch immer darüber laufen lassen, so dass eine Sinuskurve daraus entsteht und dann die neuen Punkte wieder in das File schreiben. Weiss jemand, ob und wie das geht?


MFG Corono
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 04.07.2011, 15:50     Titel:
  Antworten mit Zitat      
Ja das geht. Dies hier ist die umfassende Beschreibung:

http://www.mathworks.com/support/tech-notes/1500/1508.html

Bitte einfach bei konkreten Codeproblemen Beispielcode und -daten posten.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Corono
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.04.11
Wohnort: ---
Version: 7.9.0
     Beitrag Verfasst am: 04.07.2011, 16:00     Titel:
  Antworten mit Zitat      
HI Andreas

Danke für die Antwort.
Codebeispiel poste ich sobald ich eines habe Razz

Habe mir mal Polyfit angesehen. Wenn ich das richtig verstanden habe muss ich eine Form vorgeben und die Daten werden dann daran angepasst. Das Problem ist nur, dass ich zwar weiss, dass es sinusförmig werden soll, aber die Amplitude nicht kenne.

Bin auf die Funktion fit gestossen, die eigentlich wunderbar funktioniert. Nur leider geht es da nicht automatisch, da die Rückgabe den Typ "cfit" hat:

Code:
>> fit(x,y,'poly2')

ans =

     Linear model Poly2:
     ans(x) = p1*x^2 + p2*x + p3
     Coefficients:
       p1 =         -16
       p2 =          16
       p3 =           1


Kann ich daraus P1-P3 irgendwie extrahieren? Dann wäre nämlich mein Problem gelöst.

MFG Corono

EDIT: Mir ist gerade aufgefallen, dass ich die Ausgabe trotz cfit plotten kann. Von daher müssten da also alle Werte drinstehen und ich müsste es auch anwenden können. Probiere es mal aus und wenns nicht klappt melde ich mich wieder.
Private Nachricht senden Benutzer-Profile anzeigen
 
Andy386
Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 05.07.2011, 13:34     Titel:
  Antworten mit Zitat      
help fit?
_________________

Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 06.07.2011, 08:04     Titel:
  Antworten mit Zitat      
Ja, die Koeffizienten sind immer in dem CFIT Objekt enthalten. In diesem Fall also z.B.
Code:

wobei man üblicherweise nicht mit ans arbeitet, sondern einen Rückgabewert zuweist.
Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Corono
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.04.11
Wohnort: ---
Version: 7.9.0
     Beitrag Verfasst am: 06.07.2011, 08:07     Titel:
  Antworten mit Zitat      
Ah, so kann man auf die Koeffizienten zugreiffen? Very Happy
Wieder was gelernt.

Habe es jetzt anders gelöst, die Rückgabe von fit() liefert mir trotz komischem Datentyp gerade die gefitteten werde, habe direkt die verwendet.

Danke für die Hilfe

MFG Corono
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.