Hallo liebe Mitgliede,
ich bin neu hier,aber ich versuche mein Problem deutlich zu beschreiben.
Also ich nutze Octave für die Auswertungen der Messungen für meine Masterarbeit.Bei Darstelllung eines Grafiks verläuft meine Kurve exponential.Aber ich muss noch eine Exponentialfunktion mit leasqr fitten um anzuschauen ob meine Messdaten vernünftige Werte liefern im vergleich mit der gefittete exponential funktion.Ich habe im internet diese Function File: leasqr (x, y, pin, F) gefunden.
x-Vector or matrix of independent variables.
y-Vector or matrix of observed values.
pin-Vector of initial parameters to be adjusted by leasqr.
F-Name of function or function handle. The function must be of the form y = f(x, p), with y, x, p of the form y, x, pin.
stol
Aber ich verstehe trotz nicht was ist das x,y,und pin.
Meine exponentialfunktion schaut so aus: F(t)=RH*A*(1-e^-(t-t0)/tau1+RH*(1-A)*(1-e^-(t-t0)/tau2
Ich habe 4 frei Parameter:
RH=100;A=0.92;t ist ein Zeitvektor;t0=300s
tau1=6s;tau2=300s
Hier ist mein Code:
Code:
%% model function:
F = @ (x, p) p(1)*p(2)*(1-exp(-((p3)-p(4))))/p(5)+p(1)*(1-p(2))*(1-exp(-((p3)-p(4))))/p(6)+p(7);
%% independents and dependents:
x = time_A1A2Ref(ind);
y = humi1_A1A2Ref_n;
%% initial values;
init = [100;.92;time_A1A2Ref(ind);300;6;300;10]
Ich habe andere mein code geschrieben.
Aber ich bekomme trotz eine Fehlermeldung:
error: binary operator '+': invalid number of output arguments
error: called from:
error: at line -1, column -1
error: I:/Emiliia/Matlab Auswertungen Experimente\hhh.m at line 32, c
olumn 5
>>
So schaut mein Code aus:
Code:
%leasqr (x, y, pin, F)
leasqr = @ (t, p) p(1)*p(2)*(1-exp(-((t-p(3)))))/p(4)+p(1)*(1-p(2))*(1-exp(-((t-p(3)))))/p(5)+ p(6);
t = time_A1A2Ref(ind);
y = humi1_A1A2Ref_n(ind);
pin = [100;.92;300;6;300;10];
F = @ (t, p) p(1)*p(2)*(1-exp(-((t-p(3)))))/p(4)+p(1)*(1-p(2))*(1-exp(-((t-p(3)))))/p(5)+ p(6);
[f p]=leasqr(t,y,pin,F);
error: I:/Emiliia/Matlab Auswertungen Experimente\hhh.m at line 32, column 5
Bitte zeige uns noch, welches die Zeile 32 ist. Denn der gezeigte code-Abschnitt hat keine 32 Zeilen.
Code:
% Hier hat leasqr zwei Inputs:
leasqr = @ (t, p) p(1)*p(2)*(1-exp(-((t-p(3)))))/p(4)+p(1)*(1-p(2))*(1-exp(-((t-p(3)))))/p(5)+ p(6);
... % Hier hat leasqr 4 Inputs: [f p]=leasqr(t,y,pin,F);
Hallo Jan,vielen dank für deine engangmo mir zu helfen.Also ichs kopiere ganzen cod,wenn ich plotte dann bekomme ich etwas was nicht ganz stimmt.Aber du hast mein Problem verstanden,was ich machen muss,ja?
Lass unbedingt das "clear all" weg. Dies löscht ohne Not eine große Menge an Details, leider auch die Breakpoints des Debuggers. Und das ist eine sehr schelchte Idee, denn gerade der Debugger würde Dir helfen, das Problem selbst zu untersuchen.
Wir können Deinen Code nicht laufen lassen, weil wir das Daten-File nicht haben.
Bitte poste nochmal alles, was mit diesem Fehler zusammenhängen könnte:
error: binary operator '+': invalid number of output arguments
error: called from:
error: at line -1, column -1
error: I:/Emiliia/Matlab Auswertungen Experimente\hhh.m at line 32, column 5
Hallo Jan.ich habe es geschafft.
Vielen Dank für eure Hilfe.
Jetzt habe ich anderes problem.
Ich muss mit der Funktion find bestimmte Werte finden um ein Grafik darzustellen.
Ich habe Grafik hochgeladen.Wenn du ih siehst,die Kurve verlauft esponentiel hoch und dann wieder runter.Ich muss Sprungantwort darstellen beim Ansteigen,also in erste 60 sek.Und noch ein Grafik bein Abfallen (im bereich 1800-1860 sek).Und hier habe ich Problem.Weil ich irgendwie nicht schaffe richtige werte mit find zu bestimmen.
Könntest du mit bitte helfen?
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.