Está en la página 1de 13

UNIVERSIDAD POLITÉCNICA DE PUEBLA

ORGANISMO PÚBLICO DESCENTRALIZADO DEL ESTADO DE


PUEBLA

INGENIERÍA EN SISTEMAS AUTOMOTRICES

EC15: Evidencia

Presenta:

OSORIO RAMÍREZ OCTAVIO, GARCÍA SALOMA


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;

También podría gustarte