PROBLEMA 5.4 METODO DE FALSA POSICION

Anuncio
INSTITUTO TECNOLOGICO DE MATEHUALA
METODOS NUMERICOS
TRABAJO: SOLUCION PROBLEMA 5.A
EQUIPO :
Pablo Gone Jose Alberto.
Gerrero Mata Francisco.
Puente Hernandez Edgar.
Puente Cedillo Oscar.
Sandoval Roriguez Cesar.
Semestre: Quinto
Docente: Ing. Martín Luis Ledezma Hernández
Periodo: Agosto-Diciembre
Matehuala s.l.p
Metodo de solucion grafica.
En esta parte se muestran los graficos de las raizes.
Grafico de solucion y raiz 1.
Grafico de la solucion y raiz 2.
Grafico de la solucion y
raiz 3.
CODIGO MATLAB
clear Z
fprintf('\n\n\n\n\t\t\tPROGRAMA QUE RESUELVE UN EJERCICIO DE RAICES
DEL METODO DE FALSA POSICION\n');
fprintf('\t\t\t ECUACIONES POR EL METODO DE FALSA POSICION');
Salir=1;
while Salir==1
Funcion=input('\n\nDIGITE LA FUNCION F(x): ','s');
if isempty(Funcion)
fprintf('\t*** ESCRIBA LA FUNCION A LA CUAL DESEA
ENCONTRAR LAS RAICES ***');
else
Salir=0;
end
end
Salir=1;
while Salir==1
B=input('\nDIGITE EL VALOR DE B: ');
if isempty(B)
fprintf('\t*** ESPECIFICAR EL INTERVALO MENOR (B) ***\n');
else
Salir=0;
end
end
D=B-1;
while C<=B
Salir=1;
while Salir==1
D=input('\nDIGITE EL VALOR DE D: ');
if isempty(D)
fprintf('\t*** DEBE ESPECIFICAR EL INTERVALO MAYOR (D) ***\n');
else
Salir=0;
end
end
if (D<=B)
fprintf('\t*** VALOR ERRONEO, NO PUEDE SER MENOR QUE %.2f
***\n',B);
end
end
Salir=1;
while Salir==1
N=input('\nDIGITE LA CANTIDAD DE ITERACIONES A REALIZAR: ');
if isempty(N)
fprintf('\t*** ESPECIFICAR LA CANTIDAD DE ITERACIONES A
RESOLVER ***\n');
else
Salir=0;
end
end
R=-1;
while (R<=0 | R>100)
Salir=1;
while Salir==1
R=input('\nDIGITE EL VALOR DEL CRITERIO DE PARADA: ');
if isempty(R)
fprintf('\t*** ESPECIFICAR EL VALOR DEL CRITERIO DE
PARADA ***\n');
else
Salir=0;
end
end
if (R<=0 | R>100)
fprintf('\t*** VALOR ERRONEO, NO PUEDE SER NEGATIVO O MAYOR
QUE 100 ***\n');
end
end
Z(1,8)=101;
I=1;
Z(1,2)=A;
Z(1,4)=C;
Salir=1;
while (Z(I,8)>=R & I<=N)
Z(I,1)=I-1;
x=Z(I,2); X=Z(I,2);
Z(I,5)=eval(Funcion);
x=Z(I,4); X=Z(I,4);
Z(I,7)=eval(Funcion);
if I==1
if Z(I,5)*Z(I,7)>0
fprintf('\n\t\t\t*****************************************************\n');
fprintf('\t\t\t*** NO EXISTEN RAICES REALES EN EL INTERVALO DADO
***\n');
fprintf('\t\t\t*****************************************************\n');
Salir=0;
break;
end
end
Z(I,3)=(Z(I,2)*Z(I,7) - Z(I,4)*Z(I,5))/(Z(I,7)-Z(I,5));
X=Z(I,3);x=Z(I,3);
Z(I,6)=eval(Funcion);
if Z(I,5)*Z(I,6)<0
Z(I+1,2)=Z(I,2);
x=Z(I+1,2); X=Z(I+1,2);
Z(I+1,5)=eval(Funcion);
Z(I+1,4)=Z(I,3);
x=Z(I+1,4); X=Z(I+1,4);
Z(I+1,7)=eval(Funcion);
elseif Z(I,6)*Z(I,7)<0
Z(I+1,2)=Z(I,3);
x=Z(I+1,2); X=Z(I+1,2);
Z(I+1,5)=eval(Funcion);
Z(I+1,4)=Z(I,4);
x=Z(I+1,4); X=Z(I+1,4);
Z(I+1,7)=eval(Funcion);
end
Z(I+1,3)=(Z(I+1,2)*Z(I+1,7) - Z(I+1,4)*Z(I+1,5))/(Z(I+1,7)-Z(I+1,5));
if Z(I+1,3)~=0
Z(I+1,8)=abs((Z(I+1,3)-Z(I,3))/Z(I+1,3))*100;
end
I=I+1;
end
if Salir==1
fprintf('\n\n\tIter\t\tA\t\t\tB\t\t\tC\t\t\tF(a)\t\t\tF(b)\t\t\tF(c)\t\t\tErr');
for J=1:I
if J==1
fprintf('\n\t%d \t\t%.5f \t\t%.5f \t\t%.5f \t\t%.5f \t\t%.5f \t\t%.5f \t\t------',J1,Z(J,2),Z(J,3),Z(J,4),Z(J,5),Z(J,6),Z(J,7));
else
fprintf('\n\t%d \t\t%.5f \t\t%.5f \t\t%.5f \t\t%.5f \t\t%.5f \t\t%.5f \t\t%.5f',J1,Z(J,2),Z(J,3),Z(J,4),Z(J,5),Z(J,6),Z(J,7),Z(J,8));
end
end
fprintf('\n\n\tLA RAIZ DE LA FUNCION EN EL INTERVALO DADO ES:
%.5f\n\n',Z(J,3));
ezplot(Funcion);
grid on;
hold on;
plot(Z(J,3),Z(J,6),'r*');
end
RESULTADO 1
PROGRAMA QUE RESUELVE UN EJERCICIO DE RAICES DE FALAS POSICION
ECUACIONES POR EL METODO DE FALSA POSICION
DIGITE LA FUNCION F(x): -2.5*x.^3+17*x.^2-22*x-11
DIGITE EL VALOR DE B: -1
DIGITE EL VALOR DE C: 0
DIGITE LA CANTIDAD DE ITERACIONES A EJECUTAR: 3
DIGITE EL VALOR DEL CRITERIO DE PARADA: 50
Iter A B C F(a) F(b) F(c) Err
0 -1.00000 -0.26506 0.00000 30.50000 -3.92775 -11.00000 -----1 -1.00000 -0.34891 -0.26506 30.50000 0.00000 -3.92775 24.03130
RESULTADO 2
PROGRAMA QUE RESUELVE UN EJERCICIO DE RAICES DE FALSA POSICION
ECUACIONES POR EL METODO DE FALSA POSICION
DIGITE LA FUNCION F(x): -2.5*x.^3+17*x.^2-22*x-11
DIGITE EL VALOR DE A: 2
DIGITE EL VALOR DE C: 3
DIGITE LA CANTIDAD DE ITERACIONES A EJECUTAR: 5
DIGITE EL VALOR DEL CRITERIO DE PARADA: 70
Iter A B C F(a) F(b) F(c) Err
0 2.00000 2.45161 3.00000 -7.00000 0.40344 8.50000 -----1 2.00000 2.42700 2.45161 -7.00000 0.00000 0.40344 1.01402
RESULTADO 3
PROGRAMA QUE RESUELVE UN EJERCICIO DE RAICES DE FALSA POSICION
ECUACIONES POR EL METODO DE FALSA POSICION
DIGITE LA FUNCION F(x): -2.5*x.^3+17*x.^2-22*x-11
DIGITE EL VALOR DE A: 4
DIGITE EL VALOR DE B: 5
DIGITE LA CANTIDAD DE ITERACIONES A REALIZAR: 2
DIGITE EL VALOR DEL CRITERIO DE PARADA: 50
Iter A B C F(a) F(b) F(c) Err
0 4.00000 4.60465 5.00000 13.00000 4.06660 -8.50000 -----1 4.60465 4.73259 5.00000 4.06660 0.00000 -8.50000 2.70331
Descargar