Professional Documents
Culture Documents
PEREIRA
2007
NEWTON PARA R2
#include<stdio.h>
#include<conio.h>
#include<math.h>
det=ma00*ma11-ma01*ma10;
in00=ma11/det;
printf("\n\n in[0][0] = %.12lf",in00);
in01=-ma01/det;
printf("\n in[0][1] = %.12lf",in01);
in10=-ma10/det;
printf("\n in[1][0] = %.12lf",in10);
in11=ma00/det;
printf("\n in[1][1] = %.12lf",in11);
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
printf("Mtodos Numricos \n");
printf("Newton para R2 \n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n \n");
}
deltax=-(in00*f(x0,y0)+in01*g(x0,y0));
deltay=-(in10*f(x0,y0)+in11*g(x0,y0));
printf("\n\n delta x = %.12lf",deltax);
printf("\n delta y = %.12lf",deltay);
x0=x0+deltax;
y0=y0+deltay;
printf("\n\n x%d = %.12lf",it,x0);
printf("\n y%d = %.12lf",it,y0);
double fx (double x)
{
double ffx=-2*x;
return (ffx);
}
double fy (double y)
{
double ffy=-2*y;
return (ffy);
}
if (it==N)
{
printf("\n\n No convergencia en %d iteraciones",it);
it=N+1;
}
double gx (double x)
{
double ggx=-pow(2.71828182846,x);
return (ggx);
}
it++;
}
getch();
}
//double gy (double y)
//{
// double ggy=-1;
// return (ggy);
//}
NEWTON PARA R3
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
clrscr();
cabecera();
double tolerancia,det;
double x0,y0,deltax,deltay;
double ma00,ma01,ma10,ma11,in00,in01,in10,in11;
int it=1,N;
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
printf("Mtodos Numricos \n");
printf("Newton para R3 \n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n \n");
}
while (it<=N)
{
ma00=fx(x0);
printf("\n\n matriz[0][0] = %.12lf",ma00);
ma01=fy(y0);
printf("\n matriz[0][1] = %.12lf",ma01);
ma10=gx(x0);
printf("\n matriz[1][0] = %.12lf",ma10);
ma11=-1;
double hh=x+y-pow(z,2);
return (hh);
}
double fx (double x)
{
double ffx=2*x;
return (ffx);
}
double fy (double y)
{
double ffy=2*y;
return (ffy);
}
double fz (double z)
{
double ffz=2*z;
return (ffz);
}
det=(ma22*ma11-ma21*ma12)*ma00-(ma22*ma10ma20*ma12)*ma01+(ma21*ma10-ma20*ma11)*ma02;
in00=(ma22*ma11-ma21*ma12)/det;
printf("\n\n in[0][0] = %.12lf",in00);
in10=-(ma22*ma10-ma20*ma12)/det;
printf("\n in[1][0] = %.12lf",in10);
in20=(ma21*ma10-ma20*ma11)/det;
printf("\n in[2][0] = %.12lf",in20);
in01=-(ma22*ma01-ma21*ma02)/det;
printf("\n in[0][1] = %.12lf",in01);
in11=(ma22*ma00-ma20*ma02)/det;
printf("\n in[1][1] = %.12lf",in11);
in21=-(ma21*ma00-ma20*ma01)/det;
printf("\n in[2][1] = %.12lf",in21);
in02=(ma12*ma01-ma11*ma02)/det;
printf("\n in[0][2] = %.12lf",in02);
in12=-(ma12*ma00-ma10*ma02)/det;
printf("\n in[1][2] = %.12lf",in12);
in22=(ma11*ma00-ma10*ma01)/det;
printf("\n in[2][2] = %.12lf",in22);
deltax=-(in00*f(x0,y0,z0)+in01*g(x0,y0,z0)+in02*h(x0,y0,z0));
deltay=-(in10*f(x0,y0,z0)+in11*g(x0,y0,z0)+in12*h(x0,y0,z0));
deltaz=-(in20*f(x0,y0,z0)+in21*g(x0,y0,z0)+in22*h(x0,y0,z0));
printf("\n\n delta x = %.12lf",deltax);
printf("\n delta y = %.12lf",deltay);
printf("\n delta z = %.12lf",deltaz);
//double hy (double y)
//{
// double hhy=1;
// return (hhy);
//}
x0=x0+deltax;
y0=y0+deltay;
z0=z0+deltaz;
printf("\n\n x%d = %.12lf",it,x0);
printf("\n y%d = %.12lf",it,y0);
printf("\n z%d = %.12lf",it,z0);
double hz (double z)
{
double hhz=-2*z;
return (hhz);
}
void main()
{
clrscr();
cabecera();
double tolerancia,det;
double x0,y0,z0,deltax,deltay,deltaz;
double
ma00,ma01,ma02,ma10,ma11,ma12,ma20,ma21,ma22;
double in00,in01,in02,in10,in11,in12,in20,in21,in22;
int it=1,N;
getch();
if (fabs(f(x0,y0,z0))<tolerancia && fabs(g(x0,y0,z0))<tolerancia
&& fabs(h(x0,y0,z0))<tolerancia)
{
printf("\n\n Las soluciones aproximadas son: %.12lf, %.12lf
y %.12lf \n",x0,y0,z0);
it=N+1;
}
if (it==N)
{
printf("\n\n No convergencia en %d iteraciones",it);
it=N+1;
}
it++;
}
while (it<=N)
getch();
}
{
DIFERENCIAS DIVIDIDAS DE NEWTON
ma00=fx(x0);
#include<stdio.h>
#include<conio.h>
#include<math.h>
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
printf("Mtodos Numricos \n");
printf("Diferencias divididas de Newton \n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n \n");
}
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
printf("Mtodos Numricos \n");
printf("Trazadores cbicos naturales \n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n \n");
}
void main()
{
clrscr();
cabecera();
double x0,x1,x2,x3,f0,f1,f2,f3;
double fx0,fx1,fx2,fx3;
double fx1x0,fx2x1,fx3x2;
double fx2x1x0,fx3x2x1;
double fx3x2x1x0;
double x,P3;
void main()
{
clrscr();
cabecera();
double xj[7],aj[7],bj[6],cj[6],dj[6],hj[6];
double ma[7][8];
double div0,div1,div2,div3,div4,div5,div6;
double re1,re2,re3,re4,re5,re6;
double x,S0,S1,S2,S3,S4,S5;
double aux1,aux2;
int i,n;
printf("\n");
for (i=0;i<n;i++)
{
printf(" Escriba el valor de f(x%d): ",i);
scanf("%lf",&aux2);
aj[i]=aux2;
}
fx1x0=(f1-f0)/(x1-x0);
printf("\n\n fx1x0 = %.12lf",fx1x0);
fx2x1=(f2-f1)/(x2-x1);
printf("\n fx2x1 = %.12lf",fx2x1);
fx3x2=(f3-f2)/(x3-x2);
printf("\n fx3x2 = %.12lf",fx3x2);
printf("\n");
for (i=0;i<n-1;i++)
{
hj[i]=xj[i+1]-xj[i];
printf("\n hj[%d] = %.12lf",i,hj[i]);
}
fx2x1x0=(fx2x1-fx1x0)/(x2-x0);
printf("\n\n fx2x1x0 = %.12lf",fx2x1x0);
fx3x2x1=(fx3x2-fx2x1)/(x3-x1);
printf("\n fx3x2x1 = %.12lf",fx3x2x1);
ma[0][0]=1;
ma[0][1]=0;
ma[0][2]=0;
ma[0][3]=0;
ma[0][4]=0;
ma[0][5]=0;
ma[0][6]=0;
ma[0][7]=0;
fx3x2x1x0=(fx3x2x1-fx2x1x0)/(x3-x0);
printf("\n\n fx3x2x1x0 = %.12lf",fx3x2x1x0);
printf("\n\n El polinomio interpolante caracterstico es:");
printf("\n P3(x) = %.12lf + %.12lf(x-%.12lf) + %.12lf(x-%.12lf)
(x-%.12lf) + %.12lf(x-%.12lf)(x-%.12lf)(x%.12lf)",f0,fx1x0,x0,fx2x1x0,x0,x1,fx3x2x1x0,x0,x1,x2);
ma[1][0]=hj[0];
ma[1][1]=2*(hj[0]+hj[1]);
ma[1][2]=hj[1];
ma[1][3]=0;
ma[1][4]=0;
ma[1][5]=0;
ma[1][6]=0;
ma[1][7]=(3/hj[1])*(aj[2]-aj[1])-(3/hj[0])*(aj[1]-aj[0]);
ma[2][0]=0;
ma[2][1]=hj[1];
ma[2][2]=2*(hj[1]+hj[2]);
ma[2][3]=hj[2];
ma[2][4]=0;
ma[2][5]=0;
ma[2][6]=0;
ma[2][7]=(3/hj[2])*(aj[3]-aj[2])-(3/hj[1])*(aj[2]-aj[1]);
getch();
}
ma[3][0]=0;
ma[3][1]=0;
ma[3][2]=hj[2];
ma[3][3]=2*(hj[2]+hj[3]);
ma[3][4]=hj[3];
ma[3][5]=0;
ma[3][6]=0;
ma[3][7]=(3/hj[3])*(aj[4]-aj[3])-(3/hj[2])*(aj[3]-aj[2]);
re4=ma[4][3];
for (i=0;i<=n;i++)
{
ma[4][i]=-re4*ma[3][i]+ma[4][i];
}
div4=ma[4][4];
for (i=0;i<=n;i++)
{
ma[4][i]=ma[4][i]/div4;
printf("\n ma[4][%d] = %.12lf",i,ma[4][i]);
}
getch();
ma[4][0]=0;
ma[4][1]=0;
ma[4][2]=0;
ma[4][3]=hj[3];
ma[4][4]=2*(hj[3]+hj[4]);
ma[4][5]=hj[4];
ma[4][6]=0;
ma[4][7]=(3/hj[4])*(aj[5]-aj[4])-(3/hj[3])*(aj[4]-aj[3]);
re5=ma[5][4];
for (i=0;i<=n;i++)
{
ma[5][i]=-re5*ma[4][i]+ma[5][i];
}
ma[5][0]=0;
ma[5][1]=0;
ma[5][2]=0;
ma[5][3]=0;
ma[5][4]=hj[4];
ma[5][5]=2*(hj[4]+hj[5]);
ma[5][6]=hj[5];
ma[5][7]=(3/hj[5])*(aj[6]-aj[5])-(3/hj[4])*(aj[5]-aj[4]);
div5=ma[5][5];
for (i=0;i<=n;i++)
{
ma[5][i]=ma[5][i]/div5;
printf("\n ma[5][%d] = %.12lf",i,ma[5][i]);
}
getch();
ma[6][0]=0;
ma[6][1]=0;
ma[6][2]=0;
ma[6][3]=0;
ma[6][4]=0;
ma[6][5]=0;
ma[6][6]=1;
ma[6][7]=0;
re6=ma[6][5];
for (i=0;i<=n;i++)
{
ma[6][i]=-re6*ma[5][i]+ma[6][i];
}
printf("\n");
div6=ma[6][6];
for (i=0;i<=n;i++)
{
ma[6][i]=ma[6][i]/div6;
printf("\n ma[6][%d] = %.12lf",i,ma[6][i]);
}
div0=ma[0][0];
for (i=0;i<=n;i++)
{
ma[0][i]=ma[0][i]/div0;
printf("\n ma[0][%d] = %.12lf",i,ma[0][i]);
}
getch();
cj[6]=ma[6][7];
printf("\n cj[6] = %.12lf",cj[6]);
cj[5]=ma[5][7]-ma[5][6]*cj[6];
printf("\n cj[5] = %.12lf",cj[5]);
cj[4]=ma[4][7]-ma[4][5]*cj[5]-ma[4][6]*cj[6];
printf("\n cj[4] = %.12lf",cj[4]);
cj[3]=ma[3][7]-ma[3][4]*cj[4]-ma[3][5]*cj[5]-ma[3][6]*cj[6];
printf("\n cj[3] = %.12lf",cj[3]);
cj[2]=ma[2][7]-ma[2][3]*cj[3]-ma[2][4]*cj[4]-ma[2][5]*cj[5]-ma[2]
[6]*cj[6];
printf("\n cj[2] = %.12lf",cj[2]);
cj[1]=ma[1][7]-ma[1][2]*cj[2]-ma[1][3]*cj[3]-ma[1][4]*cj[4]-ma[1]
[5]*cj[5]-ma[1][6]*cj[6];
printf("\n cj[1] = %.12lf",cj[1]);
cj[0]=ma[0][7]-ma[0][1]*cj[1]-ma[0][2]*cj[2]-ma[0][3]*cj[3]-ma[0]
[4]*cj[4]-ma[0][5]*cj[5]-ma[0][6]*cj[6];
printf("\n cj[0] = %.12lf",cj[0]);
re1=ma[1][0];
for (i=0;i<=n;i++)
{
ma[1][i]=-re1*ma[0][i]+ma[1][i];
}
div1=ma[1][1];
for (i=0;i<=n;i++)
{
ma[1][i]=(ma[1][i])/div1;
printf("\n ma[1][%d] = %.12lf",i,ma[1][i]);
}
getch();
re2=ma[2][1];
for (i=0;i<=n;i++)
{
ma[2][i]=-re2*ma[1][i]+ma[2][i];
}
getch();
printf("\n");
for (i=0;i<n-1;i++)
{
bj[i]=(1/hj[i])*(aj[i+1]-aj[i])-(hj[i]/3)*(2*cj[i]+cj[i+1]);
printf("\n bj[%d] = %.12lf",i,bj[i]);
}
div2=ma[2][2];
for (i=0;i<=n;i++)
{
ma[2][i]=ma[2][i]/div2;
printf("\n ma[2][%d] = %.12lf",i,ma[2][i]);
}
getch();
printf("\n");
for (i=0;i<n-1;i++)
{
dj[i]=(1/(3*hj[i]))*(cj[i+1]-cj[i]);
printf("\n dj[%d] = %.12lf",i,dj[i]);
}
re3=ma[3][2];
for (i=0;i<=n;i++)
{
ma[3][i]=-re3*ma[2][i]+ma[3][i];
}
div3=ma[3][3];
for (i=0;i<=n;i++)
{
ma[3][i]=ma[3][i]/div3;
printf("\n ma[3][%d] = %.12lf",i,ma[3][i]);
}
getch();
printf("\n");
for (i=0;i<n;i++)
{
printf(" Escriba el valor de x%d: ",i);
scanf("%lf",&aux1);
xj[i]=aux1;
}
printf("\n");
for (i=0;i<n;i++)
{
printf(" Escriba el valor de f(x%d): ",i);
scanf("%lf",&aux2);
aj[i]=aux2;
}
printf("\n");
for (i=0;i<n-1;i++)
{
hj[i]=xj[i+1]-xj[i];
printf("\n hj[%d] = %.12lf",i,hj[i]);
}
ma[0][0]=2*hj[0];
ma[0][1]=hj[0];
ma[0][2]=0;
ma[0][3]=0;
ma[0][4]=0;
ma[0][5]=0;
ma[0][6]=0;
ma[0][7]=(3/hj[0])*(aj[1]-aj[0])-3*f0;
ma[1][0]=hj[0];
ma[1][1]=2*(hj[0]+hj[1]);
ma[1][2]=hj[1];
ma[1][3]=0;
ma[1][4]=0;
ma[1][5]=0;
ma[1][6]=0;
ma[1][7]=(3/hj[1])*(aj[2]-aj[1])-(3/hj[0])*(aj[1]-aj[0]);
if (x<xj[0] || x>xj[6])
{
printf("\n\n Valor fuera del intervalo de datos");
}
ma[2][0]=0;
ma[2][1]=hj[1];
ma[2][2]=2*(hj[1]+hj[2]);
ma[2][3]=hj[2];
ma[2][4]=0;
ma[2][5]=0;
ma[2][6]=0;
ma[2][7]=(3/hj[2])*(aj[3]-aj[2])-(3/hj[1])*(aj[2]-aj[1]);
getch();
}
TRAZADORES CBICOS SUJETOS
#include<stdio.h>
#include<conio.h>
#include<math.h>
ma[3][0]=0;
ma[3][1]=0;
ma[3][2]=hj[2];
ma[3][3]=2*(hj[2]+hj[3]);
ma[3][4]=hj[3];
ma[3][5]=0;
ma[3][6]=0;
ma[3][7]=(3/hj[3])*(aj[4]-aj[3])-(3/hj[2])*(aj[3]-aj[2]);
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
ma[4][0]=0;
ma[4][1]=0;
ma[4][2]=0;
ma[4][3]=hj[3];
ma[4][4]=2*(hj[3]+hj[4]);
ma[4][5]=hj[4];
ma[4][6]=0;
ma[4][7]=(3/hj[4])*(aj[5]-aj[4])-(3/hj[3])*(aj[4]-aj[3]);
ma[4][i]=ma[4][i]/div4;
printf("\n ma[4][%d] = %.12lf",i,ma[4][i]);
}
getch();
re5=ma[5][4];
for (i=0;i<=n;i++)
{
ma[5][i]=-re5*ma[4][i]+ma[5][i];
}
ma[5][0]=0;
ma[5][1]=0;
ma[5][2]=0;
ma[5][3]=0;
ma[5][4]=hj[4];
ma[5][5]=2*(hj[4]+hj[5]);
ma[5][6]=hj[5];
ma[5][7]=(3/hj[5])*(aj[6]-aj[5])-(3/hj[4])*(aj[5]-aj[4]);
div5=ma[5][5];
for (i=0;i<=n;i++)
{
ma[5][i]=ma[5][i]/div5;
printf("\n ma[5][%d] = %.12lf",i,ma[5][i]);
}
getch();
ma[6][0]=0;
ma[6][1]=0;
ma[6][2]=0;
ma[6][3]=0;
ma[6][4]=0;
ma[6][5]=hj[5];
ma[6][6]=2*hj[5];
ma[6][7]=3*fn-(3/hj[5])*(aj[6]-aj[5]);
re6=ma[6][5];
for (i=0;i<=n;i++)
{
ma[6][i]=-re6*ma[5][i]+ma[6][i];
}
printf("\n");
div6=ma[6][6];
for (i=0;i<=n;i++)
{
ma[6][i]=ma[6][i]/div6;
printf("\n ma[6][%d] = %.12lf",i,ma[6][i]);
}
div0=ma[0][0];
for (i=0;i<=n;i++)
{
ma[0][i]=ma[0][i]/div0;
printf("\n ma[0][%d] = %.12lf",i,ma[0][i]);
}
getch();
cj[6]=ma[6][7];
printf("\n cj[6] = %.12lf",cj[6]);
cj[5]=ma[5][7]-ma[5][6]*cj[6];
printf("\n cj[5] = %.12lf",cj[5]);
cj[4]=ma[4][7]-ma[4][5]*cj[5]-ma[4][6]*cj[6];
printf("\n cj[4] = %.12lf",cj[4]);
cj[3]=ma[3][7]-ma[3][4]*cj[4]-ma[3][5]*cj[5]-ma[3][6]*cj[6];
printf("\n cj[3] = %.12lf",cj[3]);
cj[2]=ma[2][7]-ma[2][3]*cj[3]-ma[2][4]*cj[4]-ma[2][5]*cj[5]-ma[2]
[6]*cj[6];
printf("\n cj[2] = %.12lf",cj[2]);
cj[1]=ma[1][7]-ma[1][2]*cj[2]-ma[1][3]*cj[3]-ma[1][4]*cj[4]-ma[1]
[5]*cj[5]-ma[1][6]*cj[6];
printf("\n cj[1] = %.12lf",cj[1]);
cj[0]=ma[0][7]-ma[0][1]*cj[1]-ma[0][2]*cj[2]-ma[0][3]*cj[3]-ma[0]
[4]*cj[4]-ma[0][5]*cj[5]-ma[0][6]*cj[6];
printf("\n cj[0] = %.12lf",cj[0]);
re1=ma[1][0];
for (i=0;i<=n;i++)
{
ma[1][i]=-re1*ma[0][i]+ma[1][i];
}
div1=ma[1][1];
for (i=0;i<=n;i++)
{
ma[1][i]=(ma[1][i])/div1;
printf("\n ma[1][%d] = %.12lf",i,ma[1][i]);
}
getch();
re2=ma[2][1];
for (i=0;i<=n;i++)
{
ma[2][i]=-re2*ma[1][i]+ma[2][i];
}
getch();
printf("\n");
for (i=0;i<n-1;i++)
{
bj[i]=(1/hj[i])*(aj[i+1]-aj[i])-(hj[i]/3)*(2*cj[i]+cj[i+1]);
printf("\n bj[%d] = %.12lf",i,bj[i]);
}
div2=ma[2][2];
for (i=0;i<=n;i++)
{
ma[2][i]=ma[2][i]/div2;
printf("\n ma[2][%d] = %.12lf",i,ma[2][i]);
}
getch();
printf("\n");
for (i=0;i<n-1;i++)
{
dj[i]=(1/(3*hj[i]))*(cj[i+1]-cj[i]);
printf("\n dj[%d] = %.12lf",i,dj[i]);
}
re3=ma[3][2];
for (i=0;i<=n;i++)
{
ma[3][i]=-re3*ma[2][i]+ma[3][i];
}
div3=ma[3][3];
for (i=0;i<=n;i++)
{
ma[3][i]=ma[3][i]/div3;
printf("\n ma[3][%d] = %.12lf",i,ma[3][i]);
}
getch();
re4=ma[4][3];
for (i=0;i<=n;i++)
{
ma[4][i]=-re4*ma[3][i]+ma[4][i];
}
div4=ma[4][4];
for (i=0;i<=n;i++)
{
double Ex=0,Ey=0,Ex2=0,Exy=0;
double St=0,Sr=0;
double a0,a1,r;
double aux1,aux2;
int i,n;
printf("Ingrese el nmero de datos: ");
scanf("%d",&n);
nd=n;
for (i=1;i<=n;i++)
{
printf("\n Escriba el valor de x%d: ",i);
scanf("%lf",&aux1);
x[i]=aux1;
}
for (i=1;i<=n;i++)
{
printf("\n Escriba el valor de y%d: ",i);
scanf("%lf",&aux2);
y[i]=aux2;
}
for (i=1;i<=n;i++)
{
printf("\n x[%d] = %.12lf",i,x[i]);
printf("\n y[%d] = %.12lf",i,y[i]);
}
for (i=1;i<=n;i++)
{
Ex=x[i]+Ex;
}
printf("\n\n Ex = %.12lf",Ex);
for (i=1;i<=n;i++)
{
Ey=y[i]+Ey;
}
printf("\n Ey = %.12lf",Ey);
printf("\n y(promedio) = %.12lf",Ey/nd);
for (i=1;i<=n;i++)
{
Ex2=pow(x[i],2)+Ex2;
}
printf("\n Ex2 = %.12lf",Ex2);
for (i=1;i<=n;i++)
{
Exy=x[i]*y[i]+Exy;
}
printf("\n Exy = %.12lf",Exy);
if (x<xj[0] || x>xj[6])
{
printf("\n\n Valor fuera del intervalo de datos");
}
getch();
}
#include<stdio.h>
#include<conio.h>
#include<math.h>
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
printf("Mtodos Numricos \n");
printf("Aproximacin funcional: Regresin lineal \n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n \n");
}
void main()
{
clrscr();
cabecera();
double x[20],y[20],nd;
r=(St-Sr)/St;
for (i=1;i<=n;i++)
{
ExY=x[i]*lny[i]+ExY;
}
printf("\n Exy = %.12lf",ExY);
getch();
}
REGRESIN EXPONENCIAL
#include<stdio.h>
#include<conio.h>
#include<math.h>
a0=(EY*Ex2-Ex*ExY)/(nd*Ex2-Ex*Ex);
a1=(nd*ExY-EY*Ex)/(nd*Ex2-Ex*Ex);
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
printf("Mtodos Numricos \n");
printf("Aproximacin funcional: Regresin exponencial \n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n \n");
}
void main()
{
clrscr();
cabecera();
for (i=1;i<=n;i++)
{
St=pow((lny[i]-(EY/nd)),2)+St;
}
printf("\n\n St = %.12lf",St);
double x[20],y[20],lny[20],nd;
double Ex=0,EY=0,Ex2=0,ExY=0;
double St=0,Sr=0;
double a0,a1,a2,a3,r;
double aux1,aux2;
int i,n;
for (i=1;i<=n;i++)
{
Sr=pow((lny[i]-a0-a1*x[i]),2)+Sr;
}
printf("\n Sr = %.12lf",Sr);
r=(St-Sr)/St;
printf("\n\n r^2 = %.12lf",r);
printf("\n El %.12lf(%) de los datos tienen a la curva como una
buena aproximacin",r*100);
for (i=1;i<=n;i++)
{
printf("\n Escriba el valor de x%d: ",i);
scanf("%lf",&aux1);
x[i]=aux1;
}
getch();
}
REGRESIN ECUACIN DE POTENCIAS
for (i=1;i<=n;i++)
{
printf("\n Escriba el valor de y%d: ",i);
scanf("%lf",&aux2);
y[i]=aux2;
lny[i]=log(aux2);
}
#include<stdio.h>
#include<conio.h>
#include<math.h>
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
printf("Mtodos Numricos \n");
printf("Aproximacin funcional: Regresin ecuacin de
potencias \n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n \n");
}
for (i=1;i<=n;i++)
{
printf("\n x[%d] = %.12lf",i,x[i]);
printf("\n y[%d] = %.12lf",i,y[i]);
printf("\n Y[%d] = %.12lf",i,lny[i]);
}
for (i=1;i<=n;i++)
{
Ex=x[i]+Ex;
}
printf("\n\n Ex = %.12lf",Ex);
void main()
{
clrscr();
cabecera();
for (i=1;i<=n;i++)
{
EY=lny[i]+EY;
}
printf("\n EY = %.12lf",EY);
printf("\n Y(promedio) = %.12lf",EY/nd);
double x[20],y[20],lnx[20],lny[20],nd;
double EX=0,EY=0,EX2=0,EXY=0;
double St=0,Sr=0;
double a0,a1,a4,a5,r;
double aux1,aux2;
int i,n;
for (i=1;i<=n;i++)
{
Ex2=pow(x[i],2)+Ex2;
}
printf("\n Ex2 = %.12lf",Ex2);
10
{
printf("\n Escriba el valor de x%d: ",i);
scanf("%lf",&aux1);
x[i]=aux1;
lnx[i]=log(aux1);
}
for (i=1;i<=n;i++)
{
printf("\n Escriba el valor de y%d: ",i);
scanf("%lf",&aux2);
y[i]=aux2;
lny[i]=log(aux2);
}
#include<stdio.h>
#include<conio.h>
#include<math.h>
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
printf("Mtodos Numricos \n");
printf("Aproximacin funcional: Modelo crecimiento
saturado \n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n \n");
}
for (i=1;i<=n;i++)
{
printf("\n x[%d] = %.12lf",i,x[i]);
printf("\n y[%d] = %.12lf",i,y[i]);
printf("\n X[%d] = %.12lf",i,lnx[i]);
printf("\n Y[%d] = %.12lf",i,lny[i]);
}
for (i=1;i<=n;i++)
{
EX=lnx[i]+EX;
}
printf("\n\n EX = %.12lf",EX);
void main()
{
clrscr();
cabecera();
for (i=1;i<=n;i++)
{
EY=lny[i]+EY;
}
printf("\n EY = %.12lf",EY);
printf("\n Y(promedio) = %.12lf",EY/nd);
double x[20],y[20],x1[20],y1[20],nd;
double EX=0,EY=0,EX2=0,EXY=0;
double St=0,Sr=0;
double a0,a1,a6,a7,r;
double aux1,aux2;
int i,n;
for (i=1;i<=n;i++)
{
EX2=pow(lnx[i],2)+EX2;
}
printf("\n EX2 = %.12lf",EX2);
for (i=1;i<=n;i++)
{
EXY=lnx[i]*lny[i]+EXY;
}
printf("\n EXY = %.12lf",EXY);
for (i=1;i<=n;i++)
{
printf("\n Escriba el valor de x%d: ",i);
scanf("%lf",&aux1);
x[i]=aux1;
x1[i]=1/aux1;
}
for (i=1;i<=n;i++)
{
printf("\n Escriba el valor de y%d: ",i);
scanf("%lf",&aux2);
y[i]=aux2;
y1[i]=1/aux2;
}
a0=(EY*EX2-EX*EXY)/(nd*EX2-EX*EX);
a1=(nd*EXY-EY*EX)/(nd*EX2-EX*EX);
printf("\n\n donde: ");
printf("\n a0 = %.12lf",a0);
printf("\n a1 = %.12lf",a1);
for (i=1;i<=n;i++)
{
printf("\n x[%d] = %.12lf",i,x[i]);
printf("\n y[%d] = %.12lf",i,y[i]);
printf("\n X[%d] = %.12lf",i,x1[i]);
printf("\n Y[%d] = %.12lf",i,y1[i]);
}
a4=exp(a0);
a5=a1;
printf("\n a4 = %.12lf",a4);
printf("\n a5 = %.12lf",a5);
printf("\n\n Modelo: y = %.12lf * x^(%.12lf)",a4,a5);
for (i=1;i<=n;i++)
{
EX=x1[i]+EX;
}
printf("\n\n EX = %.12lf",EX);
for (i=1;i<=n;i++)
{
St=pow((lny[i]-(EY/nd)),2)+St;
}
printf("\n\n St = %.12lf",St);
for (i=1;i<=n;i++)
{
EY=y1[i]+EY;
}
printf("\n EY = %.12lf",EY);
printf("\n Y(promedio) = %.12lf",EY/nd);
for (i=1;i<=n;i++)
{
Sr=pow((lny[i]-a0-a1*lnx[i]),2)+Sr;
}
printf("\n Sr = %.12lf",Sr);
for (i=1;i<=n;i++)
{
EX2=pow(x1[i],2)+EX2;
}
r=(St-Sr)/St;
printf("\n\n r^2 = %.12lf",r);
11
for (i=1;i<=n;i++)
{
EXY=x1[i]*y1[i]+EXY;
}
printf("\n EXY = %.12lf",EXY);
for (i=1;i<=n;i++)
{
printf("\n Escriba el valor de y%d: ",i);
scanf("%lf",&aux2);
y[i]=aux2;
}
for (i=1;i<=n;i++)
{
printf("\n x[%d] = %.12lf",i,x[i]);
printf("\n y[%d] = %.12lf",i,y[i]);
}
for (i=1;i<=n;i++)
{
Ex=x[i]+Ex;
}
printf("\n\n Ex = %.12lf",Ex);
for (i=1;i<=n;i++)
{
St=pow((y1[i]-(EY/nd)),2)+St;
}
printf("\n\n St = %.12lf",St);
for (i=1;i<=n;i++)
{
Ey=y[i]+Ey;
}
printf("\n Ey = %.12lf",Ey);
printf("\n y(promedio) = %.12lf",Ey/nd);
for (i=1;i<=n;i++)
{
Sr=pow((y1[i]-a0-a1*x1[i]),2)+Sr;
}
printf("\n Sr = %.12lf",Sr);
for (i=1;i<=n;i++)
{
Ex2=pow(x[i],2)+Ex2;
}
printf("\n Ex2 = %.12lf",Ex2);
r=(St-Sr)/St;
printf("\n\n r^2 = %.12lf",r);
printf("\n El %.12lf(%) de los datos tienen a la curva como una
buena aproximacin",r*100);
for (i=1;i<=n;i++)
{
Ex3=pow(x[i],3)+Ex3;
}
printf("\n Ex3 = %.12lf",Ex3);
getch();
}
for (i=1;i<=n;i++)
{
Ex4=pow(x[i],4)+Ex4;
}
printf("\n Ex4 = %.12lf",Ex4);
REGRESIN POLINOMIAL
#include<stdio.h>
#include<conio.h>
#include<math.h>
for (i=1;i<=n;i++)
{
Exy=x[i]*y[i]+Exy;
}
printf("\n Exy = %.12lf",Exy);
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
printf("Mtodos Numricos \n");
printf("Aproximacin funcional: Regresin polinomial \n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n \n");
}
for (i=1;i<=n;i++)
{
Ex2y=pow(x[i],2)*y[i]+Ex2y;
}
printf("\n Ex2y = %.12lf",Ex2y);
printf("\n\n El sistema viene dado por: ");
printf("\n %.12lf a0 + %.12lf a1 +%.12lf a2 =
%.12lf",nd,Ex,Ex2,Ey);
printf("\n %.12lf a0 + %.12lf a1 +%.12lf a2 =
%.12lf",Ex,Ex2,Ex3,Exy);
printf("\n %.12lf a0 + %.12lf a1 +%.12lf a2 =
%.12lf",Ex2,Ex3,Ex4,Ex2y);
void main()
{
clrscr();
cabecera();
det=nd*(Ex2*Ex4-Ex3*Ex3)+Ex*(Ex2*Ex3-Ex4*Ex)
+Ex2*(Ex*Ex3-Ex2*Ex2);
printf("\n det = %.12lf",det);
a0=(-((Ex2*Ex2-Ex*Ex3)*Ex2y-((Exy*Ex3+Ey*Ex4)*Ex2(Ey*Ex3*Ex3+Ex*Exy*Ex4))))/det;
a1=((Ex*Ex2-nd*Ex3)*Ex2y-(Exy*Ex2*Ex2-Ey*Ex3*Ex2(nd*Exy-Ey*Ex)*Ex4))/det;
a2=((nd*Ex2-Ex*Ex)*Ex2y-(Ey*Ex2*Ex2-Ex*Exy*Ex2+
(nd*Exy-Ey*Ex)*Ex3))/det;
double x[20],y[20],nd;
double Ex=0,Ey=0,Ex2=0,Ex3=0,Ex4=0,Exy=0,Ex2y=0;
double St=0,Sr=0;
double det;
double a0,a1,a2,r;
double aux1,aux2;
int i,n;
printf("Ingrese el nmero de datos: ");
scanf("%d",&n);
nd=n;
12
printf("\n a1 = %.12lf",a1);
printf("\n a2 = %.12lf",a2);
}
for (i=1;i<=n;i++)
{
printf("\n x[%d] = %.12lf",i,x[i]);
printf("\n y[%d] = %.12lf",i,y[i]);
printf("\n z[%d] = %.12lf",i,z[i]);
}
for (i=1;i<=n;i++)
{
St=pow((y[i]-(Ey/nd)),2)+St;
}
printf("\n\n St = %.12lf",St);
for (i=1;i<=n;i++)
{
Ex=x[i]+Ex;
}
printf("\n\n Ex = %.12lf",Ex);
for (i=1;i<=n;i++)
{
Sr=pow((y[i]-a0-a1*x[i]-a2*pow(x[i],2)),2)+Sr;
}
printf("\n Sr = %.12lf",Sr);
for (i=1;i<=n;i++)
{
Ey=y[i]+Ey;
}
printf("\n Ey = %.12lf",Ey);
r=(St-Sr)/St;
printf("\n\n r^2 = %.12lf",r);
printf("\n El %.12lf(%) de los datos tienen a la recta como una
buena\n aproximacin",r*100);
for (i=1;i<=n;i++)
{
Ez=z[i]+Ez;
}
printf("\n Ez = %.12lf",Ez);
printf("\n z(promedio) = %.12lf",Ez/nd);
getch();
}
REGRESIN MULTILINEAL
for (i=1;i<=n;i++)
{
Ex2=pow(x[i],2)+Ex2;
}
printf("\n Ex2 = %.12lf",Ex2);
#include<stdio.h>
#include<conio.h>
#include<math.h>
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
printf("Mtodos Numricos \n");
printf("Aproximacin funcional: Regresin multilineal \n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n \n");
}
for (i=1;i<=n;i++)
{
Ey2=pow(y[i],2)+Ey2;
}
printf("\n Ey2 = %.12lf",Ey2);
for (i=1;i<=n;i++)
{
Ez2=pow(z[i],2)+Ez2;
}
printf("\n Ez2 = %.12lf",Ez2);
for (i=1;i<=n;i++)
{
Exy=x[i]*y[i]+Exy;
}
printf("\n Exy = %.12lf",Exy);
void main()
{
clrscr();
cabecera();
for (i=1;i<=n;i++)
{
Exz=x[i]*z[i]+Exz;
}
printf("\n Exz = %.12lf",Exz);
double x[20],y[20],z[20],nd;
double
Ex=0,Ey=0,Ez=0,Ex2=0,Ey2=0,Ez2=0,Exy=0,Exz=0,Eyz=0;
double St=0,Sr=0;
double a,b,c,r;
double aux1,aux2,aux3,det;
int i,n;
for (i=1;i<=n;i++)
{
Eyz=y[i]*z[i]+Eyz;
}
printf("\n Eyz = %.12lf",Eyz);
for (i=1;i<=n;i++)
{
printf("\n Escriba el valor de y%d: ",i);
scanf("%lf",&aux2);
y[i]=aux2;
}
det=Ex*(Ey*Exy-Ey2*Ex)-Ey*(Ey*Ex2-Exy*Ex)+nd*(Ey2*Ex2Exy*Exy);
a=(Ez*(Ey*Exy-Ey2*Ex)-Ey*(Ey*Exz-Eyz*Ex)+nd*(Ey2*ExzEyz*Exy))/det;
b=(Ex*(Ey*Exz-Eyz*Ex)-Ez*(Ey*Ex2-Exy*Ex)+nd*(Eyz*Ex2Exy*Exz))/det;
c=(Ex*(Eyz*Exy-Ey2*Exz)-Ey*(Eyz*Ex2-Exy*Exz)
+Ez*(Ey2*Ex2-Exy*Exy))/det;
for (i=1;i<=n;i++)
{
printf("\n Escriba el valor de z%d: ",i);
scanf("%lf",&aux3);
z[i]=aux3;
13
printf("\n c = %.12lf",c);
yn=y0+h*(inde+y);
printf("\n yn = %.12lf",yn);
y0=yn;
y=y*y0;
printf("\n t0 = %.12lf",t0);
tn=tn+h;
t0=tn;
inde=exp(ind*t0);
getch();
}
for (i=1;i<=n;i++)
{
Sr=pow((z[i]-a*x[i]-b*y[i]-c),2)+Sr;
}
printf("\n Sr = %.12lf",Sr);
if (f==2)
{
printf("Escriba el valor que acompaa a t: ");
scanf("%lf",&ind);
inde=sin(ind*t0);
r=(St-Sr)/St;
printf("\n\n r^2 = %.12lf",r);
printf("\n El %.12lf(%) de los datos tienen al modelo como una
buena aproximacin",r*100);
while (tn<t)
{
printf("\n\n inde = %.12lf",inde);
printf("\n y = %.12lf",y);
yn=y0+h*(inde+y);
printf("\n yn = %.12lf",yn);
y0=yn;
y=y*y0;
printf("\n t0 = %.12lf",t0);
tn=tn+h;
t0=tn;
inde=sin(ind*t0);
getch();
}
getch();
}
MTODO DE EULER
#include<stdio.h>
#include<conio.h>
#include<math.h>
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
printf("Mtodos Numricos \n");
printf("Solucin numrica de problemas de valor inicial: Mtodo
de Euler \n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n \n");
}
}
if (f==3)
{
printf("Escriba el valor que acompaa a t: ");
scanf("%lf",&ind);
inde=cos(ind*t0);
while (tn<t)
{
printf("\n\n inde = %.12lf",inde);
printf("\n y = %.12lf",y);
yn=y0+h*(inde+y);
printf("\n yn = %.12lf",yn);
y0=yn;
y=y*y0;
printf("\n t0 = %.12lf",t0);
tn=tn+h;
t0=tn;
inde=cos(ind*t0);
getch();
}
void main()
{
clrscr();
cabecera();
double y,yi,inde,ind;
double yn,t,y0,t0,tn;
double h,eval;
int f;
}
printf("\n Tipo funcin: dy/dt = f(t,y)");
printf("\n\nEscriba el valor del y inicial: ");
scanf("%lf",&y0);
printf("Escriba el valor del t inicial: ");
scanf("%lf",&t0);
tn=t0;
printf("Escriba el valor de h: ");
scanf("%lf",&h);
printf("Escriba el valor del t a evaluar: ");
scanf("%lf",&t);
printf("Escriba el valor que acompaa a y: ");
scanf("%lf",&yi);
y=yi*y0;
printf("Si el trmino independiente es exponencial (1), seno
(2), coseno (3), tangente (4): ");
scanf("%d",&f);
if (f==4)
{
printf("Escriba el valor que acompaa a t: ");
scanf("%lf",&ind);
inde=tan(ind*t0);
while (tn<t)
{
printf("\n\n inde = %.12lf",inde);
printf("\n y = %.12lf",y);
yn=y0+h*(inde+y);
printf("\n yn = %.12lf",yn);
y0=yn;
y=y*y0;
printf("\n t0 = %.12lf",t0);
tn=tn+h;
t0=tn;
inde=tan(ind*t0);
getch();
}
if (f==1)
{
printf("Escriba el valor que acompaa a t: ");
scanf("%lf",&ind);
inde=exp(ind*t0);
}
while (tn<t)
{
printf("\n\n inde = %.12lf",inde);
printf("\n y = %.12lf",y);
14
printf("\n x2 = %.12lf",x2);
printf("\n t0 = %.12lf",t0);
tn=tn+h;
t0=tn;
getch();
}
getch();
}
EULER PARA SISTEMAS
#include<stdio.h>
#include<conio.h>
#include<math.h>
getch();
}
MTODO DE EULER MEJORADO
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
printf("Mtodos Numricos \n");
printf("Solucin numrica de sistemas con valor inicial: Mtodo
de Euler \n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n \n");
}
#include<stdio.h>
#include<conio.h>
#include<math.h>
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
printf("Mtodos Numricos \n");
printf("Solucin numrica de problemas de valor inicial: Mtodo
de Euler-mejorado \n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n \n");
}
void main()
{
clrscr();
cabecera();
double y1,cy1,y2,cy2;
double x1,cx1,x2,cx2;
double yn,t,y0,t0,tn;
double xn,x0;
double h,eval;
void main()
{
clrscr();
cabecera();
double yi,y,inde,ind;
double yn,t,y0,t0,tn;
double k1,k2,u1;
double h,eval;
int f;
while (tn<t)
{
printf("\n\n y1 = %.12lf",y1);
printf("\n x1 = %.12lf",x1);
printf("\n y2 = %.12lf",y2);
printf("\n x2 = %.12lf",x2);
yn=y0+h*(y1+x1);
printf("\n yn = %.12lf",yn);
xn=x0+h*(y2+x2);
printf("\n xn = %.12lf",xn);
y0=yn;
x0=xn;
y1=cy1*y0;
x1=cx1*x0;
printf("\n y1 = %.12lf",y1);
printf("\n x1 = %.12lf",x1);
y2=cy2*y0;
x2=cx2*x0;
printf("\n y2 = %.12lf",y2);
15
getch();
}
inde=tan(ind*t0);
printf("\n inde = %.12lf",inde);
k2=inde+yi*u1;
printf("\n k2 = %.12lf",k2);
yn=y0+0.5*h*(k1+k2);
y0=yn;
y=yi*y0;
printf("\n yn = %.12lf",yn);
getch();
}
}
if (f==2)
{
printf("Escriba el valor que acompaa a t: ");
scanf("%lf",&ind);
inde=sin(ind*t0);
}
while (tn<t)
{
printf("\n\n inde = %.12lf",inde);
printf("\n y = %.12lf",y);
k1=inde+y;
printf("\n k1 = %.12lf",k1);
u1=y0+h*k1;
printf("\n u1 = %.12lf",u1);
printf("\n y0 = %.12lf",y0);
printf("\n t0 = %.12lf",t0);
tn=tn+h;
t0=tn;
inde=sin(ind*t0);
printf("\n inde = %.12lf",inde);
k2=inde+yi*u1;
printf("\n k2 = %.12lf",k2);
yn=y0+0.5*h*(k1+k2);
y0=yn;
y=yi*y0;
printf("\n yn = %.12lf",yn);
getch();
}
}
if (f==3)
{
printf("Escriba el valor que acompaa a t: ");
scanf("%lf",&ind);
inde=cos(ind*t0);
while (tn<t)
{
printf("\n\n inde = %.12lf",inde);
printf("\n y = %.12lf",y);
k1=inde+y;
printf("\n k1 = %.12lf",k1);
u1=y0+h*k1;
printf("\n u1 = %.12lf",u1);
printf("\n y0 = %.12lf",y0);
printf("\n t0 = %.12lf",t0);
tn=tn+h;
t0=tn;
inde=cos(ind*t0);
printf("\n inde = %.12lf",inde);
k2=inde+yi*u1;
printf("\n k2 = %.12lf",k2);
yn=y0+0.5*h*(k1+k2);
y0=yn;
y=yi*y0;
printf("\n yn = %.12lf",yn);
getch();
}
void main()
{
clrscr();
cabecera();
double y1,cy1,y2,cy2,F1,F2;
double x1,cx1,x2,cx2,G1,G2;
double yn,yn1,t,y0,t0,tn;
double xn,xn1,x0;
double h;
printf("\n Tipo funcin: y' = f(t,x,y)");
printf("\n
x' = f(t,x,y)");
printf("\n Escriba el valor del y inicial: ");
scanf("%lf",&y0);
printf("Escriba el valor del x inicial: ");
scanf("%lf",&x0);
printf("Escriba el valor del t inicial: ");
scanf("%lf",&t0);
tn=t0;
printf("Escriba el valor de h: ");
scanf("%lf",&h);
printf("Escriba el valor del t a evaluar: ");
scanf("%lf",&t);
printf("Escriba el valor que acompaa a y en la primera ecuaci
n: ");
scanf("%lf",&cy1);
y1=cy1*y0;
printf("Escriba el valor que acompaa a x en la primera ecuaci
n: ");
scanf("%lf",&cx1);
x1=cx1*x0;
printf("Escriba el valor que acompaa a y en la segunda
ecuacin: ");
scanf("%lf",&cy2);
y2=cy2*y0;
printf("Escriba el valor que acompaa a x en la segunda
ecuacin: ");
scanf("%lf",&cx2);
x2=cx2*x0;
}
if (f==4)
{
printf("Escriba el valor que acompaa a t: ");
scanf("%lf",&ind);
inde=tan(ind*t0);
while (tn<t)
{
printf("\n\n inde = %.12lf",inde);
printf("\n y = %.12lf",y);
k1=inde+y;
printf("\n k1 = %.12lf",k1);
u1=y0+h*k1;
printf("\n u1 = %.12lf",u1);
printf("\n y0 = %.12lf",y0);
printf("\n t0 = %.12lf",t0);
tn=tn+h;
t0=tn;
while (tn<t)
{
printf("\n\n y1 = %.12lf",y1);
16
printf("\n x1 = %.12lf",x1);
printf("\n y2 = %.12lf",y2);
printf("\n x2 = %.12lf",x2);
y1=yi*y0;
printf("Si el trmino independiente es exponencial (1), seno
(2), coseno (3), tangente (4): ");
scanf("%d",&f);
F1=x1+y1;
printf("\n F1 = %.12lf",F1);
G1=x2+y2;
printf("\n G1 = %.12lf",G1);
if (f==1)
{
printf("Escriba el valor que acompaa a t: ");
scanf("%lf",&ind);
inde1=exp(ind*t0);
inde2=exp(ind*(t0+0.5*h));
yn1=y0+h*F1;
printf("\n yn1 = %.12lf",yn1);
xn1=x0+h*G1;
printf("\n xn1 = %.12lf",xn1);
while (tn<t)
{
printf("\n\n inde1 = %.12lf",inde1);
printf("\n y1 = %.12lf",y1);
k1=inde1+y1;
printf("\n k1 = %.12lf",k1);
y2=yi*(y0+0.5*h*k1);
k2=inde2+y2;
printf("\n k2 = %.12lf",k2);
y3=yi*(y0+0.5*h*k2);
k3=inde2+y3;
printf("\n k3 = %.12lf",k3);
tn=tn+h;
t0=tn;
inde1=exp(ind*t0);
inde2=exp(ind*(t0+0.5*h));
printf("\n inde1 = %.12lf",inde1);
printf("\n inde2 = %.12lf",inde2);
y4=yi*(y0+h*k3);
k4=inde1+y4;
printf("\n k4 = %.12lf",k4);
yn=y0+(0.166666666667)*h*(k1+2*k2+2*k3+k4);
y0=yn;
y1=yi*y0;
printf("\n yn = %.12lf",yn);
getch();
}
F2=cx1*xn1+cy1*yn1;
printf("\n F2 = %.12lf",F2);
G2=cx2*xn1+cy2*yn1;
printf("\n G2 = %.12lf",G2);
yn=y0+0.5*h*(F1+F2);
printf("\n yn = %.12lf",yn);
xn=x0+0.5*h*(G1+G2);
printf("\n xn = %.12lf",xn);
y0=yn;
x0=xn;
y1=cy1*y0;
x1=cx1*x0;
printf("\n y1 = %.12lf",y1);
printf("\n x1 = %.12lf",x1);
y2=cy2*y0;
x2=cx2*x0;
printf("\n y2 = %.12lf",y2);
printf("\n x2 = %.12lf",x2);
printf("\n t0 = %.12lf",t0);
tn=tn+h;
t0=tn;
getch();
}
getch();
}
}
MTODO DE RUNGE-KUTTA
if (f==2)
{
printf("Escriba el valor que acompaa a t: ");
scanf("%lf",&ind);
inde1=sin(ind*t0);
#include<stdio.h>
#include<conio.h>
#include<math.h>
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
printf("Mtodos Numricos \n");
printf("Solucin numrica de problemas de valor inicial: Mtodo
de Runge-Kutta \n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n \n");
}
while (tn<t)
{
printf("\n\n inde1 = %.12lf",inde1);
printf("\n y1 = %.12lf",y1);
k1=inde1+y1;
printf("\n k1 = %.12lf",k1);
y2=yi*(y0+0.5*k1);
k2=inde2+y2;
printf("\n k2 = %.12lf",k2);
y3=yi*(y0+0.5*k2);
k3=inde2+y3;
printf("\n k3 = %.12lf",k3);
tn=tn+h;
t0=tn;
inde1=exp(ind*t0);
inde2=exp(ind*t0+1/2*t0);
printf("\n inde1 = %.12lf",inde1);
printf("\n inde2 = %.12lf",inde2);
y4=yi*(y0+h*k3);
k4=inde1+y4;
printf("\n k4 = %.12lf",k4);
yn=y0+(1/6)*h*(k1+k2+k3+k4);
y0=yn;
y1=yi*y0;
printf("\n yn = %.12lf",yn);
getch();
}
void main()
{
clrscr();
cabecera();
double yi,y1,y2,y3,y4,inde1,inde2,ind;
double yn,t,y0,t0,tn;
double k1,k2,k3,k4;
double h,eval;
int f;
printf("\n Tipo funcin: dy/dt = f(t,y)");
printf("\n\nEscriba el valor del y inicial: ");
scanf("%lf",&y0);
printf("Escriba el valor del t inicial: ");
scanf("%lf",&t0);
tn=t0;
printf("Escriba el valor de h: ");
scanf("%lf",&h);
printf("Escriba el valor del t a evaluar: ");
scanf("%lf",&t);
printf("Escriba el valor que acompaa a y: ");
scanf("%lf",&yi);
}
if (f==3)
{
printf("Escriba el valor que acompaa a t: ");
scanf("%lf",&ind);
inde1=cos(ind*t0);
while (tn<t)
17
{
printf("\n\n inde1 = %.12lf",inde1);
printf("\n y1 = %.12lf",y1);
k1=inde1+y1;
printf("\n k1 = %.12lf",k1);
y2=yi*(y0+0.5*k1);
k2=inde2+y2;
printf("\n k2 = %.12lf",k2);
y3=yi*(y0+0.5*k2);
k3=inde2+y3;
printf("\n k3 = %.12lf",k3);
tn=tn+h;
t0=tn;
inde1=exp(ind*t0);
inde2=exp(ind*t0+1/2*t0);
printf("\n inde1 = %.12lf",inde1);
printf("\n inde2 = %.12lf",inde2);
y4=yi*(y0+h*k3);
k4=inde1+y4;
printf("\n k4 = %.12lf",k4);
yn=y0+(1/6)*h*(k1+k2+k3+k4);
y0=yn;
y1=yi*y0;
printf("\n yn = %.12lf",yn);
getch();
}
printf("1.087.990.043 \n");
printf("Ingeniera Elctrica \n");
printf("Cuarto semestre \n");
printf("Mtodos Numricos \n");
printf("Solucin numrica de sistemas con valor inicial: Mtodo
de Runge-Kutta \n");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \n \n");
}
void main()
{
clrscr();
cabecera();
double y1,cy1,y2,cy2,F1,F2,F3,F4;
double x1,cx1,x2,cx2,G1,G2,G3,G4;
double yn,t,y0,t0,tn;
double xn,x0;
double h;
printf("\n Tipo funcin: y' = f(t,x,y)");
printf("\n
x' = f(t,x,y)");
printf("\n Escriba el valor del y inicial: ");
scanf("%lf",&y0);
printf("Escriba el valor del x inicial: ");
scanf("%lf",&x0);
printf("Escriba el valor del t inicial: ");
scanf("%lf",&t0);
tn=t0;
printf("Escriba el valor de h: ");
scanf("%lf",&h);
printf("Escriba el valor del t a evaluar: ");
scanf("%lf",&t);
printf("Escriba el valor que acompaa a y en la primera ecuaci
n: ");
scanf("%lf",&cy1);
y1=cy1*y0;
printf("Escriba el valor que acompaa a x en la primera ecuaci
n: ");
scanf("%lf",&cx1);
x1=cx1*x0;
printf("Escriba el valor que acompaa a y en la segunda
ecuacin: ");
scanf("%lf",&cy2);
y2=cy2*y0;
printf("Escriba el valor que acompaa a x en la segunda
ecuacin: ");
scanf("%lf",&cx2);
x2=cx2*x0;
}
if (f==4)
{
printf("Escriba el valor que acompaa a t: ");
scanf("%lf",&ind);
inde1=tan(ind*t0);
while (tn<t)
{
printf("\n\n inde1 = %.12lf",inde1);
printf("\n y = %.12lf",y1);
k1=inde1+y1;
printf("\n k1 = %.12lf",k1);
y2=yi*(y0+0.5*k1);
k2=inde2+y2;
printf("\n k2 = %.12lf",k2);
y3=yi*(y0+0.5*k2);
k3=inde2+y3;
printf("\n k3 = %.12lf",k3);
tn=tn+h;
t0=tn;
inde1=exp(ind*t0);
inde2=exp(ind*t0+1/2*t0);
printf("\n inde1 = %.12lf",inde1);
printf("\n inde2 = %.12lf",inde2);
y4=yi*(y0+h*k3);
k4=inde1+y4;
printf("\n k4 = %.12lf",k4);
yn=y0+(1/6)*h*(k1+k2+k3+k4);
y0=yn;
y1=yi*y0;
printf("\n yn = %.12lf",yn);
getch();
}
while (tn<t)
{
printf("\n\n y1 = %.12lf",y1);
printf("\n x1 = %.12lf",x1);
printf("\n y2 = %.12lf",y2);
printf("\n x2 = %.12lf",x2);
F1=x1+y1;
printf("\n F1 = %.12lf",F1);
G1=x2+y2;
printf("\n G1 = %.12lf",G1);
F2=cx1*(x0+0.5*h*G1)+cy1*(y0+0.5*h*F1);
printf("\n F2 = %.12lf",F2);
G2=cx2*(x0+0.5*h*G1)+cy2*(y0+0.5*h*F1);
printf("\n G2 = %.12lf",G2);
}
if (f!=1 && f!=2 && f!=3 && f!= 4)
{
printf("\n\n Funcin no aceptada");
tn=tn+h;
}
F3=cx1*(x0+0.5*h*G2)+cy1*(y0+0.5*h*F2);
printf("\n F3 = %.12lf",F3);
G3=cx2*(x0+0.5*h*G2)+cy2*(y0+0.5*h*F2);
printf("\n G3 = %.12lf",G3);
getch();
}
F4=cx1*(x0+h*G3)+cy1*(y0+h*F3);
printf("\n F4 = %.12lf",F4);
G4=cx2*(x0+h*G3)+cy2*(y0+h*F3);
printf("\n G4 = %.12lf",G4);
yn=y0+0.166666666667*h*(F1+2*F2+2*F3+F4);
printf("\n yn = %.12lf",yn);
xn=x0+0.166666666667*h*(G1+2*G2+2*G3+G4);
printf("\n xn = %.12lf",xn);
y0=yn;
x0=xn;
y1=cy1*y0;
x1=cx1*x0;
printf("\n y1 = %.12lf",y1);
void cabecera(void)
{
printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("Juan Sebasti n Hurtado Jaramillo \n");
printf("1.087.992.226 \n");
printf("Johny Andrs Lpez Londoo \n");
18
printf("\n x1 = %.12lf",x1);
y2=cy2*y0;
x2=cx2*x0;
printf("\n y2 = %.12lf",y2);
printf("\n x2 = %.12lf",x2);
printf("\n t0 = %.12lf",t0);
tn=tn+h;
t0=tn;
getch();
}
getch();
}
19