Вы находитесь на странице: 1из 27

PROGRAMACIN ESTRUCTURADA Y MTODOS NUMRICOS (RACES Y AJUSTE DE CURVAS)

MILTON ALEJANDRO RENDON ALVAREZ (CC: 1036648405) MANUEL ALEJANDRO ECHEVERRI MRQUEZ (CC: 1017209898)

Profesor: FELIPE ANDRS OBANDO VEGA

UNIVERSIDAD DE ANTIOQUIA MEDELLN

21 de octubre de 2013

Introduccin. El siguiente trabajo presenta la solucin de cuatro problemas aplicados de la ingeniera que recurren a los mtodos numricos como un medio de solucin eficiente y ptima. En este caso la solucin de los problemas se basa en las races de funciones y el ajuste de curvas. Los problemas abordados son ejercicios aplicados en la ingeniera que debido a la complejidad de su solucin se implementan mtodos numricos que puedan dar una solucin aproximada pero que sea vlida para los clculos de ingeniera. Para la implementacin de dichos mtodos se utiliza la programacin estructurada como principal herramienta de clculo iterativo. Para esto se debe de implementar los conocimientos bsicos adquiridos y se debe de realizar una representacin e implementacin practica de cada algoritmo. La evaluacin de los mtodos y su implementacin se realiza mediante indicadores estadsticos y computacionales, los cuales indican si el mtodo es adecuado y preciso para el problema a solucionar y su viabilidad a la hora de implementarse en algoritmos complejos, respectivamente.

Objetivos

Objetivo general: utilizar la programacin estructurada y las aproximaciones por mtodos numricos como herramientas para la solucin de problemas que se presentan con frecuencia en la ingeniera aplicada. En este caso en la solucin de ecuaciones y la explicacin mas general de un fenmeno determinado, utilizando unos cuantos valores observados en este.

Objetivos especficos:

1. Comparar cada uno de los diferentes mtodos utilizados en solucin de un problema determinado, cual es su comportamiento, ventajas y desventajas y cuales de ellos representan en mayor medida un fenmeno u objeto de estudio.

2. Observar en los resultados obtenidos, cual de los mtodos nos proporciona mayor precisin en las estimaciones, cual requiere mayores recursos para su solucin y cuales son los parmetros que nos dan la confianza para la implementacin del mtodo.

1. Se mide la temperatura en varios puntos de una placa calentada. Implemente un algoritmo en Matlab que permita estimar mediante regresin o interpolacin la temperatura de la placa en cualquier valor de x y y dentro del rango dado en el cuadro 1, grafique los datos. 1.1 Solucin. Para la resolucin se propone un modelo de regresin lineal mltiple que permita obtener una expresin matemtica que ilustre el comportamiento general de los datos. El mtodo que se implementara ser el de regresin lineal mltiple de mnimos cuadrados. Este ltimo permite realizar una aproximacin relativamente significativa con un costo computacional accesible. El mtodo implementado tiene como finalidad obtener una expresin que represente matemticamente el comportamiento de un fenmeno real, y la estructura de dicha expresin es la siguiente:

La solucin del problema se resume en la consecucin de los parmetros constantes a0 y a1. Para esto se adapt el algoritmo sugerido por Chapra 1 para la solucin de este corte de problemas.

DOFOR i _ 1, order _ 1 DOFOR j _ 1, i sum _ 0 DOFOR _ _ 1, n sum _ sum _ xi_1,_ _ xj_1,_ END DO ai,j _ sum aj,i _ sum END DO sum _ 0 DOFOR _ _ 1, n sum _ sum _ y_ _ xi_1,_ END DO ai,order_2 _ sum END DO

CHAPRA, Steven C.; CANALE, Raymond. Numerical methods for engineers . McGraw -Hill, Inc., 2005.

1.1.1 Re s ultados El algoritmo resultante realiza una organizacin de los datos ptima para su resolucin y mediante clculos bsicos matriciales se logran obtener los coeficientes constantes de la regresin lineal. La ecuacin resultante luego de ejecutar el algoritmo es la siguiente:

Adems el algoritmo calcula los ndices estadsticos r y r^2 que brindan una valiosa informacin para determinar la confiabilidad que se puede tener del modelo matemtica generado. Estos valores para este caso especfico son:

