Ejercicios Matlab 7

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

Trabajo Individual #3

CIENCIA E INGENIERÍA DE LOS MATERIALES


Universidad de Cuenca, Facultad de Ciencias Químicas, Carrera de Ingeniería Química
Cuenca-Ecuador, Fecha de entrega: 01/11/2023, Ciclo: Cuarto
Nombre: Kevin Toral

Ejercicios Capitulo 7– Pares

7.2. Encuentre de forma aproximada todas las soluciones positivas de las siguientes
ecuaciones utilizando el método gráfico:

 tan(x) – x + 1=0, 0<x<3π


 sen(x) – 0.3 =e x 0, x>0
 0.1 x 3 -5 x 2 – x +4 + e− x =0
 log(x) – 0.2 x 2 + 1 =0
 x + x 2 + 3 x−1 - 40 =0
 Código

% Definimos un rango de valores para x


x = linspace(0, 3*pi, 1000);

% Ecuación 1: tan(x) - x + 1 = 0
y1 = tan(x) - x + 1;

% Ecuación 2: sin(x) - 0.3 - exp(x) = 0


y2 = sin(x) - 0.3 - exp(x);

% Ecuación 3: 0.1*x^3 - 5*x^2 - x + 4 + exp(-x) = 0


y3 = 0.1 * x.^3 - 5 * x.^2 - x + 4 + exp(-x);

% Ecuación 4: log(x) - 0.2*x^2 + 1 = 0


y4 = log(x) - 0.2 * x.^2 + 1;

% Ecuación 5: x + x^2 + 3/x - 40 = 0


y5 = x + x.^2 + 3./x - 40;

% Graficamos las ecuaciones


figure;
subplot(2, 3, 1);
plot(x, y1);
title('tan(x) - x + 1 = 0');

subplot(2, 3, 2);
plot(x, y2);
title('sin(x) - 0.3 - exp(x) = 0');

subplot(2, 3, 3);
plot(x, y3);
title('0.1*x^3 - 5*x^2 - x + 4 + exp(-x) = 0');

subplot(2, 3, 4);
plot(x, y4);
title('log(x) - 0.2*x^2 + 1 = 0');

subplot(2, 3, 5);
plot(x, y5);
title('x + x^2 + 3/x - 40 = 0');
Trabajo Individual #3
CIENCIA E INGENIERÍA DE LOS MATERIALES
Universidad de Cuenca, Facultad de Ciencias Químicas, Carrera de Ingeniería Química
Cuenca-Ecuador, Fecha de entrega: 01/11/2023, Ciclo: Cuarto

% Encontrar raíces aproximadas


x1_roots = fzero(@(x) tan(x) - x + 1, [0, 3*pi]);
x2_roots = fzero(@(x) sin(x) - 0.3 - exp(x), 1);
x3_roots = fzero(@(x) 0.1*x^3 - 5*x^2 - x + 4 + exp(-x), 1);
x4_roots = fzero(@(x) log(x) - 0.2*x^2 + 1, 1);
x5_roots = fzero(@(x) x + x^2 + 3/x - 40, 1);

% Mostrar las raíces encontradas


disp(['Raíces aproximadas para la ecuación 1: x1 = ',
num2str(x1_roots)]);
disp(['Raíces aproximadas para la ecuación 2: x2 = ',
num2str(x2_roots)]);
disp(['Raíces aproximadas para la ecuación 3: x3 = ',
num2str(x3_roots)]);
disp(['Raíces aproximadas para la ecuación 4: x4 = ',
num2str(x4_roots)]);
disp(['Raíces aproximadas para la ecuación 5: x5 = ',
num2str(x5_roots)]);
 Resultados

7.4. Repita el problema 7.1 con el método de la bisectriz.

 Código

% Definimos un rango de valores para x


x = linspace(0, 5, 1000);

% Ecuación 1: 0.5*exp(x/3) - sin(x) = 0


y1 = 0.5 * exp(x/3) - sin(x);

% Ecuación 2: log(1 + x) - x^2 = 0


Trabajo Individual #3
CIENCIA E INGENIERÍA DE LOS MATERIALES
Universidad de Cuenca, Facultad de Ciencias Químicas, Carrera de Ingeniería Química
Cuenca-Ecuador, Fecha de entrega: 01/11/2023, Ciclo: Cuarto
y2 = log(1 + x) - x.^2;

% Graficamos las ecuaciones


figure;
subplot(2, 1, 1);
plot(x, y1);
title('0.5*exp(x/3) - sin(x) = 0');
xlabel('x');
ylabel('y');

