Ir para conteúdo
Fórum Script Brasil

Sabrina_aa

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Sabrina_aa

Sabrina_aa's Achievements

0

Reputação

  1. Olá pessoal, estou fazendo um programinha para achar raízes de uma equação pelo método de Newton. Mas estou com um probleminha e não sei resolver... A função: sqrt(x) - 5*exp(-x) Eu estou fazendo o seguinte: #include <stdio.h> #include <math.h> float f(float x) { return sqrt(x)-5*exp(-x); //Função } float der(float x) { return (5*exp(-x))+(1/(2*sqrt(x))); // derivada de f(x). } int main() { float E, x0, *it; // erro, ponto inicial, vetor iterações. int i, num_it; // iteração atual, número de iterações. E=pow(10,-7); printf("Digite o número máximo de iterações:\n"); scanf("%d", &num_it); printf("Digite o X0 inicial: \n"); scanf("%f", &x0); // Alocar dinamicamente memória para o vetor das iterações. it = malloc( sizeof(int) *num_it); // Condições iniciais. it[0] = x0; i = 0; // Iterações. while(f(it) > E) { // Excedeu o limite de iterações. if(i > num_it) { printf("Não convergiu em %d iterações!!!\n", num_it); printf("Provavelmente f'(x) está errada.\n"); } it[i+1] = it - f(it)/der(it); i++; } printf("X ~= %f ", it); printf("\nForam feitas %d iterações.\n",i); } O que está em vermelho é o que está dando erro, o que eu fiz de errado? Alguém pode me corrigir? Obrigada!
×
×
  • Criar Novo...