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