%
%   Approximation  im  Wintersemester 2013/14
%   H.J. Oberle
%
% -----------------------------------------------------
%
%   Aufgabe 2:  Loesung der nichtlinearen Gleichung 
%
%   f(t1) := t1*cos(t1) - sin(t1) - 2*a1*t1^3 = 0
%
%   fuer t1 > 0 und a1 := (2/pi)^2*(2/pi-1)
%   mit dem Newton-Verfahren; Startwert: t1 = 1.
%
%   Damit wird berechnet:
%   d   aus:    sin(t1) + (2*d-1)*t1 - a1*t1^3 = 0
%   a0  aus:    1 - a0 = d  
%
% -----------------------------------------------------
%
clear all
close all
%
format long e
format('compact')
a1   = (2/pi)^2*(2/pi-1);
%
%   Startwerte fruer das Newton-Verfahren
%
t1   = 1;
f1   = 1;
itmax = 30;
iter = 0;
%
%   Newton-Verfahren
%
while (iter < itmax)&(abs(f1)>1.e-15)
c    =  cos(t1); 
s    =  sin(t1);
f1   =  t1*c - s -2*a1*t1^3;
df1  = -t1*s - 6*a1*t1^2;
iter =  iter + 1;
t1   =  t1 - f1/df1;
end;
%
c    =  cos(t1);
s    =  sin(t1);
f1   =  t1*c - s -2*a1*t1^3;
t1
f1
%
%   Weitere Parameter
%
d  =  0.5*(1+(a1*t1^3-s)/t1)
a0 = 1 - d
a1
%
%   Plot der Fehlerfunktion
%
t   =  [0.01:0.01:pi/2];
e   =  sin(t)./t - (a0 + a1*t.*t);
t   =  [0 t];
e   =  [1-a0 e]; 
plot(t,e,'b','Linewidth',1.2)
set(gca,'Linewidth',1.0,'FontSize',12)
axis([0 pi/2 -0.007 0.007])
hold
plot([0 pi/2],[0 0],'k--')
xlabel('Fehlerfunktion sin(t)/t - p(t)','FontSize',14)
plot(0,d,'k.','Markersize',20)
plot(pi/2,d,'k.','Markersize',20)
plot(t1,-d,'k.','Markersize',20)
%
print -depsc aufg02
hold off
%
