% Anregungsfrequenz in Hz
f=500 % Intervall für x in m
x=[0:1:1000] % Anregungskraft in N
F0=1 % Output Vector
Ax = zeros(1, length(x))
Y = zeros(1, length(x))
Es geht darum zwei Werte zu plotten. Einmal einen x-Wert welcher von 0 bis 1000 geht und die entsprechenden y-Werte hier als Ax verifiziert. Die Funktion Ax enthält eine Weitere Funktion Y. Komischerweise läuft die Schleife total lange. Und am Ende kommt nur murks raus. Habt ihr eine Idee?
Am liebsten würde ich ihn ja beide Modelle rechnen lassen, um vergleichen zu könne.
Die möchte ich für ein feste Frequenz 500 Hz über die Länge x 0cm bis 10 cm darstellen. Oder für eine feste Position x 10 cm über die Frequenzen f 0 bis 3000 Hz darstellen. Die Laufvariable ist dann entweder x oder f.
Leider bekomme ich immer wieder Probleme mit der Schleife.
Die gute Nachricht - wenn alle Zeilen mit einem Semikolon abgeschlossen werden und somit die Ausgabe ins Command Window unterdrückt wird - ist, dass der Code in wenigen Millisekunden durchläuft.
Die Schlechte: Ich weiß nicht was "Murks" in diesem Zusammenhang ist...
Oh man. Das hat mir schon sehr weiter geholfen. Jetzt ist er richtig flot ^^ Besten Dank. Ich melde mich nochmal sofern, mir noch was auffält. Da ich das in diesem Thread schreiben würde, wäre es klasse, wenn er auf bleiben dürfte.
Ich habe einen Datensatz. Siehe Anhang. Ist eine kleine Excel-Datei. Sie enthält x-Werte (Position in m) in Spalte 1 und y-Werte (Auslenkung in m) in Spalte 2. Jetzt möchte ich meine Messpunkte fitten. Dazu habe ich mir folgendes überlegt.
a1 = [F0, m1, k1, k2, c1, c2]; % Startparameter für die Fitfunktion
%%
% Laden der Vergleichsdaten
filename = 'daten.xls';
A = xlsread(filename);
t = A(:,1) %x-values
y = A(:,2) %y-values
Fun = @(a1,xdata) a1(1)/(2*pi*f0*sqrt((a1(5)* exp(a1(6)*xdata)).^2+(a1(2)*2*pi*f0-((a1(3)*exp(a1(4)*xdata))/(2*pi*f0))).^2));
x = lsqcurvefit(Fun,a1,t,y);
Habe mich nochmal damit beschäftigt. Jetzt klappt es. Der Fehler war tatsächlich das Hochzeichen ^. Allerdings habe ich jetzt ein weiteres Problem.
Ich habe die Vergleichsdaten nochmal gemittelt, dadurch werden die Sprünge weniger. Nun möchte ich die Parameter für meine Funktion fitten lassen. Leider komme ich aber auf keine tolle Lösung. Der Fit liegt meilen weit davon entfernt. Gibt es da vielleicht noch eine andere Möglichkeit?
Das Hauptproblem ist, dass meine Messdaten nur einen kleinen Bereich der Fitfunktion abdecken. Und zwar den Bereich nahe der Resonanz also dem Maximum.
Wie sage ich ihm, dass er nur hinsichtlich der Fehlerquadrate in der Nähe des Peaks schauen soll? Ist das überhaupt sinnig?
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.