% ========== % Apartado I % ========== % % Definición de funciones simples % f=inline('sqrt(exp(x))') p=f(4) % Evaluacion de la funcion f en el punto 4 X=linspace(-1,4);Y=f(X);plot(X,Y) % Representacion en [-1,4] % ============ % Apartado III % ============ % % Definición de funciones simbolicas % clear all syms x real f=sqrt(exp(x)) p=subs(f,x,4) % Evaluacion de la funcion f en el punto 4 ezplot(f,[-1,4]) % Representacion en [-1,4] clear f % =========== % Apartado IV % =========== % % Resolucion utilizando solve % % * * * EJERCICIO 1 * * * f1=sin(x)+0.8*cos(x) figure(1),ezplot(f1,[2,3]),grid r1=solve(f1) % Solucion +k*pi r1=solve('sin(x)+0.8*cos(x)') % Solucion +k*pi figure(2),ezplot(f1),grid,pause % f2=x.^2-4*x+3.5-log(x) figure(1),ezplot(f2,[1,3]),grid r2=solve(f2) % Raices en [1,2] y [3,4] figure(2),ezplot(f2),grid,pause % f3=(x-2.1).^2-7*x*cos(x) figure(1),ezplot(f3,[1,2]),grid r3=solve(f3) % Raices en [0,1],[1,2],[4,6],[6,8] figure(2),ezplot(f3),grid,pause % ========== % Apartado V % ========== % % Resolucion utilizando fzero % f=inline('x.^3-1'); options=optimset('Display','iter','TolX',1e-5,'MaxIter',100) raiz=fzero(f,2,options) % % * * * EJERCICIO 2 * * * options=optimset('Display','iter','MaxFunEvals',100,'TolFun',1e-10,'TolX',1e-5,'MaxIter',100) R1=fzero(char(f1),2,options) % tambien resuelve fzero(f,2,options) siendo % f='sin(x)+0.8*cos(x)' % f=inline('sin(x)+0.8*cos(x)') % f=vectorize(f1) % ES LA MEJOR OPCION pause % R2=fzero(char(f2),2,options) pause % R3=fzero(char(f3),2,options) pause options=optimset % =========== % Apartado VI % =========== % % Metodos de punto fijo % clear all syms x real g=sqrt(10./(4+x)),dg=diff(g,x),a=1;b=2; % Funcion y derivada subplot(2,1,1);ezplot(g,[a,b]);grid on subplot(2,1,2);ezplot(dg,[a,b]);grid on pause % % * * * EJERCICIO 3 * * * g=5./x.^2+2,dg=diff(g,x),a=2;b=3; % Funcion y derivada subplot(2,1,1);ezplot(g,[a,b]);grid on subplot(2,1,2);ezplot(dg,[a,b]);grid on pause g=5.^(-x),dg=diff(g,x),a=0;b=2; % Funcion y derivada subplot(2,1,1);ezplot(g,[a,b]);grid on subplot(2,1,2);ezplot(dg,[a,b]);grid on pause g=(sin(x)+cos(x))/2,dg=diff(g,x),a=-1;b=1; % Funcion y derivada subplot(2,1,1);ezplot(g,[a,b]);grid on subplot(2,1,2);ezplot(dg,[a,b]);grid on % % * * * EJERCICIO 4 * * * % ##################### Inicio del fichero #################### function x=pfijo(f,z,ex,niter) % %function function [c,err,it]=x=pfijo(f,z,ex,niter) %Resuelve una ecuacion no lineal utilizando el Método de Punto Fijo % %Entrada % f nombre de la funcion (fichero o inline) % x punto inicial de las iteraciones % ex tolerancia de la raiz % niter numero de iteraciones %Salida % x sucesion de aproximaciones a la raiz % % Ejemplo: x=pfijo(inline('exp(-x)'),0.5,0.001,100) % Verificacion de los argumentos de entrada if (nargin<4),niter=1024; elseif niter<0;error('Valor de iteraciones no válido'); else;niter=niter+1; end if (nargin<3),ex=eps; elseif ex<0;error('Valor de la cota de error no válido'); end if nargin<2,error('Numero insuficiente de argumentos');end % x=zeros(niter,1);x(1)=z; % Generacion del vector de salida for k=2:niter x(k)=feval(f,x(k-1)); % Calculo del nuevo valor % x(k)=eval(subs(f,x(k-1))); % función introducida como simbólica err=abs(x(k)-x(k-1));if err=ex),disp('Agotadas las iteraciones sin convergencia');end x=x(1:k); % Iteraciones sucesivas % ##################### fin del fichero #################### % % Aplicacion de punto fijo % g=inline('sqrt((x+3)./(x.^2+2))') x=pfijo(g,1+rand(1),0.001) % ============ % Apartado VII % ============ % % Ecuaciones polinomicas % clear all p=[1,2,3,4] % Define P(x)=x3+2x2+3x+4 roots(p) P=poly2sym(p) solve(P) % % * * * EJERCICIO 5 * * * p=[1,0,2,-1,-3] roots(p) pause % Representación del hundimiento de una esfera para diferentes densidades p=[1,-3,0,0]; H=linspace(0,1);N=length(H); R=zeros(size(H)); for i=1:N p(4)=4*H(i); r=roots(p) k=find(r>=0&r<=2) R(i)=max(r(k)); end plot(H,50*R);grid on xlabel('densidad');ylabel('porcentaje de diámetro hundido'); title('Hundimiento vs densidad en una esfera');