Está en la página 1de 7

Universidad Autónoma de Yucatán

Facultad de ingeniería química


2 PD Métodos Numéricos

Nombre: Aguilar Sabido Jessica Andrea IIL

Loria Ricalde Roberto Manuel IQI Cal.: __________

Instrucciones: Resuelva los siguientes ejercicios de manera clara y ordenada. Entregue sus respuestas
en hojas anexas. No olvide incluir el nombre del método utilizado. Cada ejercicio tiene un valor de 20
puntos

EJERCICIO 1

Considere los siguientes datos que representan la presión de vapor del Benceno a diferentes temperaturas

Temperatura (°
-1.6 7.6 15.4 26.1 42.2 60.6
C)
Presión de vapor
20 40 60 100 200 400
(mm Hg)
Estima la presión de vapor del Benceno a 25 °C utilizando

1) (10 puntos) Interpolación lineal.


>>interpolacion_lineal
Dar el primer punto [a,f(a)]:
[15.4, 60]
Dar el segundo punto [b,f(b)]:
[26.1, 100]
Valor para interpolar
25
Para x=25 corresponde g(x)=95.887850

CÓDIGO:
%Programa para interpolacion lineal
%Datos de entrada
X1= input(“dar el primero punto [a, f(a)]: \n");
X2= input(“dar el segundo punto [b, f/b)]: \n");
%Calculo del valor a interpolar
x=input(“valor a interpolar\n");
a=x1(1);
fa=x1(2);
b=x2(1);
fb=x2(2);
g=(fb-fa)/(b-a)*(x-a)+fa;
fprintf(“para x=%corresponde g(x)=%f\n”, x,g)
Para x=25.000000 corresponde g(x)=95.887850
2) (10 puntos) Interpolación cuadrática.
>> interpolacion cuadratica
Dar el primer punto [a, f(a)]:
[15.4,60]
Dar el segundo puntos [b, f(b)]:
[26.1,100]
Dar el segundo puntos [c, f(c)]:
[42.2,200]
Valor para interpolar
25
a2 = 0.092271
Para x = 25.000000 corresponde g(x) = 94.913469

CÓDIGO:
% Programa para interpolacion lineal
%Datos de entrada
x1 = input("Dar el primer punto [a, f(a)]: \n");
x2 = input("Dar el segundo puntos [b, f(b)]: \n");
x3 = input("Dar el segundo puntos [c, f(c)]: \n");
% Calculo del valor a interpolar
x = input("Valor a interpolar \n");
a = X1(1);
fa = X1(2);
b = X2(1);
fb = X2(2);
c = X3(1);
fc = X3(2);
a0 = fa;
a1 = (fb - fa)/(b - a);
a2 = ((fc - fb)/(c - b) - (fb - fa)/(b - a))/(c - a)
g = a0 + a1*(x - a) + a2*(x - a)*(x - b);
fprintf("Para x = %f corresponde g(x) = %f \n",x,g)
Para x = 25.000000 corresponde g(x) = 94.913469

3) (20 puntos) El polinomio de mínimos cuadrados que mejor ajuste a los datos utilizados mínimos cuadrados y el error
cuadrático medio dado por:

( )
n 1
1

2
E2 ( f ) =
n 1
|f ( x k ) − y k|
2

CÓDIGO:

>> x = [-1.6 7.6 15.4 26.1 42.2 60.6];


>> y = [20 40 60 100 200 400];
>> [C,S]=polyfit(x,y,3)
C=
9.6986e-04 1.0789e-02 2.0008e+00
2.3325e+01
S=
scalar structure containing the fields:
yf =20.148 39.581 60.239 100.140 199.860 400.033
x=
-4.0960e+00 2.5600e+00 -1.6000e+00 1.0000e+00
4.3898e+02 5.7760e+01 7.6000e+00 1.0000e+00
3.6523e+03 2.3716e+02 1.5400e+01 1.0000e+00
1.7780e+04 6.8121e+02 2.6100e+01 1.0000e+00
7.5151e+04 1.7808e+03 4.2200e+01 1.0000e+00
2.2255e+05 3.6724e+03 6.0600e+01 1.0000e+00
R=
2.3559e+05 4.0922e+03 7.2928e+01 1.3564e+00
o -6.5937e+02 -3.2037e+01 -1.3362e+00
0 -9.3306e+00 -9.1858e-01
o 0 0 0 1.2373e+00
C=
4.3429e-09 -3.7991e-07 7.6282e-06 -1.5134e-05
-3.7991e-07 3.4380e-05 -7.3536e-04 1.8008e-03
7.6282e-06 -7.3536e-04 1.7817e-02 -6.4309e-02
-1.5134e-05 1.8008e-03 -6.4309e-02 6.5323e-01
df = 2
normr = 0.5434
9.6986e-04*x^3 + 1.0789e-02*x^2 + 2.0008e+00*x + 2.3325e+01

ERROR CUADRÁTICO MEDIO:

>> [p1]=polyfit(x,y,3)
p1 =
9.6986e-04 1.0789e-02 2.0008e+00 2.3325e+01
>> y1 = 9.6986e-04*x.^3+1.0789e-02*x.^2+2.0008e+00*x+2.3325e+01
y1 =
20.147 39.580 60.238 100.139 199.859 400.032
>> error1 =sqrt ((1/5) * sum((y-y1).^2))
error1 = 0.2430

El polinomio de mínimos cuadrados que se ajusta es un polinomio de grado 3


EJERCICIO 2

(30 puntos) Para los datos listados escoja la forma apropiada de aproximación por mínimos cuadrados (lineal, cuadrática, cúbica,
recíproca lineal o recíproca de una cuadrática) y determine la función que mejor se ajuste usando el error cuadrático medio

