Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INDICACIONES:
Desarrolle la prueba siguiendo las indicaciones y los métodos sugeridos.
Plantee la solución en su hoja de examen, sea claro y ordenado.
Puede utilizar calculadora, Matlab u otra aplicación que desee.
Si ha usado un programa cópielo en su examen incluyendo los resultados que arroja.
Sea ordenado en la solución de los problemas. Se calificará procedimiento.
No está permitido la copia de imágenes, todo debe de estar escrito en Word.
Problema 01.
El circuito eléctrico anexo está formado por distintas resistencia y fuentes de alimentación.
Determinar la intensidad de corriente que pasa por cada resistencia utilizando para ello las leyes
de Kirchhoff para la resolución de circuitos resistivos. Los datos conocidos del circuito son los
siguientes:
Las ecuaciones para las cuatro mallas que dan la solución a este problema son las siguientes:
Representación algebraica:
44𝐼1 − 10𝐼2 − 16𝐼3 + 0𝐼4 = 20
10𝐼1 + 23𝐼2 − 6𝐼3 − 12𝐼4 = 0
{
−16𝐼1 − 6𝐼2 + 30𝐼3 − 8𝐼4 = −12
0𝐼1 − 12𝐼2 − 8𝐼3 + 34𝐼4 = 40
Representación matricial:
44 10 16 0 𝐼1
20
10 23 6 12 𝐼2 0 )
16 6 30 8 . (𝐼 ) = (
3 −12
0 12 8 34 𝐼4 40
b) (2.5 ptos.) Resolver con el método de Jacobi hasta que los errores sean menores que 0.5%.
Muestre el número de iteraciones.
Resolución en Matlab
>>%Declaramos las siguientes variables
>>A = [44 -10 -16 0 ; 10 23 -6 -12 ; -16 -6 30 -8 ; 0 -12 -8 34]
>>b = [20 ; 0 ; -12 ; 40]
>>tol=0.5/100
>>%Usamos la función jacobi
>>JACOBI(A,b,20,tol)
Resultado
y =
0.7824 0.5869 0.5363 1.5093
iter =
14
error_final =
0.0036
ans =
0.7824 0.5869 0.5363 1.5093
Es decir, nos salió, que las intensidades tienen los siguientes valores:
I1 = 0.7824A
I2 = 0.5869A
I3 = 0.5363A
I4 = 1.5093A
function[y,error_final,iter]=JACOBI(A,b,max_iter,tol)
n=length(b);
iter=0;
error_final=2*tol;
x=zeros(1,n);
y=zeros(1,n);
while it<max_iter && error_final>tol
for i=1:n
S=0;
for j=1:n;
if i~=j;
S=S+A(i,j)*x(j);
end
end
y(i)=(b(i)-S)/A(i,i);
end
iter=iter+1;
error_final=norm(x-y,1);
x=y;
end
y
iter
error_final
end
c) (2.5 ptos.) Resolver con el método de Gauss-Seidel hasta que los errores sean menores que
0.5%. Muestre el número de iteraciones.
Código Matlab
% Resolver mediante Gauss-Seidel:
% VALORES INICIALES DE x2, x3, y x4 = 0
% ITERACIONES HASTA QUE EL ERROR DE x1 SEA MENOR A 0.5%
% Solucion:
% x1= (20 + 10*x2 + 16*x3 + 0*x4) / 44;
% x2= (0 - 10*x1 + 6*x3 + 12*x4) / 23;
% x3= (-12 + 16*x1 + 6*x2 + 8*x4) / 30;
% x4= (40 + 0*x1 + 12*x2 + 8*x3) / 34;
clear;
clc;
format('long','g');
i=1;
x2(i)=0;
x3(i)=0;
x4(i)=0;
error_x1(i)= 9999;
i=i+1;
end
disp(' x1 error(%)');
disp([x1',error_x1']);
disp(' x2 error(%)');
disp([x2',error_x2']);
disp(' x3 error(%)');
disp([x3',error_x3']);
disp(' x4 error(%)');
disp([x4',error_x4']);
disp('ITERACIONES');
disp(i);
x1 error(%)
0 9999
0.454545454545455 100
0.337956641513954 34.4981570740006
0.583915140721215 42.1223020357836
0.694622429867726 15.9377648037644
0.744036723676462 6.64137834011315
0.76611745722998 2.88216034566735
0.775982742913156 1.27132797388516
0.780390467808907 0.564810191509186
0.782359796192174 0.251716459978084
x2 error(%)
0 0
-0.197628458498024 100
0.354866763528046 155.690889880254
0.476677927156419 25.5541858955012
0.538563156847242 11.4908026856312
0.565767664527147 4.80842391419494
0.577948942902314 2.10767378758324
0.583389835417685 0.932634095600285
0.5858208683461 0.414978888559998
0.586907024782799 0.185064480545379
x3 error(%)
0 0
-0.197101449275362 100
0.133974909778312 247.118180263383
0.362287977663485 63.0197748646364
0.459499017080745 21.1558753781137
0.503218217052977 8.68792076492526
0.522734453697233 3.7334896344062
0.531455139338441 1.64090719906549
0.535351396812164 0.727794397646961
0.5370922107269 0.324118257529601
x4 error(%)
0 0
1.06034255599473 100
1.33324118942832 20.4688120647255
1.42995408668191 6.76335682063738
1.47466911820038 3.03220776556559
1.49455757972793 1.33072568078449
1.50344891012958 0.591395579972314
1.50742115116823 0.263512359208457
1.50919592925443 0.11759759298292
1.50998888185908 0.0525138041863158
ITERACIONES
10
Problema 02.
Mediante un dispositivo mecánico se ha determinado la distancia recorrida por un
atleta al desplazarse por una pista lineal:
distancia 0 6.7 14.5 25.1 39.2 50.3 62.9 75.3 90
t 0 1 2 3 4 5 6 7 8
nodos=[0 1 2 3 4 5 6 7 8];
N=length(nodos)-1;
fnodos=[0 6.7 14.5 25.1 39.2 50.3 62.9 75.3 90];
M=NaN(N+1,N+2);
%Rellenamos la primera Columna
M(:,1)=nodos;
%Rellenamos la segunda Columna
M(:,2)=fnodos;
for i=2:N+1
%Las diferencias divididas de orden i comienzan en la fila i y
%acaban en la fila N+1
for j=i:N+1
M(j,i+1)=(M(j,i)-M(j-1,i))/(M(j,1)-M(j-i+1,1));
end
end
disp(' X Y');
disp(M);
>> DiferenciasNewton
X Y
0 0 NaN NaN NaN NaN NaN NaN NaN NaN
1.0000 6.7000 6.7000 NaN NaN NaN NaN NaN NaN NaN
2.0000 14.5000 7.8000 0.5500 NaN NaN NaN NaN NaN NaN
3.0000 25.1000 10.6000 1.4000 0.2833 NaN NaN NaN NaN NaN
4.0000 39.2000 14.1000 1.7500 0.1167 -0.0417 NaN NaN NaN NaN
5.0000 50.3000 11.1000 -1.5000 -1.0833 -0.3000 -0.0517 NaN NaN NaN
6.0000 62.9000 12.6000 0.7500 0.7500 0.4583 0.1517 0.0339 NaN NaN
7.0000 75.3000 12.4000 -0.1000 -0.2833 -0.2583 -0.1433 -0.0492 -0.0119 NaN
8.0000 90.0000 14.7000 1.1500 0.4167 0.1750 0.0867 0.0383 0.0125 0.0030
OUTPUT:
L0:
((x - 1)*(x - 2)*(x - 3)*(x - 4)*(x - 5)*(x - 6)*(x - 7)*(x -
8))/40320
L1:
-(x*(x - 2)*(x - 3)*(x - 4)*(x - 5)*(x - 6)*(x - 7)*(x - 8))/5040
L2:
(x*(x - 1)*(x - 3)*(x - 4)*(x - 5)*(x - 6)*(x - 7)*(x - 8))/1440
L3:
-(x*(x - 1)*(x - 2)*(x - 4)*(x - 5)*(x - 6)*(x - 7)*(x - 8))/720
L4:
(x*(x - 1)*(x - 2)*(x - 3)*(x - 5)*(x - 6)*(x - 7)*(x - 8))/576
L5:
-(x*(x - 1)*(x - 2)*(x - 3)*(x - 4)*(x - 6)*(x - 7)*(x - 8))/720
L6:
(x*(x - 1)*(x - 2)*(x - 3)*(x - 4)*(x - 5)*(x - 7)*(x - 8))/1440
L7:
-(x*(x - 1)*(x - 2)*(x - 3)*(x - 4)*(x - 5)*(x - 6)*(x - 8))/5040
L8:
(x*(x - 1)*(x - 2)*(x - 3)*(x - 4)*(x - 5)*(x - 6)*(x - 7))/40320
POLINOMIO INTERPOLANTE:
(x*(x - 1)*(x - 2)*(x - 3)*(x - 4)*(x - 5)*(x - 6)*(x - 7))/448 -
(251*x*(x - 1)*(x - 2)*(x - 3)*(x - 4)*(x - 5)*(x - 6)*(x -
8))/16800 + (629*x*(x - 1)*(x - 2)*(x - 3)*(x - 4)*(x - 5)*(x -
7)*(x - 8))/14400 - (503*x*(x - 1)*(x - 2)*(x - 3)*(x - 4)*(x -
6)*(x - 7)*(x - 8))/7200 + (49*x*(x - 1)*(x - 2)*(x - 3)*(x - 5)*(x
- 6)*(x - 7)*(x - 8))/720 - (251*x*(x - 1)*(x - 2)*(x - 4)*(x -
5)*(x - 6)*(x - 7)*(x - 8))/7200 + (29*x*(x - 1)*(x - 3)*(x - 4)*(x
- 5)*(x - 6)*(x - 7)*(x - 8))/2880 - (67*x*(x - 2)*(x - 3)*(x -
4)*(x - 5)*(x - 6)*(x - 7)*(x - 8))/50400
c) (2 ptos.) Aproxime la distancia recorrida a los 4.5 segundos con todos los datos usando el
método de Newton y Lagrange.
clear ;
clc;
fprintf('Interpolacion con el polinomio de LAGRANGE\n\n');
n=input('Grado del polinomio: ');
for i=1:(n+1)
x(1,i)=input('DAME LOS VALORES XI: ');
end
for i=1:(n+1)
xi(1,i)=input('Dame los valores de F(x): ');
end
x
xi
xint=input('Numero pasa el que desea interpolar x: ');
fxint=0;
i=1;
while i<=n+1
L=1;
J=0;
while J<=n
if i~=J+1
L=L*(xint-x(1,J+1))/(x(1,i)-x(1,J+1));
end
J=J+1;
end
fxint=fxint+L*xi(1,i);
i=i+1;
end
fprintf('\nResultado xi: %d',fxint);
Resultado xi:44.84>>
Problema 03.
Ingrese los puntos pertenecientes a las x: [1.0 1.2 1.3 1.4 1.6]
Ingrese los puntos pertenecientes a las y: [8.1234 7.7651 7.0012 6.3425 4.8793]
L0:
(625*(x - 6/5)*(x - 7/5)*(x - 8/5)*(x - 13/10))/9
L1:
-625*(x - 1)*(x - 7/5)*(x - 8/5)*(x - 13/10)
L2:
(10000*(x - 1)*(x - 6/5)*(x - 7/5)*(x - 8/5))/9
L3:
-625*(x - 1)*(x - 6/5)*(x - 8/5)*(x - 13/10)
L4:
(625*(x - 1)*(x - 6/5)*(x - 7/5)*(x - 13/10))/9
POLINOMIO INTERPOLANTE:
- (19465*x^4)/144 + (1042891*x^3)/1440 - (2084003*x^2)/1440 + (2288731*x)/1800 -
12156773/30000
Aproxime E(1.25).
0.04*(-7.759904513888614) + 2.5*7.380532161458336
Ans=
18.140934223090298
Fecha: 30 de mayo de 2018