Tarea Guia1 Metodos Borrador

6
Problema1 function output = problema1(x) output=2*x.*cos(2*x)-(x+1).^2; x=linspace(-6,6,50); y=problema1(x); %graficado la funcion plot(x,y) grid on %creando una tabla para observar donde hay un cambio de signo %lo que significaria la existencia de una raiz disp('x vs y') disp([x' y']) %fprintf('x=%4.0f y=%4.5f \n',x,y) vacio=[]; for i=1:length(x)-1 if y(i)*y(i+1)<0 vacio=[vacio; x(i) x(i+1)]; end end fprintf('el intervalo x[%4.5f , x=%4.5f] contiene una raiz \n',vacio) problema2 syms x %h viene a ser la funcion como cadena %a y b solo limites de los intervalos %tol era la tolerancia deseada en el ejercicio 2 h=exp(2*x)-6*x; f=inline(h); a=0; b=0.5; tol=0.0005; c=0;n=0;MEP=(b-a)/2; fprintf(' n a c b MEP \n') while (MEP>tol) c=(a+b)/2; disp([n,a,c,b,MEP]) fprintf('\n') if(f(a)*f(c)<0) b=c;

description

meto

Transcript of Tarea Guia1 Metodos Borrador

Page 1: Tarea Guia1 Metodos Borrador

Problema1

function output = problema1(x)output=2*x.*cos(2*x)-(x+1).^2; x=linspace(-6,6,50);y=problema1(x);%graficado la funcionplot(x,y)grid on %creando una tabla para observar donde hay un cambio de signo%lo que significaria la existencia de una raizdisp('x vs y')disp([x' y'])%fprintf('x=%4.0f y=%4.5f \n',x,y) vacio=[];for i=1:length(x)-1 if y(i)*y(i+1)<0 vacio=[vacio; x(i) x(i+1)]; endend fprintf('el intervalo x[%4.5f , x=%4.5f] contiene una raiz \n',vacio)

problema2

syms x

%h viene a ser la funcion como cadena%a y b solo limites de los intervalos %tol era la tolerancia deseada en el ejercicio 2h=exp(2*x)-6*x;f=inline(h);a=0;b=0.5;tol=0.0005; c=0;n=0;MEP=(b-a)/2;fprintf(' n a c b MEP \n') while (MEP>tol) c=(a+b)/2; disp([n,a,c,b,MEP]) fprintf('\n') if(f(a)*f(c)<0) b=c; else a=c; end MEP=(b-a)/2; n=n+1;endfprintf('la raiz encontrada es %f con una tolerancia de %f\n',c,tol)

Page 2: Tarea Guia1 Metodos Borrador

problema3

syms xF=exp(2*x)-6*x;df=diff(F,'x');F=inline(F);df=inline(char(df)); fprintf('\n k x f(x) |xn-x| \n')TOL=0.000005;n=0;%numero de iteracionesx0=0.4;fprintf('%3.0f %10.10f %10.10f \n',n,x0,F(x0)) x1=x0-F(x0)/df(x0); while abs(x0-x1)>TOLa=x0; n=n+1;fprintf('%3.0f %10.10f %10.10f %2.5f \n',n,x1,F(x1),a)x0=x1;x1=x0-F(x0)/df(x0);end fprintf('\n La aproximación de la raíz es: %3.10f \n\n',x1)

problema6

syms xF=x^2-sin(x);df=diff(F,'x');F=inline(F);df=inline(char(df)); fprintf('\n k x f(x) \n')TOL=0.000005;n=0;%numero de iteracionesx0=1;fprintf('%3.0f %10.10f %10.10f \n',n,x0,F(x0)) x1=x0-F(x0)/df(x0); while abs(x0-x1)>TOL n=n+1;fprintf('%3.0f %10.10f %10.10f \n',n,x1,F(x1))x0=x1;x1=x0-F(x0)/df(x0);end fprintf('\n La aproximación de la raíz es: %3.10f \n\n',x1)

Page 3: Tarea Guia1 Metodos Borrador

problema7

