%% ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– % UTN - FRH % SIMULACIÓN DE MOVIMIENTO RECTILÍNEO UNIFORMEMENTE VARIADO (MRUV) % ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– %% Notas aclaratorias % Este script tiene como objetivo simular el movimiento de una partícula % bajo aceleración constante (MRUV), calculando su posición y velocidad % en función del tiempo. % % El cálculo se realiza de manera iterativa utilizando un modelo % implementado en una función externa. % % La estructura del programa está dividida en bloques para facilitar su % lectura, depuración y reutilización. % % Variables utilizadas: % g - Aceleración de la gravedad [m/s^2] % x0 - Posición inicial [m] % v0 - Velocidad inicial [m/s] % ti - Tiempo inicial [s] % tf - Tiempo final [s] % dt - Paso de integración temporal [s] % t - Vector de tiempo [s] % x - Vector de posición [m] % v - Vector de velocidad [m/s] % a - Vector de aceleración [m/s^2] % % Funciones utilizadas: % MRUV - Función externa que calcula la posición y velocidad del sistema % entre dos instantes de tiempo, a partir de las condiciones % actuales del movimiento. %% Limpieza del entorno de trabajo close all % Cierra todas las figuras abiertas clear % Elimina todas las variables del Workspace clc % Limpia la ventana de comandos %% Datos de entrada % Constante física g = 9.8; % Aceleración de la gravedad [m/s^2] % Condiciones iniciales x0 = 0; % Posición inicial [m] v0 = 0; % Velocidad inicial [m/s] % Parámetros de simulación ti = 0; % Tiempo inicial [s] tf = 10; % Tiempo final [s] dt = 1; % Paso de tiempo [s] %% Inicialización de variables % Vector de tiempo t = ti:dt:tf; % Preasignación de memoria x = zeros(size(t)); v = zeros(size(t)); % Condiciones iniciales x(1) = x0; v(1) = v0; %% Iteración del modelo % Resolución numérica del movimiento en forma iterativa for i = 1:length(t)-1 [x(i+1), v(i+1)] = MRUV(x(i), v(i), g, t(i), t(i+1)); end % Cálculo de aceleración % En MRUV la aceleración es constante a = g * ones(size(t)); %% Resultados % Presentación de resultados numéricos disp(' t(s) v(m/s) x(m)') disp([t' v' x']) %% Gráficos del sistema % Se agrupan los resultados en una sola figura para facilitar el análisis % comparativo entre posición, velocidad y aceleración en función del tiempo figure; subplot(3,1,1) plot(t, x, 'o-', 'LineWidth', 1.2) xlabel('Tiempo [s]') ylabel('Posición [m]') title('Evolución de la posición en el tiempo') grid on box on subplot(3,1,2) plot(t, v, 'o-', 'LineWidth', 1.2) xlabel('Tiempo [s]') ylabel('Velocidad [m/s]') title('Evolución de la velocidad en el tiempo') grid on box on subplot(3,1,3) plot(t, a, 'o-', 'LineWidth', 1.2) xlabel('Tiempo [s]') ylabel('Aceleración [m/s^2]') title('Evolución de la aceleración') grid on box on sgtitle('Análisis del movimiento rectilíneo uniformemente variado (MRUV)')