problema 1
Post on 22-Feb-2023
2 Views
Preview:
TRANSCRIPT
Problema 1
Crear un archivo enlfx.m (ecuaciones no lineales f(x)) que contendrá la función cuyas raíces se quieren hallar. En particular, tomaremos f(x)=2xCos(2x)-(x+1)2 . Para representar la función en el intervalo [-6, 6], se puede utilizar: » z=linspace(-6,6,50);fz=enlfx(z); » plot(z,fz);grid on;
function biseccion(f,a,b,tol)f=inline(f); n=ceil(log((b-a)/tol)/log(2));fprintf('\n it. a b x f(x)\n')for i=1:n x=(a+b)/2; fprintf('%3.0f%10.10f%10.10f%10.10f%10.10f\n',i,a,b,x,f(x)) if f(a)*f(b)<0 b=x; else a=x; endendfprintf('\n La aproximacion de la raiz es %3.10f\n \n',x)
Problema 2
Use cuatro iteraciones del método del la Bisección para determinar las raíces de 6 02 e x x en el intervalo [0,0.5]. ¿Cuántas iteraciones son necesarias para obtener la aproximación a la raiz redondeada a 5 cifras decimales?
function biseccion(f,a,b,tol)f=inline(f); n=ceil(log((b-a)/tol)/log(2));fprintf('\n it. a b x f(x)\n')for i=1:n x=(a+b)/2; fprintf('%3.0f%10.10f%10.10f%10.10f%10.10f\n',i,a,b,x,f(x)) if f(a)*f(b)<0 b=x; else a=x; endendfprintf('\n La aproximacion de la raiz es %3.10f\n \n',x)
Problema 3
Desarrolle cuatro iteraciones usando el método de Newton Raphsonpara obtener las raíces de 6 0 2 e x x . Use x= 0.4 como valor inicial. Dar un estimado para el error involucrado
cf=input('Ingrese funcion a evaluar: ');syms xf=inline(cf);derivada = diff(cf,x);df=inline(derivada);tol=input('Ingrese tolerancia: ');error = 50;x=input('Ingrese un valor inicial: ');n=0;disp(' n x1 error')while(error>tol)fprintf('\t%i\t%3.5f\t%f\n', n, x, error);n=n+1;x=x-f(x)/df(x);error=abs(f(x));end
Problema 4
Sea la función no lineal 2 ( ) 3cos(2 ) f x x x ¿Es posible encontrar un algoritmo del punto fijo en [0,1] x ? Justifique. Si su respuesta es afirmativa realice 03 iteraciones.
function v=puntofijo(g,x0,maxi,tol) g=inline(g);v=[0 x0 g(x0)];i=1;x1=g(x0);v=[v;i x1 g(x1)];while (i<maxi & abs(x1-x0)>tol)x0=x1;i=i+1;x1=g(x0);v=[v; i x1 g(x1)];endif(i==maxi)fprintf('el metodo fracaso despues de %2.0f iteraciones',i)fprintf('\n')elsefprintf('el metodo tuvo exito despues de %5.0f iteraciones',i)fprintf('\n')fprintf('resultados obtenidos:')fprintf('\n')fprintf(' i x_i g(x_i) ')fprintf('\n')v;end
Problema 5
Programar la función pfijo.m según el algoritmo siguiente, usando como función de iteración 2 3( ) 2 x x g x para encontrar la aproximación con un error menor que 0.001 tomando un valor inicial aleatorio en el intervalo [1,2]. Escribir los resultados en la tabla, indicando el número de iteraciones “n‟.
function v=puntofijo(g,x0,maxi,tol) g=inline(g);v=[0 x0 g(x0)];i=1;x1=g(x0);v=[v;i x1 g(x1)];while (i<maxi & abs(x1-x0)>tol)x0=x1;i=i+1;x1=g(x0);v=[v; i x1 g(x1)];endif(i==maxi)fprintf('el metodo fracaso despues de %2.0f iteraciones',i)fprintf('\n')elsefprintf('el metodo tuvo exito despues de %5.0f iteraciones',i)fprintf('\n')fprintf('resultados obtenidos:')fprintf('\n')fprintf(' i x_i g(x_i) ')fprintf('\n')v;end
Problema 6
Se desea resolver x2-sen(x)=0 usando Newton-Raphson mediante un programa en MATLAB, complete las instrucciones que faltan:
COMPLETANDO EL CODIGO:x=1 % aproximación inicial tol= 0.001 % precisión de 6 cifras decimales exactos err=1 while err>tol ;n= n+1;xn= x – f(x)/ df(x) ;err=abs(xn-x);end
EN EL MATLABPara f(x) = x2 – sen x X0 = 0.5Mediante Newton – Raphson
top related