Hallo, gibt es eine Möglichkeit aus den Parametern des Wendepunktes (Zeitpunkt, Wert, Steigung) der Sprungantwort eines PT2 im Kriechfall auf die Zeitkonstanten der beiden PT1 Elemente zu schliessen, die dieses PT2 bilden? Also Beispiel gemessener Wendepunkt: tw = 0.925s y(tw) = 0.212 y'(tw) = 0.315 y(inf) = 1 ergäbe die Zeitkonstanten T1 = 2s und T2 = 0.5s
Einfach mal rechnen: U(t)=c(1-e^(a*t)-e^(b*t)) 3 Unbekannte Durch die zwei Ableitungen ergeben sich noch zwei weitere Gleichungen. Insgesamt 3 Gleichungen und 3 Unbekannte. Somit möglich, U'(t)=c(a*e^(a*t)-b*e^(b*t)) U''(t)=c(a*a*e^(a*t)-b*b*e^(b*t))
Ein Minus vergessen. U'(t)=c(-a*e^(a*t)-b*e^(b*t)) U''(t)=c(-a*a*e^(a*t)-b*b*e^(b*t)) oder andere Funktionen: U(t)=c(1-e^(a*t))*(1-e^(b*t)) U(t)=c(2-e^(a*t)-e^(b*t)) ...
Es gibt nur zwei echte Unbekannte da die dritte 1 ist wegen y(inf)=1. Deshalb reicht es die Gleichungen y(tw) und y'(tw) zu verwenden. Achtung, die folgenden Formeln gelten nur für den gedämpften Fall (kein Überschwingen). y(t) = 1 + (T1*e^(-t/T1) - T2*e^(-t/T2)) / (T2-T1) y'(t) = (-e^(-t/T1) + e^(-t/T2)) / (T2-T1) Ergebnis: T1 = 0.50974 T2 = 1.98446 http://homepages.math.uic.edu/~hanson/Octave/OctaveNonlinearEG.html Lösung mit dem open source Matheprogramm Octave >> function y = f(x) t = 0.925; y(1) = 1 +(x(1)*exp(-t/x(1))-x(2)*exp(-t/x(2)))/(x(2)-x(1)) -0.212; y(2) = (-exp(-t/x(1)) + exp(-t/x(2)))/(x(2)-x(1)) -0.315; endfunction >> [x, info] = fsolve ("f", [1; 2]) x = 0.50974 1.98446 info = 0.000001789388 -0.000000044383 % Kontrolle >> function y = f1(t,x) y = 1 +(x(1)*exp(-t/x(1))-x(2)*exp(-t/x(2)))/(x(2)-x(1)); endfunction >> z = @f1; >> feval(z, 0.925, x) ans = 0.21200
:
Bearbeitet durch User
Hallo, ich habe mal versucht das für einen variablen K Faktor zu lösen. Ich habe aber einfach 3 Messpunkte der Funktion genommen und die Anweisung entsprechend erweitert: y(x=2.011) = 25.931 y(x=4.002) = 79.874 y(x=6.034) = 111.266 function y = f(x) y(1) = x(3)*(1-(x(1)/(x(1)-x(2)))*exp(-2.011/x(1))+(x(2)/(x(1)-x(2)))*exp(-2.01 1/x(2))) +25.931 y(2) = x(3)*(1-(x(1)/(x(1)-x(2)))*exp(-4.002/x(1))+(x(2)/(x(1)-x(2)))*exp(-4.00 2/x(2))) +79.874 y(3) = x(3)*(1-(x(1)/(x(1)-x(2)))*exp(-6.034/x(1))+(x(2)/(x(1)-x(2)))*exp(-6.03 4/x(2))) +111.266 endfunction [x, info] = fsolve ("f", [1; 2; 230]) // y(inf) ca 250 Es kommt allerdings immer die Meldung: !!! PAYLOAD TOO LARGE !!!
> .... +25.931
Diese Werte benötigen bei allen drei Funktionen ein Minusvorzeichen,
weil die Funktion 0 ergeben soll.
... -25.931
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.