Por ltimo el algoritmo genera una grfica en 3D que permite visualizar de una manera ms clara los resultados obtenidos al aplicar la regresin lineal del modelo. El grafico 1 ilustra el comportamiento de la ecuacin 1 e igualmente ilustra la grfica de nube de puntos de los datos suministrados por el enunciado.

100 90 80 70

T(C)

60 50 40 30 20

Grafico1. Comportamiento de la ecuacin1 y distribucin real de los datos.

1.1.2 Anlis is Los resultados obtenidos corresponden a un modelo matemtico que representa de buena manera la tendencia que maneja la Temperatura en la placa. Esta tesis se comprueba mediante los ndices estadsticos r y r2 que ambos son muy similares y tienden a uno. Esto indica que aproximadamente el 90% de la placa se ve representado mediante la expresin matemtica obtenida por la regresin mltiple. La comprobacin del algoritmo se realiz mediante la herramienta computacional Matlab, mediante la cual se corri el algoritmo y se realiz una comprobacin mediante las herramientas estadsticas entregadas por el programa. Los resultados obtenidos para la comprobacin del modelo fueron los siguientes:

Se puede observar como los valores de los coeficientes coinciden con los del modelo, al igual que el indicador estadstico r. Esto brinda ms argumentos para la confiabilidad de la regresin lineal obtenida.

Grafico 2. Informacin de los residuales.

La herramienta Matlab igualmente nos brinda la informacin de los residuales del sistema. Este indicador estadstico evala cuanta informacin no est contenida dentro del modelo y en que magnitud. En la grfica se puede observar que pese a que los residuales son un nmero considerable, su magnitud no es tan alta para descartar el modelo. Por ltimo, para terminar de comprobar la calidad del algoritmo desarrollado, se evala el tiempo computacional invertido para implementar el algoritmo.

En la tabla se evidencia que el tiempo total de cmputo para el algoritmo P1 es de 0.425s. Pese a que el tiempo computacional es bastante alto, se puede evidenciar que las tres funciones que ms tiempo computacional requirieron (mesh, newplot y scatter3), son funciones de tipo grafico que por lo general no son funciones que se repitan mucho a la hora de realizar una implementacin del algoritmo en un problema real.

1.2.3 Conclus in. El algoritmo implementado para encontrar una regresin lineal de la temperatura de una placa en funcin de sus coordenadas X y Y, cumple la tarea de manera ptima y satisfactoria, cumpliendo con los rangos estadsticos de los diferentes indicadores y realizando el procedimiento en un tiempo computacional razonable considerando la descripcin grafica que entrega el algoritmo.

Anexo 1.
Pseudocdigo. SubProceso S<-sum (C) Para i<-1 Hasta 25 Hacer S<-S+C(i) FinPara FinSubProceso Proceso Punto_Uno DimenSion C(25,3),X(5),T(25),Ye(5),X2(25),Y2(25),R(25),R1(25),R2(25),H(9),S(3),j(25) h(25) SumX,SumY,SumX2,SumY2,SumXY,SumT,SumXT,SumYT,J,Q X=[0,2,4,6,8] Y[0,2,4,6,8] T(100,90,80,70,60;85,64.49,53.50,48.15,50;70,48.90,38.43,35.03,40;55,38.78,3 0.39,27.07,30;40,35,30,25,20) Para a<-1 Hasta 25 Con Paso 5 Hacer Para i<-a Hasta a+4 Hacer C(i,1)<-(((a-1)*2/5)) FinPara FinPara Para b<-1 Hasta 25 Con Paso 5 Hacer C(b:b+4,2)=X FinPara Para q<-1 Hasta 25 Con Paso 25 Hacer Para n<-q Hasta q+4 Hacer C(q:q+4,3)<-(T(15)) FinPara FinPara SumX<-sum(C(:,1)) SumY<-sum(C(:,1)) Para i<-1 Hasta 25 Hacer X2(i)<-((C(i,1))^2) Y2(i)<-((C(i,2))^2) FinPara SumX2<-sum(X2) SumY2<-sum(Y2) Para i<-1 Hasta 25 Hacer R(i)<-(C(i,1)*C(i,2)) FinPara SumXY<-sum(R) SumT<-sum(C(:,3)) Para i<-1 Hasta 25 Hacer R1(i)<-(C(i,1)*C(i,3)) FinPara SumXT<-sum(R1)

