%% aufgabe 8, bibiana, marina, thomas format long; %% mach lange zahlen nullstellen=[-1.414214 1.413793 1.414213 1.414285];%% das hier sind die start- %% werte, die wir vorher (aufgabe 5) %% numerisch ausgerechnet %% haben. hatte lange gedauert, hat %% aber funktioniert ;-) %% sollten wir aber auch damals nicht, %% naja, nun zahlt sich das aus. a=[2030 -5741 -1 11482 -8118]; for i=1:4 %% vier nullstellen gibbet, also... xp=nullstellen(i); %% startwert xn=1000; %% damit die while-schleife tut while (abs(xp-xn)>1e-15) %% solange der neue nicht nah beim alten %% liegt. xn=xp; %% jetzt=vorher [p,devnull]=horny(a,xn); %% den funktionswert berechnen [ps,devnull]=horny(devnull,xn); %% die ableitung berechnen xp=xn-p/ps; %% das newtonverfahren, in seiner %% schlichten schoenheit end disp('nullstelle naeherungsweise bei:') xp end disp('du siehst, vier stueck, proggie funzt.');