elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Metodos Numericos (Metodo Biserccion, falsa posicion,Newton Raphson,Secante)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Metodos Numericos (Metodo Biserccion, falsa posicion,Newton Raphson,Secante)  (Leído 18,009 veces)
GaLaN GaLaNaSo 3000

Desconectado Desconectado

Mensajes: 180


Aqui no voy a escribir nada. no se paque me sirve.


Ver Perfil
Metodos Numericos (Metodo Biserccion, falsa posicion,Newton Raphson,Secante)
« en: 8 Noviembre 2005, 00:18 am »

necesito estos metodos de preferencia en java vi que alguien los posteo aqui ase algun tiempo no se si alguien los puede volver a compartir se le agradecera muchoo..

si quieren algo a cambio no mas hablen....


En línea

La ***** en este foro cada ves veo mas gente que quiere hackear hotmail o que pregunta webadas asi como tambien veo webones que se creen los dueños del foro se ponen a putear a diestra y siniestra Tal ves creeran que la gente asi los repetara. Ah esos malditos les digo que si no quieres aportar no aporten pero quedense callaos cabrones. Que ironia usar la violencia para resolver la violencia no!!
Carlos Luna

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Metodos Numericos (Metodo Biserccion, falsa posicion,Newton Raphson,Secante)
« Respuesta #1 en: 11 Abril 2012, 05:27 am »

Topa esto espero sea lo que nesesites lo hize en la escuela no todos los metodos funcionan bien pero el de la biseccion si!! y el de la secante saludos

#include<stdio.h>
#include<math.h>

float funcion1(float XI);
float funcion2(float XF);
float funcion3(float XM);
float funcion4(float XI);
float funcion5(float XI);
float funcion6(float XI);
float funcion7(float XI);
float formula1(float XI,float XF);
float formula2(float Xf,float XM);
float formula3(float XI,float FXI,float FXXI);
float formula4(float XI,float XII);
float formula5(float XI,float FXI,float FXIi,float XIi);

