AE, isso é pra quem ja fez essa diciplina de Calculo numerico na facul :\
Tenho que fazer esses dois metodos, mas ate agora so fiz o da bissecçao… e nao sei onde tou errando… pra quem ja fez me da uma ajuda por favor!
import java.util.*;
public class Bissec {
public static void main(String args[]) {
Scanner s = new Scanner(System.in);
System.out.print("Digite a: "); // O A tem que ser maior que o B.
double a = s.nextDouble();
System.out.print("Digite b: ");
double b = s.nextDouble();
System.out.print("valor para o erro: "); // erro tem que ser menor que os intervalos.
double erro = s.nextDouble();
double funcao;
double modulo;
int n=1; // Indicador de incremento
if (a>b) {
System.out.println(“Erro, o A tem que ser maior que o B.”);
}
else if(erro>(b-a)){
System.out.println(“O erro tem que ser menor que os intervalos.”);
}
while(a>b || erro>(b-a))
{
double xn = (a + b)/2; /*Aplicação da fórmula*/
double erro_iterado = modulo(funcao(xn));
System.out.printf("\nIteracao: %d", n);
System.out.printf("Valores: a=%f b=%f f(a)=%f f(b)=%f xn=%f erro=%f",a, b, funcao(a), funcao(b), xn, erro_iterado);
}
if((funcao(a)*funcao(xn))<0){
b = xn;
}
else{
a = xn;
}
n=n++;
while(erro_iterado > erro);
System.out.printf("A raiz procurada vale: %f", xn);
}
/* Implementacao da funcao modulo */
double modulo(double num){
/* Declaracao de variaveis */
double resultado;
/* Algoritmo */
if(num<0){
resultado=(-1)num;
}
else{
resultado=num;
}
return resultado;
}
/ Implementacao de funcao */
double funcao(double x){
/* Declaracao de variaveis */
double resultado;
/* Algoritmo */
resultado=x-3;
return resultado;
}
}
ME AJUDA! OU QUEM JA FEZ E TEM PRONTO AI… POSTA AQUI POR FAVOR… meu professor nao explica nada direito… ;\ vlw galera.
tem que ser em java… eu achei por ai em C e php ;~
Obrigado + 1 vez