Hallo zuasamen,
ich habe folgendes Problem, ich habe ein nichtlineares gleichungssystem mit (vorerst) 7 Variablen. Dieses Gleichungssystem beschreibt ein vermaschtes Rohrnetz mit zwei Einspeisungen. Ich suche nach einem Lösungsverfahren das mir zuverlässig den Massenstrom in allen Leitungen berechnet. Ich möchte dieses Verfahren dann in einem größeren und System verwenden um dies ebenfalls zu berechnen. Um das Newtonverfahren anwenden zu können muss ich ja bei einem Gleichungssystem die Jakobimatrix bilden, ich habe mittlerweile schon einiges gegooglet und beispiele durchgelesen, wobei die Jakobi immer "zu Fuß" gebildet wurde. Ich kann mir nicht vorstellen dass es jedenfalls notwendig ist das Gleichungssystem selbst abzuleiten, das muss doch auch numerisch möglich sein.
Ich habe dazu ein Functionhandle gebildet, wenn ich dieses System nun versuche mit fsolve zu lösen, bekomme ich zwar die richtige Lösung, jedoch auch Warnungen dass die Matrix singulär ist. Das bedeutet doch, dass die Toleranzen der Lösung relativ groß sind und evtl bei einem größeren System stark abweichen werden, oder?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % This code was made by Youngmok Yun, UT Austin. % You can distribute or modify as you want, % but please do not erase this comment % - 2013.05.04 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
epsilon = 1e-6; % delta
l_x0=length(x0); % length of x0;
f0=feval(f,x0,varargin{:}); % caclulate f0
l_f=size(f0,1); % check the size of f
for i=1:l_x0
dx = [zeros(i-1,1); epsilon; zeros(l_x0-i,1)];
df(:,i) = (feval(f,x0+dx,varargin{:}) - f0)/epsilon;
end
Um diese Funktion verwenden zu können müsste sie ein Functionhandle bei x ableiten und als Matrix ausgeben und mit dem command NumJacob(x0) aufgerufen werden.
Vielleicht hat wer eine Idee, ich bin für jeden Tipp dankbar.
SG Christian
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.