Hallo,
ich versuche gerade eine Stabilitätsaufgabe mit Hilfe des Differenzenverfahrens zu lösen. Den Stab habe ich in 3 Abschnitte unterteilt, weil dort noch mehrere Federn wirken. Benutzt habe ich die zentrale Differenzenformel.
Code:
%Differenzenverfahren zur Bestimmung der kritischen Knickkraft
n=1000; %Anzahl der Abschnitte im 1.Bereich(Schleifenindex x)
m=n; %Anzahl der Abschnitte im 2.Bereich(Schleifenindex y)
k=2*n; %Anzahl der Abschnitte im 3.Bereich(Schleifenindex z)
h=(l1+l2+l3)/((n-1)+(m-1)+(k-1)); %Schrittweite
%Matrix abschnittsweise zerlegt in einzelne Untermatrizen
%Nullelement Untermatrizen
Da ich die Knickkraft nicht kenne, habe ich mir auch noch einen kleinen Code zur Nullstellensuche geschrieben, der sieht so aus.
Code:
%Nullstellenermittlung beim Charakteristischen Polynom
lam1diff=1e-4; %Startwert für iterative Nullstellensuche
s=0.00001; %Anfangsschrittweite
EI1=5e9; %[N*mm^2]
l1=1000; %[mm]
l2=1000; %[mm]
l3=2000; %[mm]
n=1000; %Anzahl der Stützstellen im 1.Abschnitt
m=n; %Anzahl der Stützstellen im 2.Abschnitt
k=2*n; %Anzahl der Stützstellen im 3.Abschnitt
h=(l1+l2+l3)/(n+m+k);
while lam1diff<=1
lam1diff=lam1diff+s;
natdiff=DiffKnickkraft(lam1diff);
if natdiff>=0
lam1diffkr=fzero(@DiffKnickkraft,lam1diff); %Übermittlung des Nullstellenkandidaten an
%fzero für genauere Bestimmung
break;
end end
%Ermittlung der kritischen Knickkraft aus gewähltem Freiwert lam1
Wenn ich nun das Skript ausführe, funktioniert es auch. Jedoch wird meine Variable "lam1diff" nicht variiert, sondern ist konstant und deshalb wächst meine Knickkraft bei steigender Stützstellenzahl ins unendliche. Kann mir jemand sagen, wo mein Fehler liegt. Denn wenn ich mit dem unteren Code die Nullstelle bei der analytischen Lösung suche, klappt dies einwandfrei.
MfG,
Joachim
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.