int main()
{
int m1,n1,k,z,b,u,v,j,i,a,M,m,N,ka,n,e,c,ren,col,temp;
float XI=0,XF=0,XM,FXI,FXF,FXM,FXIFXF,FXIFXM,E,FXXI,XII,E2=0.003,XIi=0,FXIi,E3=0.0002;
float Matriz[m1][n1],Er,tenp,aa[50][51];
printf("\n\t<------Metodos Numericos------>\n");
do
{

printf("\n\tSeleccione: \n\t\t 1.Metodo de la BISECCION\n\n\t\t 2.Metodo de la TANGENTE\n\n\t\t 3.Metodo de la SECANTE\n\n\t\t 4.Multiplicacion de 2 matrices\n\n\t\t 5.Metodo de Gauss-Jordan\n\n\t\t 6.Metodo de Gauss-Seidel\n\n\t\t 7.Polinomio de Newton\n");
scanf("%d",&u);
system("cls");

switch(u)
{
case 1:

printf("Ingrese los valores del intervalo");
scanf("%f %f",&XI,&XF);
printf("Ingrese el numero de Iteraciones:");
scanf("%d",&j);

printf("\n\n\tn\tXi\tXf\tf(xi)\tf(xf)\tf(xi)*f(xf)\tXm\tf(xm)\tf(xi)*f(xm)\tError\n\n");

for(i=1;i<=j;i++)
{
FXI=funcion1(XI);
FXF=funcion2(XF);
FXIFXF=FXI*FXF;
XM=formula1(XI,XF);
FXM=funcion3(XM);
FXIFXM=FXI*FXM;
E=formula2(XI,XM);

printf("\t%d\t%.4f\t%.4f\t%.4f\t%.4f\t%.4f\t%.4f\t%.4f\t%.4f\t%.4f\n",i,XI,XF,FXI,FXF,FXIFXF,XM,FXM,FXIFXM,E);
if(FXIFXM<0)
{
    XF=XM;
}
else
{
    XI=XM;
}
if(FXIFXM < 0)
{
XF=XM;
}
else
{
XI=XM;
if(FXIFXM==0)
{
printf("En XI o XM se encuentra la raiz");
}
}
}
break;

case 2:

printf("Ingrese el Valor de XI");
scanf("%f",&XI);
printf("Ingrese el numero de Iteraciones:");
scanf("%d",&j);

printf("\n\n\tn\tXi\tf(xi))\tf´(xi)\tXi+1\tError\n\n");

for(i=1;i<=j;i++)
{
FXI=funcion4(XI);
FXXI=funcion5(XI);
XII=formula3(XI,FXI,FXXI);
E=formula4(XI,XII);
if(E<0)
{
E=E*(-1);
}
printf("\t%d\t%.4f\t%.4f\t%.4f\t%.4f\t%.4f\n",i,XI,FXI,FXXI,XII,E);

if(E<E2)
{
printf("\n\tXi+1=%f Es la raiz\n",XII);
}
else
{
    XI=XII;
}

}
break;

case 3:

printf("Ingrese los valores del intervalo");
scanf("%f %f",&XI,&XIi);
printf("Ingrese el numero de Iteraciones:");
scanf("%d",&j);

printf("\n\n\tn\tXi\tXi-1\tf(Xi)\tf(Xi-1)\tXi+1\tError\n\n");

for(i=1;i<=j;i++)
{
FXI=funcion7(XI);
FXIi=funcion6(XIi);
XII=formula5(XI,FXI,FXIi,XIi);
E=formula4(XI,XII);
if(E<0)
{
E=E*(-1);
}
printf("\t%d\t%.4f\t%.4f\t%.4f\t%.4f\t%.4f\t%.4f\n",i,XI,XIi,FXI,FXIi,XII,E);
if(E<E3)
{
printf("\n\tXi+1=%.4f Es la raiz\n",XII);
}
else
{
   XI=XIi;
   XIi=XII;
}

}
break;

case 4:

printf("\n Multiplicacion De Matricez \n");
printf("\n Ingrese los renglones de la Matriz 1\n ");
scanf("%d",&M);
printf("\n Ingrese las columnas de la Matriz 1\n ");
scanf("%d",&N);
printf("\n Ingrese los de renglones de la Matriz 2\n ");
scanf("%d",&m);
printf("\n Ingrese las columnas de la Matriz 2\n ");
scanf("%d",&n);
system("cls");
float matriz1[30][31],matriz2[30][31],aa[30][30],matriz3[30][31];
if(m==N)
{
printf("valor de Matriz1\n ");
for(col=0;col<M;col++)
{
for(ren=0;ren<N;ren++)
{
printf("valor [%d][%d]de matriz1\n ",col,ren);
scanf("%f",&matriz1[col][ren]);
}
}
printf("valor de Matriz2\n ");
for(col=0;col<m;col++)
{
for(ren=0;ren<n;ren++)
{
printf("valor [%d][%d]de matriz2\n ",ren,col);
scanf("%f",&matriz2[col][ren]);
}
}
printf("\nMatriz A=\n");
for(col=0;col<M;col++)
{
for(ren=0;ren<N;ren++)
{
printf("%.2f ",matriz1[col][ren]);
}
printf ("\n");
}
printf ("\nMatriz B=\n");
for (col=0;col<m;col++)
{
for (ren=0;ren<n;ren++)
{
printf ("%.2f ",matriz2[col][ren]);
}
printf ("\n");
}
printf ("\nResultado=\n");
for(col=0;col<n;col++)
{
for(ren=0;ren<n;ren++)
{
matriz3[col][ren]=0;
for(temp=0;temp<N;temp++)
{
matriz3[col][ren]=matriz3[col][ren]+(matriz1[ren][temp]*matriz2[temp][col]);
}
}
}
for(col=0;col<M;col++)
{
for (ren=0;ren<n;ren++)
{
printf ("%.2f ",matriz3[ren][col]);
}
printf ("\n");
}
}
break;
case 5:
printf("\n Metodo Gauss-Jordan\n");
printf("Ingrese El numero de ecuaciones");
scanf("%d",&n);

for(i=1;i<=n;i++)
{
for(j=1;j<=n+1;j++)
{
printf ("Ingrese los valores de la matriz");
scanf("%f",&aa[j]);
}
}
for(i=1;i<=n;i++)
{
c=aa[j];
for(j=1;j<=n+1;j++)
{
aa[j]=aa[j]/c;
}
for(j=1;j<=n;j++)
{
if(i!=j)
{
c=aa[j];
for(z=1;z<=n+1;z++)
{
aa[j]=(aa[j]-aa[j])*c;
}
}
printf("\n Incognita(%d) = %.4f",i,aa[n+1]);
}
}
break;
case 6:

printf("\n\n <-----------Metodo Gauss-Seidel----------->\n\n\n");
printf("ingrese el numero de iteraciones");
scanf("%d",&n);
printf("ingrese el valor incial de a+b+c");
scanf("%d,%d,%d",&a,&b,&c);
printf("ingrese el valor de filas de la matriz");
scanf("%d",&m1);
printf("ingrese el valor de columnas de la matriz");
scanf("%d",&n1);
system("cls");

printf("\n Ingrese los valores de la matriz\n\n");
for(i=0;i<m1;i++)
{
for(j=0;j<n1;j++)
{
printf("valor [%d][%d]de Matriz 1\n ",i,j);
scanf(" %f",&Matriz[j]);
}
}
system("cls");
printf("\n\n Metodo de Gauss Seidel\n\n");
printf(" \ta \tb \tc");

for(k=0;k<n;k++)
{
tenp=a;
a=(Matriz[0][3]+(Matriz[0][1]*b)+(Matriz[0][2]*c))/Matriz[0][0];

b=(Matriz[0][3]+(Matriz[1][0]*a)+(Matriz[1][2]*c))/Matriz[1][1];

c=(Matriz[2][4]-(Matriz[2][0]*a)+(Matriz[2][1]*b))/Matriz[2][2];

Er=fabs((a-temp)/a)*100;

if(Er<e)
{
printf("Error = %f y es menor que el 10 Porciento",Er);
}
else
{
printf(" \n\n%.4d %.4d %.4d\n\n",a,b,c);
}
}
break;

case 7:

printf("Ingrese el numero de iteraciones");
int o=-1,n,i,j,k=-1;
scanf("%d",&n);
printf("\n\nIngrese los valores de Xi & F(xi)\n\n");

float Tabla[n][n],Xi[n];
int l=n,m=n;
for(i=0;i<n;i++)
{
o=o+1;
printf("Ingrese datos: X(%d)",o);
scanf("%f",&Xi);
}
for(j=0;j<n;j++)
{
k=k+1;
printf("Ingrese datos:F(%d,0)",k);
scanf("%f",&Tabla[j][0]);
}
for(i=1;i<=n-1;i++)
{
for(j=0;j<m;j++)
{
Tabla[j]=((Tabla[i+1][j-1])-(Tabla[j-1]))/((Xi[i+j])-(Xi));
}
m=((m)-(1));
}
for(i=0;i<n;i++)
{
for(j=0;j<=l;j++)
{
printf("%.2f\t",Tabla[j]);
}
printf("\n");
l=((l)-(1));
}
break;
printf("\n\nPresione 0 para regresar U otro numero para salir ");
scanf("%d",&a);
}

}
while(a==0);
return 0;
}
float funcion1(float XI)
{
    float a,b,c;
    a=4*(pow(XI,4));
    b=9*(pow(XI,2));
    c=a-b+1;
    return c;
}
float funcion2(float XF)
{
    float a,b,c;
    a=4*(pow(XF,4));
    b=9*(pow(XF,2));
    c=a-b+1;
    return c;
}
float funcion3(float XM)
{
    float a,b,c;
    a=4*(pow(XM,4));
    b=9*(pow(XM,2));
    c=a-b+1;
    return c;
}
float funcion4(float XI)
{
    float a;
    a=(pow(XI,3))+(pow(XI,2))-(3*XI)+5;
    return a;
}
float funcion5(float XI)
{
    float a;
    a=3*(pow(XI,2))+(2*XI)-3;
    return a;
}
float funcion6(float XIi)
{
    float a;
    a=(exp(-XIi))-XIi;
    return a;
}float funcion7(float XI)
{
    float a;
    a=(exp(-XI))-XI;
    return a;
}
float formula1(float XI,float XF)
{
    float a;
    a=(XI+XF)/2;
    return a;
}
float formula2(float XI,float XM)
{
    float a,b;
    a=((XM-XI)/XM);
    if(a<0)
    {
    b=a*(-1);
    }
    return b;
}
float formula3(float XI,float FXI,float FXXI)
{
    float a;
    a=XI-(FXI/FXXI);
    return a;
}
float formula4(float XI,float XII)
{
    float a;
    a=(XII-XI)/XII;
    return a;
}

float formula5(float XI,float FXI,float FXIi,float XIi)
{

    float a;
    a=XI-((FXI*(XI-XIi))/(FXI-FXIi));
    return a;
}


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
metodo de newton rapson para calcular las raices de una funcion con n grado
Programación C/C++
kiara_luna 1 18,258 Último mensaje 30 Septiembre 2011, 01:45 am
por kiara_luna
Programacion del polinomio de Newton Ayuda!!
Programación C/C++
Carlos Luna 2 5,948 Último mensaje 5 Abril 2012, 22:17 pm
por Carlos Luna
Metodo Newton-Raphson Error en compilacion
Java
Virux23 2 2,656 Último mensaje 28 Febrero 2013, 14:03 pm
por Oblivi0n
Método de Newton
Scripting
estudiante_1 3 2,275 Último mensaje 26 Abril 2017, 16:04 pm
por estudiante_1
¡Los jóvenes no saben quién fue Newton! | Anda Ya en LOS40
Foro Libre
El_Andaluz 0 720 Último mensaje 18 Mayo 2020, 03:00 am
por El_Andaluz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines