Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Carlos Luna

#1
Eso muy buen aporte!! Video juegos Nacionales!! Arre!!
Me lo descargare!
#2
http://www.monografias.com/trabajos16/metodos-lineales/metodos-lineales.shtml

Cual seria el siguiente paso a Programar?

http://www.monografias.com/trabajos16/metodos-lineales/metodos-lineales.shtml
Algun tip para salir de este estanqueamiento de las ecuaciones para encontrar a y b

Citar
#include<stdio.h>
#include<math.h>
#include<conio.h>
float Ecuacion(float temp,float temp1,float temp2,float temp3,float N);
float Sustitucion(float temp,float temp1,float b,float N);

int main()

{
float Matriz[50][51]={0},X[50],Y[50],tm=0,temp=0,temp1=0,temp2=0,temp3=0,N,a,b;
int i,j,k,l,x,y,w,n,o=0,p=0;
printf("Metodo de Minimos Cuadrados\n\n");
printf("Ingrese el Numero de iteraciones");
scanf("%d",&n);
N=n;
for(x=0;x<n;x++)
{
   o=o+1;
   printf("Ingrese datos: X(%d)",o);
   scanf("%f",&X
  • );
    }
    for(y=0;y<n;y++)
    {
       p=p+1;
       printf("Ingrese datos: Y(%d)",p);
       scanf("%f",&Y[y]);
    }

    system("cls");
    printf("Sus Datos son:\n\n\tXi\tYi\tXiYi\tXi2\n");
    for(w=0;w<n;w++)
    {
       tm=X[w];
       tm=pow(tm,2);
       Matriz[w][1]=tm;
       Matriz[w][0]=X[w]*Y[w];
       printf("\n\t%.2f \t%.2f \t%.2f \t%.2f\n",X[w],Y[w],Matriz[w][0],Matriz[w][1]);

    }

    printf("\n\t+Xi\t+Yi\t+XiYi\t+Xi2\n");

    for(i=0;i<n;i++)
    {
       temp=temp+X;
    }
    for(j=0;j<n;j++)
    {
       temp1=temp1+Y[j];
    }
    for(k=0;k<n;k++)
    {
       temp2=temp2+Matriz[k][0];
    }
    for(l=0;l<n;l++)
    {
       temp3=temp3+Matriz[l][1];
    }
    printf("\n\t%.2f\t%.2f\t%.2f\t%.2f\n\n",temp,temp1,temp2,temp3);
    printf("Ec.1 ∑y=na+b∑x\nEc.2 ∑xy=a∑x+b∑x²\n\n");
    printf("b=%.5f\n",Ecuacion(temp,temp1,temp2,temp3,N));
    b=Ecuacion(temp,temp1,temp2,temp3,N);
    printf("a=%.5f",Sustitucion(temp,temp1,b,N));
    }


    float Ecuacion(float temp,float temp1,float temp2,float temp3,float N)
    {
       float a,b,c,d,e,f,g;

       a=(temp)*(-temp);
       b=(temp1)*(-temp);
       c=(temp3)*(N);
       d=(temp2)*(N);
       e=b+d;
       f=a+c;
       g=e/f;

       return g;
    }
    float Sustitucion(float temp,float temp1,float b,float N)
    {
       float a;

       a=((b*temp)-temp1)/N;

       return a;
    }
Hay vamos hay vamos!!! jaja disculpen si me la paso modificando el codigo pero creo que voy progresando Espero sus recomendaciones saludos y Buena vibra!
#3
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;
}
#4
Cita de: BlackZeroX (Astaroth) en  4 Abril 2012, 09:57 AM
Cual es el método de interacciones que estas implementando? (alguna referencia o si tienes la expresion matematica a la mano escribe-la adecuadamente)... publica el código (con coloreado implementando Geshi) que llevas así se te podría ayudar mejor!¡.

* Identa tu código da pereza leerlo así como lo tienes...

Dulces Lunas!¡.

Asi o como?ya lo edite.... saludos y disculpa el Ignorar como publicar bien mi duda es que apenas ingrese aqui y voy aprendiendole a esto del foro
#5
Programación C/C++ / Re: Duda tabla [5][5]
4 Abril 2012, 08:52 AM
Saludos espero asi te sirva
correlo y ve si asi lo querias
Citar
#include <stdio.h>

int main()
{
   int i,j;
   int tabla[5][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};

   for(i=0;i<5;i++)
   {
      for(j=0;j<5;j++)
         {
           printf("%d\t",tabla [j]);
         }
         printf("\n");
       }
   system("pause");

}
agregale la i alado de la j en otros []
Buena vibra!
#6
Que tal Esta es mi primera Publicacion asi que un saludo a tod@s Por aqui..

Veran en la escuela me pidieron programar en la clase de metodos numericos, El metodo de polinomio de newton. y ya tengo una semana itentandolo y nomas no doy
Aun no puedo lograr obtener mi tabla Bien

Y despues de la tabla faltan los resultados para las incognitas pff... quien podria ayudarme echandole un vistazo a lo que llevo Saludos

Datos a ingresar
Para iteraciones=5
X(x)=0,1,2,3,4
F(x,0)=-1,-1,1,5,11

La tabla deberia de salir mas omenos asi

0   -1   0   1   0   0
1   -1   2   1   0  
2    1   4   1
3    5   6
4   11
http://s3.subirimagenes.com:81/otros/previo/thump_7595768nuevo1.jpg
Adjunto una imagen con la formula y la tabla mas detallada
http://s2.subirimagenes.com/imagen/previo/thump_7595718sin-ttul2o.png
Tampoco eh solucionado como aparecer la primera Columna ya que esa la ingrese como un arreglo unidimencional(vector) y lo demas si es matriz nxn

Por cierto Uso CODE BLOCKS 10.05


#include<stdio.h>
#include <conio.h>

int main()
{

int o=-1,n,i,j,k=-1;
printf("Ingrese el numero de iteraciones");
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));
   }
return 0;
}