ARMANDO Y VICTORIA MEDINA FRANCISCO MARTÍN Asesor:
Juan Pablo Treviño Gutiérrez
Asignatura:
Análisis Multifásico
Juan C. Bonilla, Puebla Julio, 2023
1. Utilice el método de la bisección para calcular la solución de la ecuación cos x = sin x. Código cos x = sin x % Definir la función f(x) b = 2 * pi; function result = f(x) tolerance = 1e-6; result = cos(x) - sin(x); x = linspace(0, 2*pi, 1000); endfunction y_cos = cos(x); function solution = y_sin = sin(x); bisection_method(a, b, tol) plot(x, y_cos, 'b', x, y_sin, 'r') while (b - a) / 2 > tol xlabel('x') c = (a + b) / 2; ylabel('f(x)') if f(c) == 0 title('Gráfica de cos(x) y sin(x) en solution = c; el intervalo [0, 2π]') return; legend('cos(x)', 'sin(x)') elseif f(c) * f(a) < 0 grid on b = c; solution = bisection_method(a, b, tolerance); else disp("Una aproximación de la a = c; solución es:"); endif disp(solution); endwhile hold on solution = (a + b) / 2; plot(solution, cos(solution), 'go', endfunction 'MarkerSize', 8) a = 1; hold off 2. Considere el siguiente sistema de ecuaciones: Determine la matriz M, y los vectores v⃗, b⃗⃗ tales que Mv⃗ = b⃗⃗. Resuelva el sistema de ecuaciones mediante el método de eliminación de Gauss (programa, no hacerlo a mano). Verifique su respuesta utilizando v⃗ = M−1 b⃗⃗ en Octave. Código v⃗ = M−1 b⃗⃗ en Octave A = [1 2 -1; 0 3 1; 2 -1 1]; clear all B = [2; 4; 2]; close all M = A \ B; a=[1 2 -1; 0 3 1; 2 -1 1]; disp(M); b=[2; 4; 2]; % Definimos la matriz M n=3; M = [1 2 -1; 0 3 1; 2 -1 1]; for j = 1 : n-1 % Definimos el vector b⃗ for i = j+1 : n b = [2; 4; 2]; mult = a(i,j)/a(j,j); % Resolvemos el sistema de for k = j+1:n ecuaciones para obtener el a(i,k) = a(i,k) - mult*a(j,k); vector v⃗ end v = M \ b; b(i) = b(i) - mult*b(j); % Mostramos la solución end disp("Vector v:"); end disp(v); for i = n : -1 : 1 disp("Vector b:"); for j = i+1 : n disp(b); b(i) = b(i) - a(i,j) * x(j); Resuelva el sistema de ecuaciones mediante el método end de eliminación de Gauss x(i) = b(i) / a(i,i); % Método de eliminación de end Gauss. 3. Un conducto cilíndrico de un centímetro de radio y 2.5cm de espesor, conduce un fluido a 600°C. El exterior del tubo se encuentra a 25°C. La ecuación que describe la temperatura dentro del tubo es:
Escriba la forma discreta (en diferencias) de la ecuación
diferencial.
La denotacion por Ti la temperatura en el nodo i, donde i = 0, 1, 2, ..., N. El nodo
i = 0 corresponderá al centro del tubo, y el nodo i = N corresponderá al exterior del tubo. Se aplica el método de diferencias finitas centradas para las derivadas. La discretización de la ecuación diferencial es: Discretización del radio: Denotemos por Δr el espaciado entre los nodos en el dominio radial. Entonces, el radio ri en el nodo i está dado por ri = i * Δr.
Discretización de la segunda derivada radial: La segunda derivada radial en
el nodo i se puede aproximar mediante la siguiente fórmula:
Discretización de la primera derivada radial: La primera derivada radial en el
nodo i se puede aproximar mediante la siguiente fórmula: Sustitución en la ecuación diferencial original: Sustituyendo las aproximaciones de las derivadas en la ecuación diferencial original:
Multiplicamos toda la ecuación por (Δr) ^2 para despejar la temperatura
en el nodo i:
Ahora podemos reorganizar la ecuación para obtener la forma discreta en
diferencias: 4. Escriba el sistema matricial que resulta de un planteamiento para 5 nodos. Código planteamiento para 5 nodos % Parámetros del problema b(i) = T_exterior; N = 5; else r_exterior = 1; A(i, i+1) = r_i; T_interior = 600; A(i, i) = -(2*r_i + (delta_r^2)/2); T_exterior = 25; A(i, i-1) = r_i; delta_r = r_exterior / N; b(i) = -500 * (delta_r^2); A = zeros(N+1, N+1); end b = zeros(N+1, 1); end for i = 1:N+1 % Imprimir el sistema matricial A y el vector b r_i = i * delta_r; disp('Sistema matricial A:'); if i == 1 disp(A); A(i, i) = 1; disp('Vector b:'); b(i) = T_interior; disp(b); elseif i == N+1 A(i, i) = 1; 5. Utilice el método de diferencias finitas para encontrar la solución numérica del problema Código solución numérica n = 19; t0 = 0; tn = 1; dt = (tn - t0) / n; % Inicializamos el vector y y = zeros(n+1, 1); y(1) = 0; y(2) = (1/3) * exp(t0 + dt); % Método de diferencias finitas for i = 2:n ti = t0 + i * dt; y(i+1) = (2/3) * exp(ti) * dt^2 + 2 * y(i) - y(i-1); end % Mostramos los resultados disp("Solución numérica utilizando diferencias finitas:"); disp(y); % Graficamos la solución t = linspace(t0, tn, n+1); plot(t, y, '-o'); title('Solución numérica utilizando diferencias finitas'); xlabel('t'); ylabel('y(t)'); grid on; 6. Utilice el método de colocación para encontrar la solución numérica del problema Código solución numérica n = 19; t0 = 0; tn = 1; dt = (tn - t0) / n; % Inicializamos el vector y y = zeros(n+1, 1); y(1) = 0; y(n+1) = (1/3) * exp(tn); % Método de colocación for i = 1:n ti = t0 + i * dt; y(i+1) = exp(ti) * (2/3) * dt^2 + y(i); end % Mostramos los resultados disp("Solución numérica utilizando el método de colocación:"); disp(y); % Graficamos la solución t = linspace(t0, tn, n+1); plot(t, y, '-o'); title('Solución numérica utilizando el método de colocación'); xlabel('t'); ylabel('y(t)'); grid on;