Habe hier ein Programm zur Auswertung meiner Messdaten. Jedoch tauchen immer wieder einige Probleme auf. Mit der Funktion sys=zpk() kann ich auhc nciht allzuviel anfangen. ich weis schon dass da die NST und PolSt reinmüssen. aber dann muckt matlab immer rum. Hier die Matlabcodes:
figure(1); % �fne ein Diagrammfenster
data.nrel = data.n - 58; % Verwende nicht alle Me�unkte ==> Von Hand einstellen plot(data.real(1:data.nrel),data.imag(1:data.nrel),'k-'); % Zeichne den zu verwendenden Kurvenabschnitt ein xlabel('Re / \Omega');ylabel('Im / \Omega');
hold on; % Funktion beibehalten plot(data.real(data.nrel+1:data.n),data.imag(data.nrel+1:data.n),'b.'); % Zeichne die verworfenen Me�unkte ein
p0 = [1.5e3 1.450]; % Startwert
options = []; % Optimiereroptionen format long; % Darstellung der Ergebnisse mit 16 Dezimalstellen
p = fminsearch('errorfun',p0,options,data)% Ausruf zur Minimierung der Fehlerquadratsumme und Ausgabe des Ergebnisses format short; % Zurcksetzen der Anzeigegenauigkeit
Gib doch mal bitte die GENAUE Fehlermeldung von matlab an.
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 20.05.2012, 12:52
Titel:
??? Input argument "p" is undefined.
Error in ==> errorfun at 8
k = p(1); % Modifizierte Reaktionsgeschwindigkeitskonstante
Error in ==> haupt at 61
p = fminsearch(errorfun,p0,options,data); % Ausruf zur Minimierung der Fehlerquadratsumme und Ausgabe des
Ergebnisses
mit
sys = zpk(k,c_DL,R_e);
wenn ihc p definiere dann rechnet er... bleibt dann aber sofort an nem data fehler hängen.
Aber nun stellt sihc mir die Frage, welche Werte da definiert werden müssen.
Wir wären dir doch sehr dankbar, wenn du uns auch die Lösung verraten würdest. Ein anderer User steht evtl. vor dem gleichen Problem und würde sie dann hier gerne nachlesen . Außerdem wäre ich dir dankbar, wenn du den Status deines Threads zukünftig aktualisierst.
gkaraden
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 10.09.2012, 08:17
Titel:
Hi Leute,
habe ein erstes großes Einsteigerproblem.
Möchte zunächst einmal zu meinem Simulink-Einmassenmodell (1DOF) die Übertragungsfunktion plotten lassen. Nur weiß ich nicht wie ich das ganze im Befehlscode darstellen lassen kann. Der bode()-Befehl wird nicht über meine verfügbaren Toolboxen erkannt. Gibt es einen andere Weg?
Habe auch die Transferfunktion und die A,B,C,D-Matrizen aufgebaut:
Transferfunktion: G(s) = [0 1]/[1 0.5 10]
A=[0 1;-cAV/ma -kAV/ma]
B=[0;1/ma]
C=[1 0]
D = [0]
alternativ könnte man ja A,B,C;D über
%[A,B,C,D] = linmod('Simulinkmodell'); beschreiben.
Jedoch wie komm ich weiter???
Möchte lediglich die Übertragungsfunktion bzw. das Amplitudenverhältnis von Aus- zu Eingang bestimmen!
Ich hänge schon ein paar Tage daran, wäre echt super wenn mir jemand helfen könnte!
Gruß
gkaraden
gkaraden
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 10.09.2012, 09:27
Titel:
Hi Leute,
habe einen kleinen Fehler in meiner Transferfunktion entdeckt...
G(s) = [0 0 0.001]/[1 0.5 10]
Würde mich echt über eure Unterstützung freuen.
Gruß
gkaraden
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
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.