subplot(2, 1, 2);
plot(x, y2);
title('log(1 + x) - x^2 = 0');
xlabel('x');
ylabel('y');
 Resultados

7.6. Un ingeniero de diseño necesita encontrar las coordenadas de las


intersecciones de la superficie de ala NACA 0012 y la curva dada por
y(x)= 0.2x(x-0,6)
Calcule el valor por el método que se requiera
 Código

% Parámetros de la NACA 0012


c = 2.0; % Longitud de cuerda del ala (ajustado a 2 para ampliar el
rango)

% Función de la curva dada


curve = @(x) 0.2 * x .* (x - 0.6);

% Función para encontrar la diferencia entre las dos curvas


difference = @(x) 0.12 * c * (1 - cos(acos(1 - 2 * x / c))) -
curve(x);

% Intervalo inicial para la búsqueda de raíces


x_lower = 0.0;
x_upper = c;
Trabajo Individual #3
CIENCIA E INGENIERÍA DE LOS MATERIALES
Universidad de Cuenca, Facultad de Ciencias Químicas, Carrera de Ingeniería Química
Cuenca-Ecuador, Fecha de entrega: 01/11/2023, Ciclo: Cuarto

% Tolerancia
tolerance = 1e-6;

% Búsqueda de raíces utilizando el método de la bisección


while (x_upper - x_lower) > tolerance
x_mid = (x_lower + x_upper) / 2;
if difference(x_mid) * difference(x_lower) < 0
x_upper = x_mid;
else
x_lower = x_mid;
end
end

% Coordenadas de intersección
x_intersection = (x_lower + x_upper) / 2;
y_intersection = curve(x_intersection);

% Rango de valores para la gráfica


x = linspace(0, 2.5 * c, 1000); % Ampliado el rango

y_NACA = 0.12 * c * (1 - cos(acos(1 - 2 * x / c)));

% Graficar ambas curvas y marcar la intersección


plot(x, y_NACA, 'b', x, curve(x), 'r');
hold on;
plot(x_intersection, y_intersection, 'go', 'MarkerSize', 10);
hold off;

legend('Superficie NACA 0012', 'Curva dada', 'Intersección');


xlabel('x');
ylabel('y');
title('Intersección de la Superficie NACA 0012 y la Curva Dada');
grid on;

% Mostrar las coordenadas de intersección


disp(['Coordenadas de intersección: (x, y) = (',
num2str(x_intersection), ', ', num2str(y_intersection), ')']);
 Resultados
Trabajo Individual #3
CIENCIA E INGENIERÍA DE LOS MATERIALES
Universidad de Cuenca, Facultad de Ciencias Químicas, Carrera de Ingeniería Química
Cuenca-Ecuador, Fecha de entrega: 01/11/2023, Ciclo: Cuarto

7.8. Encuentre las raíces positivas de las siguientes funciones por iteración de
Newton.
a ¿ f ( x ) =0.5exp(x/3)-sen(x), x>0
% Definir la función y su derivada
f = @(x) 0.5*exp(x/3) - sin(x);
df = @(x) (1/3)*0.5*exp(x/3) - cos(x);

% Establecer el valor inicial


x0 = 1; % Valor inicial

% Parámetros de la iteración
maxIter = 100; % Número máximo de iteraciones
tolerancia = 1e-6; % Tolerancia para la convergencia

% Iniciar la iteración de Newton


for i = 1:maxIter
x1 = x0 - f(x0) / df(x0);

% Verificar la convergencia
if abs(x1 - x0) < tolerancia
fprintf('Raíz encontrada: %.6f\n', x1);
break;
end

x0 = x1;
end

b) f(x)=log(1+x)-(x)^2
% Definir la función y su derivada
f = @(x) log(1 + x) - x^2;
df = @(x) 1 / (1 + x) - 2 * x;
Trabajo Individual #3
CIENCIA E INGENIERÍA DE LOS MATERIALES
Universidad de Cuenca, Facultad de Ciencias Químicas, Carrera de Ingeniería Química
Cuenca-Ecuador, Fecha de entrega: 01/11/2023, Ciclo: Cuarto

% Establecer el valor inicial


x0 = 0.5; % Valor inicial

% Parámetros de la iteración
maxIter = 100; % Número máximo de iteraciones
tolerancia = 1e-6; % Tolerancia para la convergencia

% Iniciar la iteración de Newton


for i = 1:maxIter
x1 = x0 - f(x0) / df(x0);

% Verificar la convergencia
if abs(x1 - x0) < tolerancia
fprintf('Raíz encontrada: %.6f\n', x1);
break;
end

x0 = x1;
end