syms x y;j=jacobian([x^2+y^2-1;x*y+x-1],[x y]);% obtiene la matriz jacobiana para f1 y f2 en las variables x y yF1=inline(char(x^2+y^2-1),'x','y');% los paremetros ?x?,?y? permiten definir la función en terminos de dos variablesF2=inline(char(x*y+x-1),'x','y');J1=inline(char(j(1,1)),'x','y');J2=inline(char(j(1,2)),'x','y');J3=inline(char(j(2,1)),'x','y');J4=inline(char(j(2,2)),'x','y');% define cada función dependiente de las variables x y yE=0.00003+1;% inicializamos una variable para medir la distancia entre dos aproximaciones% como tol+1 para que el cilo empieceC=0;e=0;% nos permite contar las iteraciones que vamos realizando de modo que no% sobrecen a mx que es el número máximo de iteraciones.F=zeros(2,1); J=zeros(2,2);X0=[1;1];% inicializa el vector columna para que el producto este bien definido% e inicializa la matriz jacobiana en ceroswhile (E>0.00003 && C<15) % cuenta la iteraciónF(1)=F1(X0(1),X0(2)); F(2)=F2(X0(1),X0(2));fprintf('n=%1.0f, x=%3.5f, y=%3.5f, ',C,X0(1),X0(2));C=C+1;%muestra paso de la iteracion, la aproximación para x y yfprintf('f1(x,y)=%3.5e, f2(x,y)=%3.5e ',F(1),F(2)), disp([', |x(k+1)-x(k)|=' num2str(e)])%muestra el copmportamiento de las funciones del sistema (esperamos sean casi cero)J(1,1)=J1(X0(1),X0(2)); J(1,2)=J2(X0(1),X0(2));J(2,1)=J3(X0(1),X0(2)); J(2,2)=J4(X0(1),X0(2));H=-J\F;X1=X0+H;E=norm(X1-X0);e=E;X0=X1;end

problema8

syms x y;j=jacobian([y+x^2-1-x;x^2-2*y^2-y],[x y]);% obtiene la matriz jacobiana para f1 y f2 en las variables x y yF1=inline(char(y+x^2-1-x),'x','y');% los paremetros ?x?,?y? permiten definir la función en terminos de dos variablesF2=inline(char(x^2-2*y^2-y),'x','y');J1=inline(char(j(1,1)),'x','y');J2=inline(char(j(1,2)),'x','y');J3=inline(char(j(2,1)),'x','y');J4=inline(char(j(2,2)),'x','y');% define cada función dependiente de las variables x y yE=0.00003+1;% inicializamos una variable para medir la distancia entre dos aproximaciones% como tol+1 para que el cilo empieceC=0;e=0;% nos permite contar las iteraciones que vamos realizando de modo que no

Page 4: Tarea Guia1 Metodos Borrador

% sobrecen a mx que es el número máximo de iteraciones.F=zeros(2,1); J=zeros(2,2);X0=zeros(2,1);% inicializa el vector columna para que el producto este bien definido% e inicializa la matriz jacobiana en ceroswhile (E>0.00003 && C<15) % cuenta la iteraciónF(1)=F1(X0(1),X0(2)); F(2)=F2(X0(1),X0(2));fprintf('n=%1.0f, x=%3.5f, y=%3.5f, ',C,X0(1),X0(2));C=C+1;%muestra paso de la iteracion, la aproximación para x y yfprintf('f1(x,y)=%12.5e, f2(x,y)=%12.5e ',F(1),F(2)), disp([', |x(k+1)-x(k)|=' num2str(e)])%muestra el copmportamiento de las funciones del sistema (esperamos sean casi cero)J(1,1)=J1(X0(1),X0(2)); J(1,2)=J2(X0(1),X0(2));J(2,1)=J3(X0(1),X0(2)); J(2,2)=J4(X0(1),X0(2));H=-J\F;X1=X0+H;E=norm(X1-X0);e=E;X0=X1;end

problema10