Para i<-1 Hasta 25 Hacer R2(i)<-(C(i,2)*C(i,3)) FinPara SumYT<-sum(R2) n<-25 H(n,SumX,SumY;SumX,SumX2,SumXY;SumY,SumXY,SumY2) D(SumT,SumXT,SumYT) S=D/A a0<-S(1) a1<-S(2) a2<-S(3) tm<-SumT/25 Para i<-1 Hasta 25 Hacer h(i)<-((C(i,3)-a0-a1*C(i,1)-a2*C(i,2))^2) j(i)<-((C(i,3)-tm)^2) FinPara H<-sum(h) J<-sum(j) r2<-(J-H)/J r<-rc(r2) Escribir 'La regreSion multiple lineal obtenida es ' Escribir 'T=a0+a1X+a2Y' Escribir 'a0' Escribir a0 Escribir 'a1' Escribir a1 Escribir 'a2' Escribir a2 Escribir 'El indice estadistico r es ' Escribir r Escribir 'El indice estadistico r2 es ' Escribir r2 Graficar FinProceso

2.

La viscosidad dinmica del agua

se relaciona con la temperatura

como se presenta en el cuadro 2. T 0 1.787 5 1.519 10 1.307 20 1.002 30 0.7975 40 0.6529

Cuadro 1. Relacin entre la temperatura T [ C] y la viscosidad dinmica . 2.1 Solucin El siguiente diagrama de dispersin muestra como es el comportamiento general de los datos registrados en el cuadro 1, lo que se pretende conseguir es una curva que permita estimar con un alto grado de confiabilidad los valores intermedios a los datos con los que se cuenta, para ello se utilizaran diferentes mtodos con el fin de observar como son las estimaciones en cada uno de ellos.

Grafico3. Dispersin de los datos. 2.1.1 Ajuste de los datos por el mtodo de regresin polinomial. El mtodo consiste en hallar un polinomio de la forma en este caso se pide que se estime un polinomio de grado 2 cuya forma general sera donde e representa el error. El procedimiento para solucionar el problema se reduce a encontrar los valores , los cuales se consiguen solucionando un sistema de ecuaciones simultneas de la forma donde: A: matriz de coeficientes. Z: matriz que se obtiene despus de separa la suma de los residuos o errores cuadrados de la matriz de coeficientes. Y: Matriz que contiene los valores de la viscosidad presentes en el cuadro 2.

Para solucionar el sistema de ecuaciones se utilizo la herramienta de computo matlab y el algoritmo planteado se presenta en el anexo nmero 3 en pseudocdigo. 2.1.2 Resultados Al solucionar la ecuacin mediante la ayuda del programa se encontr que A= [0.0005 -0.0495 1.7672], de manera que el polinomio que mejor predice el comportamiento real de los datos esta dado por:

La confiabilidad del modelo esta dada por los indicadores r y manera por el programa y cuyos valores son:

Obtenidos de igual

Por otro lado el grafico 2 muestra como es el comportamiento de la curva, respecto a la distribucin real de los datos.

Grafico 4. Curva ajustada polinomialmente.

2.1.3 Anlisis. El polinomio de grado 2 que se obtuvo mediante el mtodo de mnimos cuadrados, representa de manera confiable la viscosidad en funcin de la temperatura, para un intervalo de temperaturas de [0,40] C, la precisin o confiabilidad de la estimacin nos la proporciona el valor de pues su valor es muy cercano a la unidad y nos dice que el modelo explica el 99.91% de los valores de la viscosidad.

Anexo 2.

Pseudocdigo. Proceso Punto_2_b // T: vector que almacena los valores de la temperatura. // u: vector que almacena los valores de la viscosidad. // xi= T(i); // yi= u(i); // n= longitud de T. // sum(xi)=sumatoria de los elementos de T. // sum(yi)=sumatoria de los elementos de u. // A= vector que almacena los coeficientes de un polinomio de la forma y=A1x^2+A2x+A3. // Z= (n,sum(xi),sum(xi^2); sum(xi),sum(xi^2),sum(xi^3); sum(xi^2),sum(xi^3),sum(xi^4). // inv_Z: matriz inverza de Z. // Trans_Y: matriz transpuesta de Y. Dimension T=(0,5,10,20,30,40); Dimension u=(1.787,1.519,1.307,1.002,0.7975,0.6529); Dimension Z=(6,105,3025,105,3025,100125,3025,100125,3540625); Dimension y=(7.0654,90.746,2230); A<--(inv_Z*Tras_Y); x<--7.5; //Ai: Elemento A(i) de A. y<--A1*x^2+A2*x+A3; Escribir ' El valor aproximado de la viscosidad ajustado polinomialmente a una 7.5C es:; Escribir 'y'; FinProceso

