Académique Documents
Professionnel Documents
Culture Documents
INICIO:
i 1 {Redifinir unidad imaginaria}
si a3 1, entonces
a0 a0 / a3, a1 a1 / a3 {Hacer la unidad el trmino a3}
a2 a2 / a3, a3 1
fin_si
t a1 / 3 a2 ^ 2 / 9 {Variable temporal}
u (a1 * a2 3 * a0) / 6 a2 ^ 3 / 27 {Variable temporal}
d t^3+u^2 {Obtener discriminante}
s1 (u + d ^ 0.5) ^ (1/3) {Variable temporal}
s2 (u - d ^ 0.5) ^ (1/3) {Variable temporal}
si d > 0, entonces
escribir (Una raz real y dos complejas conjugadas)
sino
si d > 0, entonces
escribir (Todas las races son reales y diferentes)
sino
escribir (Races reales y al menos dos son iguales)
fin_si
fin_si
FIN
1. INICIO
2. LEER (a3, a2, a1, a0)
3. HACER i 1
4. Si a3 1, entonces
5. HACER a0 a0 / a3
a1 a1 / a3
a2 a2 / a3
a3 1
t a1 / 3 a2 ^ 2 / 9
u (a1 * a2 3 * a0) / 6 a2 ^ 3 / 27
d t^3+u^2
s1 (u + d ^ 0.5) ^ (1/3)
s2 (u - d ^ 0.5) ^ (1/3)
x1 (s1 + s2) a2 / 3
x2 - (s1 + s2) / 2 - a2 / 3 + 3 ^ 0.5 * (s1 s2) / 2 * i
x3 - (s1 + s2) / 2 - a2 / 3 - 3 ^ 0.5 * (s1 s2) / 2 * i
6. LEER d
7. si d > 0, entonces
8. escribir (Una raz real y dos complejas conjugadas, x1 x2 x3)
9. sino
10. si d > 0, entonces
11. escribir (Todas las races son reales y diferentes, x1 x2
x3))
12. sino
13. escribir (Races reales y al menos dos son iguales, x1 x2
x3))
14. fin_si
15. fin_si
16. fin_si
17. FIN
ALGORITMO MTODO DE SUBSTITUCIONES SUCESIVAS
(Utilizado en el Problema No.2)
INICIO
Tol 0.001 {Tolerancia de convergencia}
Nmax 50 {Nmero mximo de iteracione}
iter 0 {Inicializador contador de iteraciones}
x1 xsup {Copiar primer valor inicial}
convergi falso
mientras (iter <= Nmax) y (no convergi), hacer
iter iter + 1 {Incrementar contador de iteraciones}
x2 g (x1)
si abs((x2 x1) / x1) <= Tol, entonces hacer
convergi verdadero {Cambiar valor lgico}
sino
x1 x2
fin_si
fin_mientras
1. INICIO
2. LEER xsup
g (x)
3. HACER Tol 0.001
Nmax 50
iter 0
x1 xsup
convergi falso
4. MIENTRAS (iter <= Nmax) y (no convergi), hacer
5. HACER iter iter + 1
x2 g (x1)
6. si abs((x2 x1) / x1) <= Tol, entonces hacer
7. convergi verdadero
8. sino
9. x1 x2
10. fin_si
11. fin_mientras
12. si convergi = verdadero, entonces hacer
13. raz x2
14. sino
15. raz (valor no determinado)
16. escribir (El mtodo no convergi despus de, Nmax, iteraciones)
17. fin_si
18. FIN
ALGORITMO MTODO DE BISECCION
INICIO
Tol 1e^5 {Tol de convergencia}
Nmax 50 {No mximo de iteraciones}
yizq f(xizq) {Obtener el valor de la funcin de extremo izq}
yder f(xder) {Obtener el valor de la funcin extremo der}
iter 1 {Inicializador contador de iteraciones}
convregi falso
mientras (iter <= Nmax) y (no convregi) hacer
xmed (xizq + xder) / 2 {Obtener punto intermedio y calcular}
ymed f(xmed)
si abs (ymed) <= Tol o (xder - xizq) / 2 <= Tol, entonces hacer
convregi verdadero
si ymed * yizq > 0, entonces hacer {Extremo tienen mismo
signo,entnes}
xizq xmed
yizq ymed
sino
xder xmed
yder ymed
fin_si
iter iter + 1 {Incrementar contador de iteraciones}
fin_si
fin_mientras
si convergi = verdadero, entonces hacer
raz xmed {Valor solucin, raz localizada}
sino
raz (valor no determinado)
fin_si
FIN
1. INICIO
2. LEER xizq, xder
f(x)
3. HACER Tol1e^5
Nmax50
yizq f(xizq)
yder f(xder)
iter 1
convregi falso
4. MIENTRAS (iter <= Nmax) y (no convregi)
5. HACER xmed (xizq + xder) / 2
ymed f(xmed)
6. si abs (ymed) <= Tol o (xder - xizq) / 2 <= Tol
7. HACER convregi verdadero
8. sino
9. HACER iter iter + 1
10. si ymed * yizq > 0
11. HACER xizq xmed
yizq ymed
12. sino
13. HACER xder xmed
yder ymed
14. fin_si
15. fin_si
16. fin_MIENTRAS
17. si convergi = verdadero
18. HACER raz xmed
19. sino
20. HACER raz (valor no determinado)
21. fin_si
22. FIN
ALGORITMO MTODO DE NEWTON RAPHSON
INICIO
epsilon 1e-5{Tol de convergencia}
Nmax 50 {No mximo de iteraciones}
iter 1 {Inicializador contador de iteraciones}
convergi falso
mientras (iter <= Nmax) y (no convergi) hacer
1. INICIO
2. LEER xsup
deltax
f(x)
3. HACER epsilon 1e-5
Nmax 50
iter 1
convergi falso
4. MIENTRAS (iter <= Nmax) y (no convergi)
5. HACER deriv (f(xsup + deltax) f(xsup)) / deltax
xcalc xsup f(xsup) / deriv
6. si abs((xcalc xsup) / xsup) <= Tol
7. HACER convergi verdadero
8. sino
9. HACER iter iter + 1
xsup xcalc
10. fin_si
11. fin_MIENTRAS
12. si convergi = verdadero
13. HACER raz xcalc
14. sino
15. HACER raz (valor no determinado)
16. fin_si
17. FIN
ALGORITMO METODO DE LA SECANTE
INICIO
epsilon 1e-5 {Tol de convergencia}
Nmax 50 {No mximo de iteraciones}
iter 1 {Inicializador contador de iteraciones}
x1 xizq {Copiar valor extremo izquierdo}
y1 f(x1) {Obtener valor de la funcin}
x2 xder {Copiar valor extremo derecho}
y2 f(x2) {Obtener valor de la funcin}
convergi falso
mientras (iter <= Nmax= y (no convergi) hacer
iter iter + 1 {Incrementar contador de iteraciones}
si abs (y3) <= Tol o abs ((x3 x2) / x2) <= Tol, entonces hacer
convergi verdadero
sino
x1 x2
y1 y2
x2 x3
y2 y3
fin_si
fin_mientras
1. INICIO
2. LEER xizq, xder
f(x)
3. HACER iter 0
epsilon 1e-5
Nmax 50
x1 xizq
y1 f(x1)
x2 xder
y2 f(x2)
convergi falso
4. MIENTRAS (iter <= Nmax= y (no convergi)
5. HACER iter iter + 1
x3 x1 y1 * (x2 x1) / (y2 y1)
y3 f(x3)
6. si abs (y3) <= Tol o abs ((x3 x2) / x2) <= Tol
7. HACER convergi verdadero
8. sino
9. HACER x1 x2
y1 y2
x2 x3
y2 y3
10. fin_si
11. fin_MIENTRAS
12. si convergi = verdadero
13. HACER raz x3
14. sino
15. HACER raz (valor no determinado)
16. fin_si
17. FIN
ALGORITMO METODO DE LA FALSA POSICION
INICIO
epsilon 1e-5 {Tol de convergencia}
Nmax 50 {No mximo de iteraciones}
iter 1 {Inicializador contador de iteraciones
x1 xizq {Copiar valor izq}
x2 xder {Copiar valor der}
y1 f(x1) {Evaluar funcin x1}
y2 f(x2) {Evaluar funcin x2}
convergi falso
mientras (iter <= Nmax) y (no convergi) hacer
iter iter + 1 {Incrementar contador de iteraciones}
x3 x1 y1 * (x2 x1) / (y2 y1) {Mtodo falsa posicin}
y3 f(x3) {Evaluar funcin}
1. INICIO
2. LEER xizq, xder
f(x)
INICIO
Delta 1e ^6
epsilon 1e-5 {Tol de convergencia}
Nmax 50 {No mximo de iteraciones}
iter 1 {Inicializador contador de iteraciones}
convergi falso
mientras (iter <= Nmax) y (no convergi) hacer
{Evaluar derivada nmerica}
deriv1 (f(xsup + deltax) f(xsup)) / deltax
{Evaluar 2da. derivada nmerica}
deriv2 deriv2 =(f(xsup+delta*2)-2*f(xsup+delta)+f(xsup))/delta^2
Fun deriv1-sqrt(deriv1^2-2*f(f,xsup)*deriv2)
function[raiz] = Me_Tay(xsup,f)
Nmax = 50; %Nmero mximo de iteraciones
epsilon = 1e-8; %Constante de tolerancia en la convergencia
delta =1e-6; %Delta x
iter =1;
convergio = false;
while (iter <= Nmax & ~convergio)
deriv1 = (feval(f, xsup+delta) - feval(f, xsup)) /delta;
%Segunda derivada nmerica
deriv2 =(feval(f,xsup+delta*2)-
2*feval(f,xsup+delta)+feval(f,xsup))/delta^2
Fun= deriv1-sqrt(deriv1^2-2*feval(f,xsup)*deriv2);
xcalc=xsup-(Fun/deriv2);
convergio = abs((xsup-xcalc)/xsup) <= epsilon;
if ~convergio
xsup = xcalc;
iter = iter +1;
end
end
if convergio
raiz = xcalc;
else
raiz = NaN;
end
end
MTODO DE SUBSTITUCIONES SUCESIVAS
(IMPLEMENTADO EN PROBLEMA No 2)