x -0.4 3.3 -2 2.1 -4.3 2.5 -0.3 4.4 -4.9 -4.5


307.
y -1.2 145.1 -1.9 32.1 -144.1 54.5 -1.6 7
-236.3 -146.1

CÓDIGO:

>> y = [-236.3 -146.1 -144.1 -1.9 -1.2 -1.6 32.1 54.5 145.1 307.7]
y =-236.3000 -146.1000 -144.1000 -1.9000 -1.2000 -1.6000 32.1000 54.5000 145.1000 307.7000
>> x = [-4.9 -4.5 -4.3 -2 -0.4 -0.3 2.1 2.5 3.3 4.4]
x =-4.9000 -4.5000 -4.3000 -2.0000 -0.4000 -0.3000 2.1000 2.5000 3.3000 4.4000
>> plot(x,y),grid

En la gráfica se puede observar que se trata de una función de grado 4, por las 4 inflecciones, por lo que utilizaremos mínimos
cuadrados con un polinomio de grado 4

>> [C,S]=polyfit(x,y,4)
C =-0.078350 2.966017 6.026575 -5.410553 -6.974532
S=
scalar structure containing the fields:
yf =
-229.8809 -162.9956 -134.8832 2.9711 -4.0379 -4.8897 34.1850 60.4487 138.0981 309.1844
x=
5.7648e+02 -1.1765e+02 2.4010e+01 -4.9000e+00 1.0000e+00
4.1006e+02 -9.1125e+01 2.0250e+01 -4.5000e+00 1.0000e+00
3.4188e+02 -7.9507e+01 1.8490e+01 -4.3000e+00 1.0000e+00
1.6000e+01 -8.0000e+00 4.0000e+00 -2.0000e+00 1.0000e+00
2.5600e-02 -6.4000e-02 1.6000e-01 -4.0000e-01 1.0000e+00
8.1000e-03 -2.7000e-02 9.0000e-02 -3.0000e-01 1.0000e+00
1.9448e+01 9.2610e+00 4.4100e+00 2.1000e+00 1.0000e+00
3.9062e+01 1.5625e+01 6.2500e+00 2.5000e+00 1.0000e+00
1.1859e+02 3.5937e+01 1.0890e+01 3.3000e+00 1.0000e+00
3.7481e+02 8.5184e+01 1.9360e+01 4.4000e+00 1.0000e+00
R=

-879.8119 108.5676 -42.5183 4.5386 -2.1554


0 160.0662 3.8921 8.7690 0.5226
0 0 -8.5682 -0.9896 -1.6609
0 0 0 3.0718 -0.1769
0 0 0 0 -1.5136
C=
6.3308e-05 -6.9645e-06 -1.3949e-03 6.4311e-04 3.2063e-03
-6.9645e-06 3.3441e-04 4.4007e-04 -5.5469e-03 -6.7390e-04
-1.3949e-03 4.4007e-04 3.2581e-02 -1.7279e-02 -8.7510e-02
6.4311e-04 -5.5469e-03 -1.7279e-02 1.0742e-01 2.5132e-02
3.2063e-03 -6.7390e-04 -8.7510e-02 2.5132e-02 4.3647e-01

df = 5

normr = 23.349

>> plot(x,y,'or;Datos;', x,S.yf,'m;minimos;'),grid

Una vez teniendo esta gráfica y comparándola con la anterior podemos notar sus coincidencias, y los errores calculados, ya sea de un
grado 3 o 5 suele ser mayor al error calculado con el grado 4, la única disminución del error se encuentra en el grado 4.
[P1]=polyfit(x,y,4)

P1 =

-0.078350 2.966017 6.026575 -5.410553 -6.974532

y1 = -0.078350*x.^4 + 2.966017*x.^3 + 6.026575*x.^2 -5.410553*x -6.974532

y1 =

-229.8809 -162.9956 -134.8832 2.9711 -4.0379 -4.8897 34.1850 60.4486 138.0981 309.1844

>> Error1 =sqrt ((1/5) * sum((y-y1).^2))

error1 = 10.442

EJERCICIO 3

La tasa de flujo de un fluido incomprensible en un tubo de radio 1 está dado por

1
Q=∫ 2 πrV dr
0

donde r es la distancia del centro del tubo y V es la velocidad del fluido. Encuentre Q si los únicos datos disponibles son los
siguientes.

1) (10 puntos) Usando los datos de la siguiente tabla:

r 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1


0.9 0.7 0.5
V 1 0.99 6
0.91 0.84
5
0.64
1
0.36 0.19 0

CÓDIGO:
r=[0 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1];
v=[1 0.99 0.96 0.91 0.84 0.84 0.75 0.64 0.51 0.36 0.19 0];
for i=l : length (r) – 1
Q1(1)= (3.1416 * (r (i) * v (i) +r (i+1) *v(i+1) ) )* (r(i+1) – r (i) );
Endfor
Qf1=sum(Q1)
Qf1= 1.551

2) (10 puntos) Usando V =1−r 2.


1
Q=∫ 2 πrV dr
0
2 4
r r
Q=2 π ( − )
2 4
r4
Q=π (r 2− )
4
r=[0 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1];
v=[1 0.99 0.96 0.91 0.84 0.84 0.75 0.64 0.51 0.36 0.19 0];
Q2= -3.1416* (r(1) .^2-r (1) .^ 4/2) +3.1416* (r(end) . ^2-r(end) .^4/2)
Qf2= 1.5708
3) (10 puntos) Comprar los resultados de 1 y 2
Qf1=1.5551
Qf2=1.5708
Error= -(Qf1-Qf2)/Qf1*100
Qf1= 1.5551
Qf2= 1.5708
Error= 1.0096
Error= 1%

Se puede notar que el error es muy pequeño, se podría decir que es un valor insignificante

También podría gustarte