2.2.1 Ajuste de los datos por el mtodo de regresin lineal. La ecuacin de Andrade ha sido propuesta como modelo del efecto de la temperatura sobre la viscosidad, parmetros. donde Ta es la temperatura absoluta en [ K], D y B son

La solucin de este problema consiste en encontrar una lnea recta que represente de mejor manera el comportamiento de los datos observados. La ecuacin de Andrade es una funcin exponencial, entonces ser necesario modificarla de tal manera que se obtenga la expresin de una lnea recta. Sacando logaritmo natural a ambos lados de la ecuacin, se obtiene:

Que representa una lnea recta a una escala logartmica. En consecuencia la resolucin del problema se reduce a encontrar los valores D y B, para esto se utiliza el mtodo de mnimos cuadrados y se implementa en matlab. El algoritmo implementado se presenta en el anexo 4 en pseudocdigo. 2.2.2 Resultados. Al resolver el problema mediante una regresin lineal de mnimos cuadrados el cual utiliza operaciones aritmticas simples las cuales se implementaron en matlab se obtuvo que los coeficientes D y B son: B= 2148.5 D= 0.00066846 Por lo tanto el modelo de Andrade ajustado con los datos valores obtenidos para B y D esta dado por la expresin.

Los valores de r y 0.9960

El grafico 3 muestra el comportamiento de los datos estimados por regresin lineal de mnimos cuadrado y posteriormente ajustados a la ecuacin de Andrade.