c)f(x)=exp(x)-5(x)^2
% Definir la función y su derivada
f = @(x) exp(x) - 5*x^2;
df = @(x) exp(x) - 10*x;

% Establecer el valor inicial


x0 = 1; % Valor inicial

% Parámetros de la iteración
maxIter = 100; % Número máximo de iteraciones
tolerancia = 1e-6; % Tolerancia para la convergencia

% Iniciar la iteración de Newton


for i = 1:maxIter
x1 = x0 - f(x0) / df(x0);

% Verificar la convergencia
if abs(x1 - x0) < tolerancia
fprintf('Raíz encontrada: %.6f\n', x1);
break;
end

x0 = x1;
end

d)f(x)= x^3+2x-1
% Definir la función y su derivada
f = @(x) x^3 + 2*x - 1;
df = @(x) 3*x^2 + 2;
Trabajo Individual #3
CIENCIA E INGENIERÍA DE LOS MATERIALES
Universidad de Cuenca, Facultad de Ciencias Químicas, Carrera de Ingeniería Química
Cuenca-Ecuador, Fecha de entrega: 01/11/2023, Ciclo: Cuarto
% Establecer el valor inicial
x0 = 1; % Valor inicial

% Parámetros de la iteración
maxIter = 100; % Número máximo de iteraciones
tolerancia = 1e-6; % Tolerancia para la convergencia

% Iniciar la iteración de Newton


for i = 1:maxIter
x1 = x0 - f(x0) / df(x0);

% Verificar la convergencia
if abs(x1 - x0) < tolerancia
fprintf('Raíz encontrada: %.6f\n', x1);
break;
end

x0 = x1;
end

e)sqrt(x+2)-x
% Definir la función y su derivada
f = @(x) sqrt(x + 2) - x;
df = @(x) 0.5 / sqrt(x + 2) - 1;

% Establecer el valor inicial


x0 = 1; % Valor inicial

% Parámetros de la iteración
maxIter = 100; % Número máximo de iteraciones
tolerancia = 1e-6; % Tolerancia para la convergencia

% Iniciar la iteración de Newton


for i = 1:maxIter
x1 = x0 - f(x0) / df(x0);

% Verificar la convergencia
if abs(x1 - x0) < tolerancia
fprintf('Raíz encontrada: %.6f\n', x1);
break;
end

x0 = x1;
end

7.10. Dos elipses tienen entre cero y cuatro intersecciones. Las siguientes
ecuaciones representan dos elipses. Encuentre las coordenadas de las
intersecciones.
2 2
(x−2) = −( y−3+2 x) =5
Trabajo Individual #3
CIENCIA E INGENIERÍA DE LOS MATERIALES
Universidad de Cuenca, Facultad de Ciencias Químicas, Carrera de Ingeniería Química
Cuenca-Ecuador, Fecha de entrega: 01/11/2023, Ciclo: Cuarto
2 2
2(x−3) + ( y /3) =4
 Código

hold on
grid on

x = -0.236:0.001:4.236;
y = ((5-(x-2).^2).^(1/2))+3-2*x;
y1 = -((5-(x-2).^2).^(1/2))+3-2*x;

plot(x,y,"c")
plot(x,y1,"c")

s=-6:0.001:6;
t=(((4-(s/3).^2)/2).^(1/2))+3;
t1=(-((4-(s/3).^2)/2).^(1/2))+3;

plot(t,s,"b")
plot(t1,s,"b")

title("Elipses")
xlabe("x"); ylabel("y")
 Resultados

7.12. Una mezcla equimolar de monóxido de carbono y oxigeno debe alcanzar el


equilibrio a 3000 K y una presión de 5 bar. La reacción teórica es
CO + (1/2)O2 --> CO2
La reacción química real se escribe así:
CO + O2 → xCO+ (1/2)(1+x)O2 + (1-x)CO2
Trabajo Individual #3
CIENCIA E INGENIERÍA DE LOS MATERIALES
Universidad de Cuenca, Facultad de Ciencias Químicas, Carrera de Ingeniería Química
Cuenca-Ecuador, Fecha de entrega: 01/11/2023, Ciclo: Cuarto
La ecuación de equilibrio químico para determinar la fracción de CO restante,
ósea x, está dada por:
(1−x) √ 3+ x
kp= , 0< x <1
x √ 1+ x∗√ P/ Po
Donde Kp=3.06, P=5 y Po=1bar. Determine el valor de x por iteración de Newton.
 Código

% Datos dados
Kp = 3.06; % Constante de equilibrio
P = 5; % Presión en bar
Po = 1; % Presión de referencia en bar

% Definir la función de equilibrio en función de x


