%Aufgabe 4.2, Beispiel fuer Schiessmethode
%Copyright (C) 2019  Sascha Eichmann
%
%    This program is free software: you can redistribute it and/or modify
%    it under the terms of the GNU General Public License as published by
%    the Free Software Foundation, either version 3 of the License, or
%    (at your option) any later version.
%
%    This program is distributed in the hope that it will be useful,
%    but WITHOUT ANY WARRANTY; without even the implied warranty of
%    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%    GNU General Public License for more details.
%
%    You should have received a copy of the GNU General Public License
%    along with this program.  If not, see <https://www.gnu.org/licenses/>

clear;

%Definieren der Differentialgleichung
function dy = Oszillator(t,y)
  dy=[y(2);  - sin(y(1))];
  end

  %Definieren der Schiessfunktion
 function u_1=solution(s) 
  opts = odeset('RelTol',1e-4,'AbsTol',1e-5);
[t,y]=ode45(@Oszillator,[0 5],[1; s], opts);
u_1=y(length(t),1);
end
g = @(s) solution(s)+1;

%Durchfuehren der Schiessmethode und finden der Ableitung
s_0=fsolve(g,1);
%Ausgabe
disp('Die Ableitung bei t=0 ist:');
disp(s_0);

%Plotten der Loesung
opts = odeset('RelTol',1e-4,'AbsTol',1e-5);
[t,y]=ode45(@Oszillator,[0 5],[1; s_0], opts);
plot(t,y(:,1));