syms x y;j=jacobian([1+x^2-y^2+exp(x)*cos(y);2*x*y+exp(x)*sin(y)],[x y]);% obtiene la matriz jacobiana para f1 y f2 en las variables x y yF1=inline(char(1+x^2-y^2+exp(x)*cos(y)),'x','y');% los paremetros ?x?,?y? permiten definir la función en terminos de dos variablesF2=inline(char(2*x*y+exp(x)*sin(y)),'x','y');J1=inline(char(j(1,1)),'x','y');J2=inline(char(j(1,2)),'x','y');J3=inline(char(j(2,1)),'x','y');J4=inline(char(j(2,2)),'x','y');% define cada función dependiente de las variables x y yE=0.00003+1;% inicializamos una variable para medir la distancia entre dos aproximaciones% como tol+1 para que el cilo empieceC=0;e=0;% nos permite contar las iteraciones que vamos realizando de modo que no% sobrecen a mx que es el número máximo de iteraciones.F=zeros(2,1); J=zeros(2,2);X0=[-1;4];% inicializa el vector columna para que el producto este bien definido% e inicializa la matriz jacobiana en ceroswhile (E>0.00003 && C<15) % cuenta la iteraciónF(1)=F1(X0(1),X0(2)); F(2)=F2(X0(1),X0(2));fprintf('n=%1.0f, x=%3.5f, y=%3.5f, ',C,X0(1),X0(2));C=C+1;%muestra paso de la iteracion, la aproximación para x y yfprintf('f1(x,y)=%12.5e, f2(x,y)=%12.5e ',F(1),F(2)), disp([', |x(k+1)-x(k)|=' num2str(e)])%muestra el copmportamiento de las funciones del sistema (esperamos sean casi cero)J(1,1)=J1(X0(1),X0(2)); J(1,2)=J2(X0(1),X0(2));J(2,1)=J3(X0(1),X0(2)); J(2,2)=J4(X0(1),X0(2));H=-J\F;X1=X0+H;E=norm(X1-X0);

Page 5: Tarea Guia1 Metodos Borrador

e=E;X0=X1;end

problema12

syms x y;j=jacobian([4*y^2+4*y+52*x-19;169*x^2+3*y^2+111*x-10*y-10],[x y]);% obtiene la matriz jacobiana para f1 y f2 en las variables x y yF1=inline(char(4*y^2+4*y+52*x-19),'x','y');% los paremetros ?x?,?y? permiten definir la función en terminos de dos variablesF2=inline(char(169*x^2+3*y^2+111*x-10*y-10),'x','y');J1=inline(char(j(1,1)),'x','y');J2=inline(char(j(1,2)),'x','y');J3=inline(char(j(2,1)),'x','y');J4=inline(char(j(2,2)),'x','y');% define cada función dependiente de las variables x y yE=0.00003+1;% inicializamos una variable para medir la distancia entre dos aproximaciones% como tol+1 para que el cilo empieceC=0;e=0;% nos permite contar las iteraciones que vamos realizando de modo que no% sobrecen a mx que es el número máximo de iteraciones.F=zeros(2,1); J=zeros(2,2);X0=zeros(2,1);% inicializa el vector columna para que el producto este bien definido% e inicializa la matriz jacobiana en ceroswhile (E>0.00003 && C<15) % cuenta la iteraciónF(1)=F1(X0(1),X0(2)); F(2)=F2(X0(1),X0(2));fprintf('n=%1.0f, x=%3.5f, y=%3.5f, ',C,X0(1),X0(2));C=C+1;%muestra paso de la iteracion, la aproximación para x y yfprintf('f1(x,y)=%12.5e, f2(x,y)=%12.5e ',F(1),F(2)), disp([', |x(k+1)-x(k)|=' num2str(e)])%muestra el copmportamiento de las funciones del sistema (esperamos sean casi cero)J(1,1)=J1(X0(1),X0(2)); J(1,2)=J2(X0(1),X0(2));J(2,1)=J3(X0(1),X0(2)); J(2,2)=J4(X0(1),X0(2));H=-J\F;X1=X0+H;E=norm(X1-X0);e=E;X0=X1;end