/* Eksempel p? bruk av Sekantmetoden for f(x)=x*x-2=0. Eksemplet er programmert "halvgenerelt" ved at f gis som en metode av typen double, mens iterasjonen gj?res i main metoden. Dette programmet er sv?rt likt det for Newtons metode. Forskjeller: fd metoden trengs ikke xprev brukes i algoritme, ikke bare i avbruddstest to initielle gjett leses, i stedet for ett rate bregnes anderledes */ import easyIO.*; class secant{ /* deklarer f i f(x)= 0 vha. metode */ static double f(double x){ return x*x-2.0; }; public static void main(String[] args){ int i, nmax; double x0,x1,xn,xprev,fres,fprev,rate,feil,xfasit,xeps,feps; In les=new In(); Out skjerm=new Out(); /* for losning av annet problem maa f byttes og xfasit endres eller fjernes */ xfasit=Math.sqrt(2.0); skjerm.outln("gi x0 og x1"); x0=les.inDouble();x1=les.inDouble();les.inLine(); /* to startverdier */ skjerm.outln("gi max antall iterasjoner"); nmax=les.inInt();les.inLine(); skjerm.outln("gi avbruddskriterium for x og f"); xeps=les.inDouble();feps=les.inDouble();les.inLine(); xn=x1;fres=f(xn);i=0;xprev=x0;fprev=f(xprev);feil=xfasit-xn; skjerm.out(" n",8); skjerm.out("xn",13); skjerm.out("feil",13); skjerm.outln("f(xn)",13); skjerm.out(i,3);skjerm.out(xn,8,14); skjerm.out(feil,8,14);skjerm.outln(fres,8,14); while(Math.abs(xn-xprev) >xeps && Math.abs(fres)>feps && i