equation = @(x) ((1 - x) * sqrt(3 + x)) / (x * sqrt(1 + x) * sqrt(P /
Po)) - Kp;

% Derivada de la función de equilibrio en función de x


derivative = @(x) (-2 * (1 + x)^(3/2) * sqrt(3 + x) + (1 - x) * sqrt(3
+ x)) / (x^2 * (1 + x) * P / Po);

% Valor inicial de x
x0 = 0.1; % Puedes comenzar con un valor inicial adecuado

% Tolerancia y número máximo de iteraciones


tolerance = 1e-6;
maxIterations = 100;

% Iteración de Newton
x = x0;
iteration = 0;
while abs(equation(x)) > tolerance && iteration < maxIterations
x = x - equation(x) / derivative(x);
iteration = iteration + 1;
end

if iteration >= maxIterations


disp('No se alcanzó la convergencia dentro del número máximo de
iteraciones.');
else
fprintf('El valor de x en equilibrio es: %.6f\n', x);
end
 Resultados

7.14. La ecuación x 2−2 x−3=0 puede reformularse para el método de sustitución


sucesivas como sigue:
2
a) x=(x −3)/2
b) x=√ 2 x+3
c) x=(2 x +3)/ √ x
d) x=x−0.2 ( x 2−2 x−3 )
Trabajo Individual #3
CIENCIA E INGENIERÍA DE LOS MATERIALES
Universidad de Cuenca, Facultad de Ciencias Químicas, Carrera de Ingeniería Química
Cuenca-Ecuador, Fecha de entrega: 01/11/2023, Ciclo: Cuarto
Las raíces de la ecuación son x=3 y x=-1. Determine gráficamente cuales de las
fórmulas anteriores convergen cuando se utilizan para encontrar la raíz x=-1 por
sustitución sucesiva.
 Código

% Definición de las ecuaciones

x0=(0:0.001:10);
y0=((x0.^2-3)/2);
figure(1)
plot(x0,y0)
hold on
y10=x0;
grid on
title("Funcion 1")

x1=(0:0.001:10);
y1=sqrt(2*x1+3);
figure(2)
plot(x1,y1)
hold on
y11=x1;
grid on
title("Funcion 2")

x2=(0:0.001:10);
y2=((2*x2+3)/sqrt(x2));
figure(3)
plot(x2,y2)
hold on
y12=x2;
grid on
title("Funcion 3")

x3=(0:0.001:10);
y3=x3-0.2*(x3.^2-2*x3-3);
figure(4)
plot(x3,y3)
hold on
y13=x3;
grid on
title("Funcion 4")
 Resultados
Trabajo Individual #3
CIENCIA E INGENIERÍA DE LOS MATERIALES
Universidad de Cuenca, Facultad de Ciencias Químicas, Carrera de Ingeniería Química
Cuenca-Ecuador, Fecha de entrega: 01/11/2023, Ciclo: Cuarto
La fórmula que converge más rápidamente hacia x = -1 es la "Formula 1" (x = (x^2 - 3) /
2).

7.16. El factor de friccion f para los flujos turbulentos en una tuberia esta dado por
1 e 9.35
=1.14−2 log 10( + )
√f D ℜ√f

Llamada correlacion de Colebrook, donde Re es el numero de Reynolds, e es la


aspereza de la superficie de la tuberia y D es el diametro de la tuberia. (a) Escriba
un programa que resuelva la ecuacion para futilizando el metodo de sustitucion
sucesova. (b) Evalue f ejecutando el programa para los siguientes casos:
4
 D=0.1 m, e=0.0025, Re=3*10

 D=0.1 m, e=0.0001, Re=5*104


 Código

e = input('Ingrese el valor de la aspereza (e): ');


D = input('Ingrese el valor del Diámetro (D): ');
Re = input('Ingrese el valor de Reynolds (Re): ');
f = input('Ingrese el valor de la fracción de fricción: ');
Trabajo Individual #3
CIENCIA E INGENIERÍA DE LOS MATERIALES
Universidad de Cuenca, Facultad de Ciencias Químicas, Carrera de Ingeniería Química
Cuenca-Ecuador, Fecha de entrega: 01/11/2023, Ciclo: Cuarto
fc = (1.14 - (2 * log10((e / D) + (9.35 / (Re * sqrt(f)))))).^(-2);
while abs(f - fc) > 1e-6 % Usamos una pequeña tolerancia en lugar
de la igualdad exacta
f = (1.14 - (2 * log10((e / D) + (9.35 / (Re * sqrt(f)))))).^(-
2);
end

fprintf('La fracción de fricción es: %f\n', f);


 Resultados

También podría gustarte