Grafico 5. Datos ajustados a la ecuacin de Andrade. 2.2.3 Anlisis Se puede decir con un alto grado de confiabilidad que la regresin lineal representa adecuadamente el comportamiento de la viscosidad con relacin a la temperatura en un intervalo de [273,313] K, esta afirmacin se puede comprobar con los valores de el error estndar de estimacin ( ), la desviacin estndar ( , y el coeficiente de determinacin ); ya que como se observa ( , y nos muestra que el modelo explica un 99.20% de los valores de la viscosidad.

Anexo 3.
Proceso punto_2_c // n: longitud de // T: vector que almacena los valores de la temperatura. // u: vector que almacena los valores de la viscosidad. // xi=T(i); // yi=u(i) // Modelo De^(B/Ta). // D,B: parametros. // Ta: temperatura absoluta en [k] // ln(u)<--ln(D)+(Bx); donde x=1/Ta // B=(n*sum(xi.*yi)-(sum(xi)*sum(yi)))/(n*sum(xi.^2)-(sum(xi))^2); Dimension T=(0,5,10,20,30,40); dimension u=(1.787,1.519,1.307,1.002,0.7975,0.6529); n<--6; xi<--(xi+273); xi<--1/xi; yi<--ln(yi); B<--2148.5; xi_prom<-- 0.0035; yi_prom<-- 0.1026; D<--exp(yi_prom-B*xi_prom); Ti<--7.5; Ti<--(Ti+273); u<--D*exp(B/Ti); escribir 'c) El valor aproximado de la viscosidad ajustado linealmente por una R.M.C a una T=7.5C es:'; escribir 'u'; FinProceso

2.3.1 Ajuste de los datos por el mtodo de interpolacin de Lagrange. Construir un polinomio de interpolacin de Newton o LaGrange de n orden para interpolar con T = 7,5 C. Probar con polinomios de diferentes grados y analizar los resultados. A diferencia del ajuste de curvas por regresin de mnimos cuadrados, que consiste en encontrar la curva que mejor se ajuste a los datos sin pasar necesariamente por ellos, la interpolacin consiste en encontrar un polinomio nico que se ajuste a los todos los datos con los que se cuenta pasando por cada uno de ellos. El mtodo que se utilizo para resolucin de este problema consiste en un polinomio de interpolacin de LaGrange el cual tiene la siguiente forma. =

La solucin del problema se reduce a realizar las operaciones aritmticas correspondientes al mtodo utilizando los valores proporcionados por el enunciado, para ello se utiliza el programa de computo matlab. El algoritmo utilizado para la resolucin del problema se presenta en l anexo 5. 2.3.2 Resultados. En la resolucin del problema por este mtodo se estimaron polinomios de diferentes grados y se evaluaron en un valor de 7.5 C que es un valor intermedio a dos de las temperaturas que se entregaron en el enunciado; los valores estimados con polinomios de grados n=1 hasta n=5 fueron: Grado polinomi o 1 2 3 4 5 Valor estimado de la viscosidad [ Tiempo de computo [s] 0.001687 0.002426 0.002435 0.00274 0.003184 Error aproximado

1.40677

Cuadro 2. Resultados obtenidos.

2.3.3 Anlisis. En los valores arrojados por el clculo de polinomios de diferente grado para una misma temperatura puede observarse que a mayor nmero de datos interpolados es decir a mayor grado se obtiene una mejor estimacin de los datos, sin embargo el costo para una mejor aproximacin se ve reflejado en un mayor costo computacional. 2.4 Conclusin. Todos los mtodos empleados para ajustar los datos funcionan con un alto grado de confiabilidad, pero segn los resultados obtenidos se puede decir que solo aquellos que adoptan una curvatura explican de mejor manera los datos, en este caso un ajuste polinomial por mnimos cuadrados, y una interpolacin por el mtodo de LaGrange, ya que como se observa la distribucin real de los datos tiene una tendencia exponencial.

Anexo 4
Proceso punto_2_d Ti<--7.5; grado_pol<--b; Leer b; Para n<-1 Hasta b Con Paso 1 Hacer Si n==1 Entonces i<--2; Sino i<--1; FinSi a<--i; val<--0; Para i<-a Hasta a+n Con Paso 1 Hacer li<--1; Para j<- a Hasta a+n Con Paso 1 Hacer Si j<>i Entonces li<--li*((Ti-Tj)/(Ti-Tj)); FinSi FinPara val<--(val+(li*u)); FinPara fn<--val; Escribir 'u de T n es '; Escribir 'f(n)'; FinPara FinProceso

3. La velocidad vertical de un cohete se calcula como

, donde

v=velocidad vertical, u= velocidad con la que se expele el combustible, en relacin con el cohete, m0=masa inicial del cohete en el momento t = 0, q=tasa de consumo de combustible y g=aceleracin de la gravedad. Si u = 2000m/s, m0 = 150000kg, q = 2700kg/s y g = 9,81m/s2, elabore un algoritmo que permita calcular el momento en que le cohete alcanza una velocidad determinada utilizando los mtodos para el clculo de races. Con este algoritmo compare los diferentes resultados al calcular el momento en cual v = 750m/s, tenga tambin en cuanta el nmero de iteraciones requeridos para llegar a la solucin. Suponga como criterio de parada un nmero mximo de iteraciones y un error relativo aproximado mximo igual para todos los mtodos implementados. 3.1 Solucin.

La solucin de este problema consiste en realizar un algoritmo que encuentre el tiempo en el cual el cohete lleva una velocidad determinada, la cual debe de ser ingresada por el usuario, y para poder realizar esto se deben de implementar los 6 diferentes mtodos trabajados los cuales son: 1. Mtodo grfico. 2. Mtodo de la biseccin. 3. Mtodo de la falsa posicin. 4. Mtodo de iteracin simple de punto fijo. 5. Mtodo de Newton Raphson. 6. Mtodo de la secante. Para la resolucin del ejercicio se realiz un algoritmo principal que se encarga de la interaccin con el usuario para la seleccin de los diferentes parmetros de solucin y una serie de funciones que se encargan de solucionar el problema cada una mediante uno de los seis mtodos. Los 6 mtodos se probaron mediante la estimacin del tiempo en el cual el cohete alcanzaba una velocidad de 750 m/s. Para mejorar las condiciones de evaluacin se propuso unos tiempos extremos iguales para todos los mtodos abiertos y el mismo tiempo semilla para los mtodos cerrados. Esto pone en igualdad de condiciones a todos los mtodos para poder realizar una evaluacin objetiva del rendimiento de cada algoritmo.

3.1.1 Re s ultados En el cuadro 3 se ilustran los resultados de Nmero de iteraciones, Tiempo computacional y el error relativo porcentual para cada uno de los mtodos evaluados.

Mtodo Mtodo grafico Mtodo de la biseccin Mtodo de la falsa posicin Mtodo de iteracin simple de punto fijo* Mtodo de Newton Raphson Mtodo de la secante

# de Iteraciones 17 20 4 6

Tiempo Computaci onal 0.1504 7.5947e-05 2.6958e-04 0.7072 0.0011

Error relativo porcentual 7.2205e-04 6.8310e-04 5.0174e-04 3.1559e-06

Cuadro3. Resultados 3.1.2 Anlis is . El anlisis de los resultados se tiene que realizar evaluando cada uno de los 3 parmetros que se impusieron a la hora de evaluar los diferentes mtodos de resolucin. El mtodo de iteracin simple de punto fijo fue el nico mtodo que no converge para la solucin de este problema, debido a que la primera derivada de la funcin evaluada siempre es negativa en el rango de trabajo. La cantidad de iteraciones que se realicen es un parmetro que se debe de conservar bajo, debido al consumo de memoria, pero su importancia no es la de mayor magnitud. Para este parmetro el mtodo ms adecuado es el mtodo de Newton Raphson, seguido de su variante, el mtodo de la secante. Estos dos mtodos son igualmente destacados en el error porcentual, pero el costo computacional de estos mtodos es alto debido a la complejidad de los clculos matemticos que se deben de realizar. Por su parte los mtodos abiertos poseen un tiempo computacional ms bajo comparados con los mtodos cerrados, pese a que su nmero de iteraciones es bastante elevado. Su error porcentual es ms alto comparados con los dems mtodos, pero se encuentra en un rango aceptable para su implementacin. 3.1.3 Conclus in. Luego de analizar los mtodos, basndonos en los parmetros impuestos en la metodologa, se encuentra que la mayora de los mtodos, excepto el mtodo grafico y el mtodo de iteracin simple, son herramientas tiles y ptimas para la resolucin del enunciado. La seleccin de alguno de los mtodos se debe de realizar basndose en los parmetros de memoria disponible y tiempo computacional requerido.

Anexo 5.
Seudocdigo. SubProceso MIterSim(t1,vi,u,m0,q,g) vlt<-0 bdi<-1 et<-1 t2<-t1 val<-0 cont<-0 Mientras val<=0 Hacer cont<-cont+1 Si cont>1 Entonceso Escribir 'Ingrese un valor semilla adecuado' Leer t1 val<-(q*u)/(m0-q*t1)-g Si cont>5 Entonceso Escribir 'La solucin no converge con estos valores semilla' val<-1 FinSi FinSi FinMientras Mientras bdi==1 Hacer Si vi==0 Entonceso t2<-0 bdi<-0 Sino vlt<-vlt+1 t2<-((u*ln(m0/(m0-q*t1))- vi)/g) Si vlt!=1 Entonceso et<-abs(((t2-t1)/t2)*100) FinSi Si et<0.001 O vlt>150 Entonceso bdi<-0 FinSi t0<-t1 t1<-t2 FinSi FinMientras Escribir 'El tiempo en el cual la velocidad es ',vi,' es ',t2 Escribir 'El error aproximado para el tiempo es de',et FinSubProceso SubProceso MNewRap (t1,vi,u,m0,q,g) vlt<-0 bdi<-1 et<-1 Escribir 'Ingrese el valor de la velocidad'

Leer vi Escribir 'Ingrese valor semilla Para el tiempo' Leer t1 Mientras (m0/(m0-q*t1))<=0 O t1==0 Hacer Escribir 'Ingrese un valor semilla adecuado' Leer t1 FinMientras Mientras bdi==1 Hacer Si vi==0 Entonceso t2<-0 bdi<-0 Sino vlt<-vlt+1 g1<-(u*ln(m0/(m0-q*t1))-g*t1- vi) g2<-(q*u)/(m0-q*t1)-g t2<-t1-g1/g2 Si vlt!=1 Entonceso et<-abs(((t2-t1)/t2)*100) FinSi Si et<0.001 O vlt>150 Entonceso bdi<-0 FinSi t0<-t1 t1<-t2 FinSi FinMientras Escribir 'El tiempo en el cual la velocidad es ',vi,' es ',t2 Escribir 'El error aproximado para el tiempo es de',et FinSubProceso SubProceso MSecante (t1,vi,u,m0,q,g) vlt<-0 bdi<-1 et<-1 Escribir 'Ingrese el valor de la velocidad' Leer vi Escribir 'Ingrese valor semilla para el tiempo' Leer t1 Mientras (m0/(m0-q*t1))<=0 O t1==0 Hacer Escribir 'Ingrese un valor semilla adecuado' Leer t1 FinMientras Mientras bdi==1 Hacer Si vi==0 Entonceso t2<-0 bdi<-0 Sino vlt<-vlt+1 g0<-(u*ln(m0/(m0-q*t0))-g*t0- vi) g1<-(u*ln(m0/(m0-q*t1))-g*t1- vi)

t2<-t1-(((g1)*(t0-t1))/(g0-g1)) Si vlt!=1 Entonceso et<-abs(((t2-t1)/t2)*100) FinSi Si et<0.001 O vlt>150 Entonceso bdi<-0 FinSi t0<-t1 t1<-t2 FinSi FinMientras Escribir 'El tiempo en el cual la velocidad es ',vi,' es ',t2 Escribir 'El error aproximado para el tiempo es de',et FinSubProceso SubProceso MBiseccion (vi,u,m0,q,g) bdi<-1 et<-1 vlt<-0 Escribir 'Ingrese un tiempo menor al esperado' Leer t1 Escribir 'Ingrese un tiempo mayor al esperado' Leer t2 Mientras bdi==1 Hacer vlt<-vlt+1 v1<-(u*ln(m0/(m0-q*t1))-g*t1- vi) v2<-(u*ln(m0/(m0-q*t2))-g*t2- vi) t<-(t1+t2)/2 v<-(u*ln(m0/(m0-q*t))-g*t- vi) Si (v*v1)<0 Entonceso t2<-t Sino Si (v*v1)>0 Entonceso ENTONCESO t1<-t Sino bdi<-0 FinSi FinSi Si vlt!=1 Entonceso et<-abs(((t2-t1)/t2)*100) FinSi Si et<0.001 O vlt>150 Entonceso bdi<-0 FinSi FinMientras tf<-t2 Escribir ('El valor estimado para el tiempo es de ') Escribir tf FinSubProceso

SubProceso MFalsaPos(vi,u,m0,q,g) bdi<-1 et<-1 vlt<-0 Escribir 'Ingrese un tiempo menor al esperado' Leer t1 Escribir 'Ingrese un tiempo mayor al esperado' Leer t2 Mientras bdi==1 Hacer vlt<-vlt+1 v1<-(u*ln(m0/(m0-q*t1))-g*t1- vi) v2<-(u*ln(m0/(m0-q*t2))-g*t2- vi) t<-t2-((v2*(t1-t2))/(v1-v2)) v<-(u*ln(m0/(m0-q*t))-g*t- vi) Si (v*v1)<0 Entonceso t2<-t Sino Si (v*v1)>0 Entonceso ENTONCESO t1<-t Sino bdi<-0 FinSi FinSi Si vlt!=1 Entonceso et<-abs(((t2-t1)/t2)*100) FinSi Si et<0.001 O vlt>150 Entonceso bdi<-0 FinSi FinMientras tf<-t Escribir ('El valor estimado para el tiempo es de ') Escribir tf FinSubProceso SubProceso MGrafico (u,m0,q,g) DimenSion t(100) DimenSion v(100) Para i<-2 Hasta 100 Hacer t(1)<-(0) t(i)<-(0.1+t(i-1)) v(i)<-((u*ln(m0/(m0-q*t(i)))- g*t(i))) FinPara Escribir 'La grafica es' FinSubProceso Proceso PuntoTres u<-2000

m0<-150000 q<-2700 g<-9.81 Escribir 'Ingrese el valor de la velocidad-> ' Leer vi Escribir 'Metodos abiertos -> 1 Metodos cerrados ->2 ' Leer op Segun op Hacer 1: Escribir 'M. Grafico ->1, M. Biseccion ->2 M. Falsa Posicin >3 ' Leer m Segun m Hacer 1: MGrafico(u,m0,q,g) 2: MGrafico(u,m0,q,g) MBiseccion(vi,u,m0,q,g) 3: MGrafico(u,m0,q,g) MFalsaPos(vi,u,m0,q,g) FinSegun 2: Escribir 'M. Iteracin Simple de Pto. Fijo ->1, M. NewtonRaphson ->2 M. Secante ->3 ' Leer m Segun m Hacer 1: MGrafico(u,m0,q,g) Escribir 'Ingrese un tiempo semilla-> ' Leer t1 MIterSim(t1,vi,u,m0,q,g) 2: MGrafico(u,m0,q,g) Escribir 'Ingrese un tiempo semilla-> ' Leer t1 MNewRap(t1,vi,u,m0,q,g) 3: MGrafico(u,m0,q,g) Escribir 'Ingrese un tiempo semilla-> ' Leer t1 MSecante(t1,vi,u,m0,q,g) FinSegun FinSegun FinProceso

4. Elabore un algoritmo en matlab que permita solucionar simultaneamente las siguientes ecuaciones utilizando un mtodo numrico:

4.1 solucin

El mtodo empleado para la resolucin de este problema fue el mtodo de newtonRaphson. El funcionamiento del mtodo para hallar una sola raz consiste en utilizar la derivada, con la finalidad de hallar la interseccin de la recta tangente con el eje de las abscisas. Para esto se utilizo la serie de Taylor de primer orden f (xi + 1) = f(xi) + (xi+1 xi) (xi) donde xi es el valor inicial de la raz y xi+1 es el valor en el cual la recta tangente intersecta el eje x. En esta interseccin, f(xi + 1) es, por definicin, igual a cero y la ecuacin que se obtiene es: xi + 1= .

El principio para resolver ecuaciones simultaneas se obtiene de forma identica con la diferencia de que se debe utilizar la serie de Taylor de mltiples variables para tener en cuenta el hecho de que ms de una variable independiente contribuye a la determinacin de la raz. De esta manera se plante un algoritmo que utiliza las derivadas parciales y el determinante jacobino del sistema de ecuaciones, se implement en matlab y se obtuvieron los siguientes resultados. El algoritmo implementado se muestra en pseudocdigo en el anexo 5. 4.1.1 Resultados Utilizando diferentes valores semilla para iniciar el algoritmo se obtuvo. Valor semilla en x 0 0.1 0.1605 2 Valor semilla en y 0 0.4 0.493 2 Raz en x Raz en y Tiempo de computo [s] 2.86648e-05 4.37456e-07 0.017 0.00346477 0.000168816 0.016 6.17696e-05 0.000207486 0.012 0.000266927 3.87517e-06 0.02 Error aprox en x Error aprox en y

0.16051 0.16051 0.16051 0.16051

0.493102 0.493102 0.493102 0.493102

Cuadro 4. Resultados obtenidos.

4.1.2 Anlisis. como puede observarse en los datos obtenidos, el procedimiento requiere ms tiempo de computo cuando el valor semilla que se le proporciona al algoritmo se aleja del valor solucin, este mayor tiempo de computo se ve reflejado en un mayor nmero de iteraciones, sin embargo a pesar del nmero de iteraciones la aproximacin siempre converge al mismo valor, por otro lado el nmero de iteraciones si tiene cierto efecto sobre el error relativo aproximado, el cual tiende a disminuir al aumentar el nmero de iteraciones. 4.2 Conclusin. Segn el comportamiento del mtodo, podemos asegurar que si se desea reducir el tiempo de obtencin de los datos lo ideal es proporcionar valores semilla que se encuentren en las proximidades de los valores solucin, pero si por el contrario lo que se busca es disminuir el factor de error lo ms recomendable es permitir que el algoritmo realice una cantidad considerable de iteraciones lo cual se consigue proporcionando valores semilla alejados de los valores solucin.

Anexo 6.
Proceso punto_1 i<--0; xi<--0; yi<--0; Eax<--1; Eay<--1; Mientras Eax>0.01 && Eay>0.01 Hacer ui<--(sen((xi+yi)/2)-(2*xi)); vi<--cos((xi-yi)/2)-(2*yi); U_xi<--0.5*cos((xi+yi)/2)-2; U_yi<--(-0.5*cos((xi+yi)/2)); V_xi<--(-0.5*sen((xi-yi)/2)); V_yi<--0.5*sen((xi- yi)/2)-2; ximas1<--xi-((ui*V_yi)-(vi*U_yi))/((U_xi*V_yi)-(U_yi*V_xi)); yimas1<--yi-((vi*U_xi)-(ui*V_xi))/((U_xi*V_yi)-(U_yi*V_xi)); Eax<--abs((ximas1-xi)/ximas1); Eay<--abs((yimas1-yi)/yimas1); xi<--ximas1; yi<--yimas1; FinMientras Escribir 'el valor aproximado de la solucin para x es'; Escribir ximas1; Escribir ' El error aproximado en x es:'; Escribir Eax; Escribir 'el valor aproximado de la solucin para y es'; Escribir yimas1; Escribir 'El error aproximado en y es: %g'; Escribir Eay; FinProceso

Вам также может понравиться