Programas metodos numericos
-
Upload
william-sanchez -
Category
Engineering
-
view
67 -
download
1
Transcript of Programas metodos numericos
PROGRAMAS METODOS NUMERICOS
MILTON ANDRES MORENO IGUAVITA
COD: 201110742
ING: OSWALDO ECHEVERRIA
UNIVERSIDAD PEDAGOGICA Y TECNILOGICA DE COLOMBIA
DUITAMA, BOYACA
2015
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
θ
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);
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.
Obtención del intervalo por método de tanteo.
Obtención de la raíz por medio del método 2do orden de Newton.
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
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;
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();
}
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
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;
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();
}
PRUEBA DE ESCRITORIO.
Ingreso de los datos a programa.
Obtención de resultados.