Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/02/2013, 20:22
Avatar de Tyreal
Tyreal
 
Fecha de Ingreso: noviembre-2011
Ubicación: ke-li
Mensajes: 39
Antigüedad: 12 años, 6 meses
Puntos: 0
pequeña duda

cual es la forma correcta de poner esto en c

fun=e*pow(xi,0.5);
error:
expected primary-expression before ')' token

se supone que no puedo poner nada antes del pow.

entonces esa linea de código. como se declaria correctamente si quiero poner algo como esto:
f(x)=e^(-0.5x).
aprovechando como arian esto con el método de newthon raphon
si la derivada -5e^(-0.5)

yo tengo esto,

Código C++:
Ver original
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<stdlib.h>
  4. #include<math.h>
  5.  
  6. float iteracion(float n1, float n);
  7. int main()
  8. {
  9.     int c;
  10.     float x1;
  11.     float Er=0.001;
  12.    
  13.           printf("Newthon Rapshon\n");
  14.           printf("La ecuacion es e^5x\n");
  15.           printf("\nEl Error relativo es de 0.001%");
  16.           printf("\nTomando en cuanta que e=2.7182");
  17.           printf("\n Escriva el valor de x para la funcion e^.5x\n");
  18.              scanf("%f",&x1);
  19.              iteracion(x1,Er);
  20. system("pause");
  21.  
  22. return(0);
  23. }
  24.           float iteracion(float n1, float n)
  25.           {
  26.                 float xi;
  27.                 float fxi;
  28.                 float ai;
  29.                 float fai;
  30.                 float deriv;
  31.                 float fun;
  32.                 float i=1;
  33.                 float e1;
  34.                 float e=2.7182;
  35.                 xi=n1;
  36.                 fxi=e*pow(xi,0.5,);
  37.                    
  38.                     while(i>=Er)
  39.                     {
  40.                    
  41.                          deriv=(0.5*e)*pow(x1,0.5);
  42.                          fun=e*pow(xi,0.5);
  43.                          ai=xi-(fun/deriv);
  44.                          fai=e*pow(ai,0.5);
  45.                          i=fabs(((e1-ai)/e1)*100);
  46.                          printf("\nXi=%2.8f f(Xi)=%2.8f \nXi+1=%2.8f f(Xi+1)=%2.8f\n",xi,fxi,ai,fai);
  47.                          printf("\n el porcentaje de error es: %0.001f\n",i);
  48.                          xi=ai;
  49.                          fxi=fai;
  50.                          e1=fabs(ai);
  51.                          ai=0;
  52.                          fai=0;
  53.                     }    
  54.           return ai;
  55.           }

obviamente tengo un error de sintaxis, pero de lógica no estoy seguro. ustedes diganme como voy o como puedo mejorar este código u otro método para hacer esto