Académique Documents
Professionnel Documents
Culture Documents
Alumnos:
Cristóbal Sagredo A
2623041-1
Ignacio Abarca
2623041-1
Tarea 1
Contenidos
Contenidos 2
Listado de Figuras 3
Listado de Tablas 3
1.4. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Listado de Figuras
2. Conexión de la simulación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Listado de Tablas
1. Resultados de la pregunta 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1
Pregunta 1: Solución de Ecuaciones No Lineales
En primera instancia se trata de resolver el problema analíticamente, para comparar si los algo-
ritmos que usaremos para la búsqueda de ceros concuerdan con el valor real y con la tolerancia
esperada. Al evaluar las constantes R1 , R2 , R3 (dadas en el problema) y el ángulo input α = π/4 ,
la ecuación 1 , desarrollándola y evaluando algunos términos, se transforma en :
π π
1,66 · cos( ) − 2,5 cos(φ) − cos( − φ) = 0
6 4
0,5 · sin(φ) + 3,36 · cos(φ) − 1,43 = 0
Llegando finalmente a la ecuación principal en nuestro problema de búsqueda de ceros, con φ
como variable:
f (φ) = 0,5 · sin(φ) + 3,36 · cos(φ) − 1,43 (2)
Según el siguiente gráfico:
Según el gráfico se puede observar que hay varias raíces en el intervalo [0 2π], así que nos
quedaremos con la solución cercana a 2 como se muestra en el gráfico. Igualando a 0 la ecuación
2 obtenemos:
f (φ) = 0,5 · sin(φ) + 3,36 · cos(φ) − 1,43 = 0 (3)
φ = 2,55936 (4)
Cabe destacar que es una buena forma de empezar, ver el gráfico de la función para poder darle
buenos puntos de partidas a nuestros algoritmos con el fin de hacerlos más eficaces. La toleran-
cia para todos será de 10−4 y veremos como se comportan frente al número de iteraciones y de
´su error con respecto a la solución analítica. Para todos los métodos, exceptuando los métodos
de secantes, partiremos con un punto cercano a la solución para acelerar su convergencia. Con
los del tipo secante, se dan 2 puntos de partida cercanos a la solución.
clc;
clear all;
digits(2);
f= inline(’3.36*sin(x)+0.5*cos(x)-1.43’);
g = inline(’x’);
solan= solve(’3.36*sin(x)+0.5*cos(x)-1.43=0’);
fplot(f,[0 2*pi]);grid on; hold on;
%fplot(g,[0 2*pi]);
df1=diff(’3.36*sin(x)+0.5*cos(x)-1.43’);
df=inline(’3.36*cos(x) - 0.5*sin(x)’);
%NEWTON RAPHSON
MAXITER=400;
TOL=10e-4;
a = 1;
b =3;
itern=0;
iterb=0;
iters=0;
xnewton=2;
while 2
dx = -f(xnewton)/df(xnewton);
xnewton = xnewton+dx;
ex = abs(dx);
itern=itern+1;
if ex<TOL
break
end
end
xnewton
itern
%BISECCIÓN
while 1
c = a+(b-a)/2;
if f(a)*f(c)<0
b = c;
else
a = c;
end
iterb = iterb+1;
ex = b-a;
if ex<TOL
break
end
end
c
iterb
%SECANTE
xsecante1=1;
xsecante2=5;
while 2
dxs = -f(xsecante1)*(xsecante1-xsecante2)/(f(xsecante1)-f(xsecante2));
xsecante = xsecante1+dxs;
xsecante1=xsecante2;
xsecante2=xsecante;
exs = abs(dxs);
iters=iters+1;
if exs<TOL
break
end
end
xsecante
iters
%POSICIÓN FALSA
p0=1;
p1f=5;
q0=f(p0);
q1=f(p1f);
i=0;
while 3
p=p1f-q1*(p1f-p0)/(q1-q0);
i=i+1;
if abs(p-p1f)<TOL
break
end
q=f(p);
if q*q1<0
p0=p1f;
q0=q1;
end
p1f=p;
q1=q;
end
p;
i;
%Punto fijo
g = inline (’x+3.36*sin(x)+0.5*cos(x)-1.43’);
a=1;
it=0;
while 4
b=g(a);
it=it+1;
if (abs(a-b) <= TOL),
break;
end
a=b;
end
b
it
1.4. Resultados
1.5. Conclusiones
· Generales: Los métodos utilizados para la búsqueda de ceros resultaron muy precisos, en
las soluciones encontradas con respecto a la solución analítica. Estos métodos proporcio-
nan una buena alternativa para encontrar soluciones de ecuaciones no lineales o que son
complicadas de encontrar una solución analítica. Con la ayuda del computador, algunos
métodos son muy fáciles de implementar, ahora, si no se dispone de un pc puede ser casi
imposible iterar a "papel y lápiz", por cuestión de que convergían con demasiadas itera-
ciones.
· Newton Raphson: Resultó ser el método mas eficiente para el cálculo de las raíces, no
superó las 4 iteraciones (convergencia cuadrática), además el error con respecto a la solu-
ción analítica es demasiado poco (orden de 10−10 ). Recomendaríamos utilizar este método
cuando no se posea un PC, ya que es bajo el número de iteraciones para que converja. Su
inconveniente es que hay que calcular la derivada de la función en juego.
· Secante: Su implementación en Matlab resultó ser muy parecido a Newton Raphson ya
que usa una aproximación de la derivada, calculada con el método mencionado anterior-
mente. Su precisión es menor que Newton raphson pero es más fácil ya que no se calcula
la derivada de la función, se observa que necesita de 2 valores de partida, a diferencia de
los demás.
· Secante Falsa posición: Se observa que se ahorra una iteración con respecto al método de
la secante. Su implementación es casi igual al método de la secante, con la diferencia que
acorta el intervalo de búsqueda de cero al tomar en cuenta el cambio de signo de la función
en el intervalo.
· Bisección: Es un buen método por su simplicidad, aunque son varias las iteraciones que
hay que hacer, se puede ahorrar iteraciones si es que se da un intervalo pequeño, el cual
encierre la solución. Es una buena aproximación para seguir implementando otro método,
para así tener la solución mas acotada y ahorrar iteraciones, o asegurar su convergencia.
· Punto fijo: Es el método mas primitivo e intuitivo que implementamos, el orden de conver-
gencia es elevadísimo, pero esto se puede compensar en lo fácil que es su algoritmo. No es
recomendable para una solución a problemas sin ayuda de un PC.
2
Pregunta 2: Carga del Condensador en Circuito RLC
2.1. Introducción
El problema trata de un modelo eléctrico que consta de una fuente en paralelo con un capacitor
y a la vez con una inductancia en serie con un resistor , al tiempo o se desconecta la fuente
, entonces las ecuaciones para la carga del capacitor quedan definidas por los parámetros de
inductancia , resistencia y capacitancia del sistema en serie. El problema es encontrar un valor
para la resistencia, con todos los demás parámetros conocidos (capacitancia e inductancia ) de
modo que al tiempo 0.05 segundos obtener una carga en el capacitor igual al 1 % del valor inicial
(en el tiempo 0).
R1 =280
R2 =400
Lo cual es un buen rango en donde buscar R y además entre estos valores la funcione es
continua. Ahora , utilizamos el método de Newton Raphson para encontrar buscar el resultado,
con lo cual es muy probable encontrar el resultado en pocas iteraciones por que este método
tiene convergencia cuadrática .
clear
clc
syms q k tol maxiter R L C t g error del n dg parametro x y Rm gm
%maxiter=100
L=5
C=10^(-4)
t=0.05
g=exp(-R.*t./(2.*L)).*cos(sqrt((1/(L.*C))-(R./(2*L)).^2).*t)-0.01
del=-(g/dg)
%maxiter=100
L=5
C=10^(-4)
t=0.05
g=exp(-R.*t./(2.*L)).*cos(sqrt((1/(L.*C))-(R./(2*L)).^2).*t)-0.01
del=-(g/dg)
R=280
eval(g)
% aca tengo un avlo negativo para g
R=400
eval(g)
tol=10^(-3)
dg=diff(g,1)
k=0
maxiter=100
R=280
parametro=abs(del)
y=inline(’abs(cos((2000 - R^2/100)^(1/2)/20)/exp(R/200) - 1/100)/abs((R*sin((2000 - R^2/1
x=inline(’-(cos((2000 - R^2/100)^(1/2)/20)/exp(R/200) - 1/100)/((R*sin((2000 - R^2/100)^(
if y(280)>tol
n=2
Rm=280
while n>1
Rm=Rm+x(Rm)
k=k+1
if y(Rm)<tol
n=0
end
if k>maxiter
n=0
end
end
end
Rm
% donde x es g pero con inline de modo de facilitar su llamado o evaluacion
% con distintos valores de R
x(Rm)
Simulando este circuito, son los parámetros indicados en el problema más el R encontrado
con el método iterativo, nos fijamos una fuente de 100[v] , y como sabemos que la tensión
es proporcional a la carga en el capacitor, entonces para los resultados del psim, deberíamos
obtener una tensión de 1[v], lo cual es lo apreciable en el gráfico obtenido por psim:
Básicamente podemos concluir lo mismo que se dijo del método de newton raphson, ahora se
comprobó el resultado por 2 maneras diferentes: Matlab y simulación hecha en una interfaz grá-
fica que da psim, llegando a valores muy precisos y con una gráfica de la carga en el condensador.
Podemos decir que se puede simular muy eficazmente al tener psim en el PC.
3
Pregunta 3: Masa a lo largo del espacio
3.1. Introducción
El problema trata de realizar una integración de una curva paramétrica con el fin de obtener
su masa, que es variable dentro de la trayectoria de la curva. Una gráfica de la curva dada se
presenta a continuación:
Ahora tratamos de encontrar una expresión para calcular la masa de la curva, según:
dm = δ(t) · ds (8)
q
d(t+t2 )2
p
ds = sen2 (t) + cos2 (t) + dt =2· t2 + t + 0,5dt
Z 2 p Z 2 p
t2 + t + 0,5dt + t2 + t + 0,5 · cos(2t)dt
1 1
Obteniendo como resultado :
M=0.3239
M=0.2267
Cabe destacar que no podemos tener una antiderivada de M, ya que la integral de la ecuación 9
es demasiado complicada, no obteniendo resultados posibles en una calculadora programable ni
en Matlab. El resultado con que se llegó a M, fue calculado por una aproximación numérica que
es el comando quad, de Matlab. Y para calcular B, tal que el resultado sea de un 79 % de la masa,
pasamos a usar a la regla de integración de Simpson 1/3, lo cual nos dará una aproximación
de la integral, pero dependiente del límite de integración B, que es lo que queremos buscar, ya
que no pudimos encontrar una forma analítica para resolver esta integral; así que consideramos
pertinente y buena aproximación resolverla mediante la regla de simpson:
Z b N −1
h X
f (x)dx = (f (x2k ) + 4f (x2k+1 ) + f (x2k+2 )
a 3
k=0
Con
b−a
h=
2N
Para luego implementar el algoritmo de newton raphson para encontrar b.
clc
clear
close all
syms t s r
sym s
a=1; %intervalo de integración inferior
b=2; %intervalo de integración superior
tol= power(10,-3); %tolerancia
km= inline(’power(cos(t),2).*sqrt(4.*power(t,2)+4*t+2)’); %función
m= quad(km,a,b,tol); %resultado de M (integral)
MasaI=0.7*m;
fprintf(’El resultado a través del integral es’)
MasaI
% -----------------------------aproximacion integral(simpson)------------------------
n=10;
sb=0;
e=((b-s)/n);
for i=0:(n-1)
sa=km(b+(e*i))+4*km(b+(e/2)+(e*i))+km(b+e+(e*i));
sb=sb+sa;
end
int=(e/6)*sb;
int2=int-MasaI;
%--------método de Newton Raphson----------------%
f=(int2); %función
df1=diff(f,’s’); %derivada con respecto a s
f1=inline(f);
df1=inline(df1);
%NEWTON RAPHSON
MAXITER=400;
TOL=10e-4;
itern=0;
xnewton=1;
while 2
dx = -f1(xnewton)/df1(xnewton);
xnewton = xnewton+dx;
ex = abs(dx);
itern=itern+1;
if ex<TOL
break
end
end
xnewton
itern
l= quad(km,a,1.8252,tol);
% %resultado real b=1.8312
% %resultado método b=1.8375
fprintf(’el valor real es con b=1.8312 y con el resultado da’);
quad(km,a,1.8312,tol)
fprintf(’el valor Método Newton es con b=1.8375 y con el resultado da’);
quad(km,a,1.8375,tol)
El valor real de b es de 1,8312. Pero a través del método utilizado da 1.8375, un poco mayor que
el real pero con un error de 0.0063, esto es por el error en la aproximación del integral y el del
método. Al inicializar el método con un valor mas cercano al de convergencia, este itera menos
veces, haciéndolo mas eficaz. Se probó con 0 (6 iteraciones) y con 1 (5 iteraciones), pero como el
intervalo de integración era de [1,2], el valor de inicialización puede ser mayor que cero, en este
caso 1. Aunque no se pedía, tuvimos que ocupar la regla de simpson, porque la integral no nos
salió por ningún lado trivial, Matlab tampoco la pudo resolver analíticamente, esto es ocupando
el comando int y dándole límite de integración simbólico para que quede una expresión algebraica
para que esta ecuación se ocupe como f para el método de newton raphson.