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

lsqcurvefit für Tiefpass Messung

 

Jonathan63274

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2018, 19:49     Titel: lsqcurvefit für Tiefpass Messung
  Antworten mit Zitat      
Moin,

Ich hab einen Tiefpass durchgemessen und würde gerne ein Bode-Diagramm daraus machen. Dafür erst mal den Amplitudengang und dessen Ausgleichskurve.

Da hakt es aber schon. Irgendwie will mir das Programm keine vernünftigen Werte ausspucken.
Das ist der Code den ich versuche zum Laufen zu bringen

Code:

f = [100;500;700];   %nicht die wahren Messwerte
ue = [3;3;3];         %nicht die wahren Messwerte
ua = [3;2.9;2.5];     %nicht die wahren Messwerte
Q = (ua./ue)';
amplitude = @(par,f) 1/sqrt(1+(2*pi*f*par(1)*par(2)).^2);
par = [1000; 33*10^-9];
paropt = lsqcurvefit(amplitude, par, f, Q)
 


Außerdem frage ich mich, warum ich Q transponieren muss. Aber wenn ich dies nicht tue kommt prompt folgender Fehler:
"Function value and YDATA sizes are not equal."

Wenn ich den obigen Code laufen lasse kommt eine Gerade heraus, das mit leider sehr wenig sinn Laughing

Bin ein bisschen am Verzweifeln und nicht gerade erfahren im Umgang mit Matlab.
Danke für eure Hilfe!


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.11.2018, 20:04     Titel:
  Antworten mit Zitat      
Hallo,

ein Fehler ist ein fehlender Punkt in der Gleichung
Code:
amplitude = @(par,f) 1./sqrt(1+(2*pi*f*par(1)*par(2)).^2);

Dann brauchst du auch Q nicht mehr zu transponieren.

Außerdem finde ich die Wahl des Modells merkwürdig: par(1) und par(2) spielen für sich genommen gar keine Rolle, sondern nur das Produkt der beiden. Ein Parameter würde also reichen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Jonathan63274

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2018, 21:27     Titel:
  Antworten mit Zitat      
Hey Harald,

danke du bist mein Held!! Very Happy

Den Fehler mit dem Punkt hätte man auch selbst drauf kommen können, aber naja... Rolling Eyes

Habe dann mal probiert nur einen Parameter zu nehmen und dann klappt es komischer Weise perfekt.

Eigentlich brauche ich beide Parameter, da beide unbekannt sind. Wäre jetzt noch das Sahnehäubchen wenn wir das noch hinkriegen würden...

LG
 
Jonathan63274

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2018, 21:30     Titel:
  Antworten mit Zitat      
... grad gemerkt, dass das echt keinen Sinn machen würde. Wie du schon sagtest sind die ja quasi das selbe.

Dann muss ich mir wohl was anderes einfallen lassen um die trennen zu können Wink

Danke nochmal und einen schönen Abend noch
 
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.