Unidad 1 Actividad 2

UNIDAD 1 ACTIVIDAD 2 Alumno: Matrícula: Grupo: Asignatura: Docente: Sara Donahí Rodríguez Avilés ES172009628 MT-MANU1-

Views 469 Downloads 4 File size 887KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIDAD 1 ACTIVIDAD 2

Alumno: Matrícula: Grupo: Asignatura: Docente:

Sara Donahí Rodríguez Avilés ES172009628 MT-MANU1-1902-B2-001 Análisis Numérico Dr. Alejandro Salazar Guerrero

Actividad 2. Modelación matemática 1. Como describimos en la sección de Modelación Matemática el hacer un modelo implica observar un fenómeno y traducirlo a lenguaje matemático. Esta traducción no es sencilla de automatizar, es decir, puede ser muy personal y variar de persona a persona, pero en esa sección leíste un bosquejo de cómo hacerlo. A continuación, implementaremos en Octave como se modela el tiro parabólico. La ecuación que describe el tiro parabólico desde el origen es: 𝑔

ℎ(𝑡)=− 2𝑡2+𝑣𝑡 donde 𝑔=9.8 𝑚/𝑠2 y 𝑣 es la velocidad inicial del cuerpo proyectado. La tarea es crear una función en Octave que recibe dos parámetros y regresa un escalar que representará la altura del proyectil en cada tiempo 𝑡. Deberás mostrar la trayectoria ℎ(𝑡) seguida para los siguientes valores de 𝑣 y vectores 𝑡

V 10 25 100

Vectores de T (0,10,100) (0,20,50) (0,50,300)

Para definir la serie de valores donde aplicarás tu función, es decir, todos los valores 𝑡 tienes que hacer uso de la función linspace de la siguiente manera >>> t = linspace(0,10,100) Que quiere decir que 𝑡 es un vector con valores reales entre 0 y 10 con 100 puntos distribuidos equidistantemente Recuerda por cada función debes crear un archivo que se llame igual que la función, pero con extensión .m y en una carpeta de tu elección. Tip: Para definir una función, llamada funcX, de n parámetros en Octave la sintaxis es la siguiente function y = funcX(n1,n2,…,nk) Concretamente una función de dos parámetros 𝑥,𝑦 se define como function y = funcX(x,y)

Tip 2: Octave permite el uso de operaciones puntuales, es decir, extiende la aplicación de la suma, producto y división (entre otras) a vectores, lo que significa que puedes sumar dos vectores de manera implícita de la siguiente forma. Supongamos que X e Y son vectores, >>> Z = X*.Y El operador punto (.) le indica a Octave que tiene que multiplicar el elemento i-ésimo de X por el elemento i-ésimo de Y y construir al mismo tiempo el vector Z de tal forma que Z(i) = X(i) * Y(i) Si tenemos la función funcM que es una función que recibe un solo parámetro y regresa un escalar, entonces podemos aplicarla a todo el vector X de la siguiente forma Z = funcM(X) Código: clc; clear all; v = input('Proporcione la velocidad: '); fprintf('\n'); beta = input('Proporcione el angulo de la velocidad: '); fprintf('\n'); theta = input('Proporcione el angulo de la pendiente: '); fprintf('\n'); yo = input('Proporcione y0: '); fprintf('\n'); xo = input('Proporcione x0: '); fprintf('\n'); % Operaciones y grafica vy = v*sind(beta); vx = v*cosd(beta); t = (tand(theta)-vy/vx)*(-2*vx^2/9.81)*(1/vx); ti = linspace(0,t); x = xo + ti.*vx; y = yo + ti.*vy -(ti.^2).*(9.81/2); plot(x, y); hold on; xmax = xo + t*vx; ymax = yo + t*vy -(t^2)*(9.81/2);

d = sqrt(xmax^2+ymax^2); fprintf('Ymax es: '); disp(ymax); fprintf('\n'); fprintf('Xmax es: '); disp(xmax); fprintf('\n'); fprintf('D es: '); disp(d); fprintf('\n'); fprintf('Tiempo total es: '); disp(t); fprintf('\n'); xp = linspace(0,xmax); yp = xp.*tand(theta); plot(xp, yp); hold on; Imagen de la ejecución del código

Bibliografía Ingeniería Matemática. (10 de junio de 2016). Obtenido de https://mathengineering.blogspot.com/2016/06/disparo-parabolico-con-octave.html mecánica, E. m. (30 de septiembre de 2017). Youtube. Obtenido de https://www.youtube.com/watch?v=MxoQzk8dZdo