Programas metodos numericos

12
PROGRAMAS METODOS NUMERICOS MILTON ANDRES MORENO IGUAVITA COD: 201110742 ING: OSWALDO ECHEVERRIA UNIVERSIDAD PEDAGOGICA Y TECNILOGICA DE COLOMBIA DUITAMA, BOYACA 2015

Transcript of Programas metodos numericos

Page 1: Programas metodos numericos

PROGRAMAS METODOS NUMERICOS

MILTON ANDRES MORENO IGUAVITA

COD: 201110742

ING: OSWALDO ECHEVERRIA

UNIVERSIDAD PEDAGOGICA Y TECNILOGICA DE COLOMBIA

DUITAMA, BOYACA

2015

Page 2: Programas metodos numericos

1. Un tronco de madera de densidad relativa 0,425, diámetro de 2,4 m y longitud

de 4,5 m se pone en agua dulce. Determinar la profundidad h.

CODIFICACIÓN EN C++.

#include<stdio.h>

#include<math.h>

#include <windows.h>

#include<conio2.h>

float to,a,t,d,dte,e,x,Tn,z,y,s,h, pi=3.1415926;

int n=6;

main()

{

gotoxy(11,2);printf("EJERCICIO FOTABILIDAD, METODOS TANTEO Y

2do ORDEN DE NEWTON ");

printf("\n\nDigite el diametro del cilindro en metros: ");

scanf("%f",&d);

printf("Digite angulo inicial para teta: ");

scanf("%f",&to);

printf("Defina el aumento en el angulo: ");

scanf("%f", &dte);

printf("Digite el número de cifras exactas: ");

scanf("%f",&e);

system("cls");

gotoxy(11,2);printf("EJERCICIO FLOTABILIDAD, METODOS TANTEO Y

2do ORDEN DE NEWTON ");

gotoxy(27,4);printf("Metodo Tanteo");

gotoxy(2,5);printf("Teta");

h

θ

Page 3: Programas metodos numericos

gotoxy(13,5);printf("f(T)");

t=to;

do

{

a=(t*pi)/180;

y=a-0.5*(sin(2*a))-0.425*pi;

n=n+1;

gotoxy(3,n);printf("%.0f", t);

gotoxy(11,n);printf("%f", y);

if(y<0)

{

t=t+dte;

}

}

while(y<0);

t=t-dte;

n=n+2;

gotoxy(27,n);printf("Metodo 2do orden de Newton");

n=n+2;

gotoxy(4,n);printf("Teta");

gotoxy(16,n);printf("f(t)");

gotoxy(26,n);printf("f'(t)");

gotoxy(35,n);printf("f''(t)");

gotoxy(47,n);printf("TN");

gotoxy(55,n);printf("|TN-t|<=%.4f",e);

n=n+1;

do

{

a=(t*pi)/180;

y=a-0.5*(sin(2*a))-0.425*pi;

x=(pi/180)-cos(2*a);

z=2*sin(2*a);

Tn=t-((2*y*x)/(2*(x*x)-y*z));

s=Tn-t;

s=s*s;

s=sqrt(s);

n=n+1;

gotoxy(2,n);printf("%f",t);

gotoxy(13,n);printf("%f",y);

Page 4: Programas metodos numericos

gotoxy(24,n);printf("%f",x);

gotoxy(34,n);printf("%f",z);

gotoxy(45,n);printf("%f",Tn);

gotoxy(57,n);printf("%.5f",s);

if(s>=e);

{

t=Tn;

}

}

while(s>=e);

n=n+2;

gotoxy(2,n);printf("angulo formado por el radio y la superficie del fuido: %.4f

grados",Tn);

Tn=Tn*pi/180;

h=(d/2)*(1-cos(Tn));

printf("\n profundidad del tanque: %.4f metros",h);

getch();

}

PRUEBA DE ESCRITORIO

Ingreso de datos al programa.

Page 5: Programas metodos numericos

Obtención del intervalo por método de tanteo.

Obtención de la raíz por medio del método 2do orden de Newton.

Page 6: Programas metodos numericos

La obtención de la raíz por este método fue muy largo por lo que se decide

mostrar el comienzo y el final de la tabla.

2. Se lanza un proyectil del origen con una velocidad inicial Vo, formando un ángulo

de 60º con la horizontal, si se asume que la resistencia de aire es proporcional a la

velocidad, determinar el alcance del proyectil.

60º

x

y

Page 7: Programas metodos numericos

CODIFICACION EN C++

#include<stdio.h>

#include<math.h>

#include <windows.h>

#include<conio2.h>

float to,dt,t,e,x,Tn,X,y,s,D;

int n=6;

main()

{

gotoxy(13,2);printf("DESARROLLO EJERCICIO PROYECTIL,

METODOS TANTEO Y NEWTON RAPHSON");

printf("\n\nDigite valor inicial para t: ");

scanf("%f",&to);

printf("Digite el incremeto en t: ");

scanf("%f",&dt);

printf("Digite el número de cifras exactas: ");

scanf("%f",&e);

system("cls");

gotoxy(13,2);printf("DESARROLLO EJERCICIO PROYECTIL,

METODOS TANTEO Y NEWTON RAPHSON");

gotoxy(27,4);printf("Metodo Tanteo");

gotoxy(2,5);printf("T");

gotoxy(10,5);printf("f(t)");

t=to;

do

{

y=(-.1*t);

x=2019.23*(1-exp(y))-98*t;

n=n+1;

gotoxy(2,n);printf("%.0f", t);

gotoxy(10,n);printf("%.0f", x);

if(x>=0)

{

t=t+dt;

}

}

while(x>=0);

t=t-dt;

Page 8: Programas metodos numericos

n=n+2;

gotoxy(27,n);printf("Metodo Newton Raphson");

n=n+2;

gotoxy(5,n);printf("T");

gotoxy(16,n);printf("f(t)");

gotoxy(26,n);printf("f'(t)");

gotoxy(37,n);printf("TN");

gotoxy(45,n);printf("|TN-t|<=%.4f",e);

n=n+1;

do

{

y=(-.1*t);

x=2019.23*(1-exp(y))-98*t;

X=201.923*exp(y)-98;

Tn=t-(x/X);

s=Tn-t;

s=s*s;

s=sqrt(s);

n=n+1;

gotoxy(2,n);printf("%f",t);

gotoxy(13,n);printf("%f",x);

gotoxy(24,n);printf("%f",X);

gotoxy(35,n);printf("%f",Tn);

gotoxy(49,n);printf("%.5f",s);

if(s>=e);

{

t=Tn;

}

}

while(s>=e);

n=n+2;

gotoxy(2,n);printf("tiempo de vuelo del proyectil: %.4f seg",Tn);

D=600*(1-exp(-.1*Tn));

n=n+1;

gotoxy(2,n);printf("distancia alcanzada por el proyectil: %.4f metros",D);

getch();

}

Page 9: Programas metodos numericos

PRUEBA DE ESCRITORIO.

Ingreso de datos al programa.

Aislamiento de la raíz por medio del método de tanteo.

Obtención de la raíz por medio del método newton raphson.

3. para el mecanismo de 4 barras dado θa, hallar el anguo de salida φ, para una

revolucion completa.

Con a=1 in, b=c=d=2 in.

θ φ

d

c

b

a

Page 10: Programas metodos numericos

CODIFICACION EN C++.

#include <stdio.h>

#include<conio2.h>

#include <windows.h>

#include <math.h>

float l1,l2,l3,l4,teta1,y,teta2,dte,phirad,phi,teta,e;

float tetarad,phi1,PHI,x,X,s,C, pi=3.1415926,k1,k2,k3;

int n=4;

main()

{

printf("\nPara el mecanismo de 4 barras dado teta, hallar angulo de salida phi

si\n");

printf("teta varia de 0 a 360 grados con incrementos de 5 grados\n");

printf("\nDijite La longuitud de A: ");

scanf("%f", &l1);

printf("\nDijite La longuitud de B: ");

scanf("%f", &l2);

printf("\nDijite La longuitud de c: ");

scanf("%f", &l3);

printf("\nDijite La longuitud de D: ");

scanf("%f", &l4);

printf("\nDigite un valor inicial para phi: ");

scanf("%f",&phi1);

printf("\n\nDijite el valor inicial del angulo teta: ");

scanf("%f", &teta1);

printf("\nDijite el valor final del angulo teta: ");

scanf("%f", &teta2);

printf("\nDefina el aumento en el angulo: ");

scanf("%f", &dte);

printf("\nDigite el número de cifras exactas: ");

scanf("%f",&e);

system("cls");

gotoxy(34,1);printf("MECANISMO");

gotoxy(1,3);printf("TETA(grados)");

gotoxy(17,3);printf("PHI(grados)");

k1=l4/l3;

k2=l4/l1;

Page 11: Programas metodos numericos

k3=((l2*l2)-(l4*l4)-(l3*l3)-(l1*l1))/(2*l3*l1);

teta=teta1;

phi=phi1;

phirad=(phi*pi)/180;

do

{

do

{

tetarad=(teta*pi)/180;

y=k1*cos(tetarad)-k2*cos(phirad)-k3-cos(tetarad-phirad);

x=k2*sin(phirad)-sin(tetarad-phirad);

C=y/x;

PHI=phirad-C;

s=PHI-phirad;

s=s*s;

s=sqrt(s);

if(s>=e)

{

phirad=PHI;

}

else

{

PHI=(PHI*180)/pi;

n=n+1;

gotoxy(2,n);printf("%.0f",teta);

gotoxy(18,n);printf("%.2f",PHI);

teta=teta+dte;

}

}

while(s>=e);

}

while(teta<=teta2);

getch();

}

Page 12: Programas metodos numericos

PRUEBA DE ESCRITORIO.

Ingreso de los datos a programa.

Obtención de resultados.