% ========== % Apartado 1 % ========== % Planteamiento generico clear all close all x=pi*[-1,0,1];y=[1,0,1]; A=ones(3); for i=2:3;A(:,i)=A(:,i-1).*x';end; % base B1 s1=A\y’ A(:,2)=sin(x');A(:,3)=cos(x');% base B2 s2=A\y' det(A) rank(A) rref(A) A(:,2)=sin(x');A(:,3)=sin(2*x');% base B3 s3=A\y' det(A) rank(A) rref(A) % % Resolución Analítica % % * * * Ejemplo 1 * * * f=inline('x.^4+2*x-1');n=10;a=-3;b=3; x=linspace(a,b,n);y=f(x); p=polyfit(x,y,length(x)-1) X=linspace(a,b);Y=f(X);P=polyval(p,X); plot(X,Y,X,P,x,y,'*');grid on; legend('funcion','Interpolante','datos') [mayor,lugar]=max(abs(Y-P)); disp(['error ',num2str(mayor),' en el punto ',num2str(X(lugar))]) % * * * Ejemplo 2 * * * f=inline('x.*sin(x.^2)'); n=8;a=-pi;b=pi; x=linspace(a,b,n);y=f(x); p=polyfit(x,y,n-1) X=linspace(a,b);Y=f(X); P=polyval(p,X); plot(X,Y, X,P,x,y,'*');grid on; legend('funcion','Interp', 'datos') [mayor,lugar]=max(abs(Y-P)); disp(['error ',num2str(mayor),' en el punto ',num2str(X(lugar))]) % * * * EJERCICIO 1 * * * f=inline('exp(-x.^2)'); n=9;a=-2;b=2; x=linspace(a,b,n);y=f(x); p=polyfit(x,y,n-1) X=linspace(a,b,101);Y=f(X); P=polyval(p,X); plot(X,Y, X,P,x,y,'*');grid on; legend('funcion','Interp', 'datos') [mayor,lugar]=max(abs(Y-P)); disp(['error ',num2str(mayor),' en el punto ',num2str(X(lugar))]) % % ============ % Apartado 1.1 % ============ % % Ejemplo 1: Representacion de los Polinomios de Lagrange % N=2;x=0:N; n=length(x);p=zeros(n); X=linspace(0,i);Y=zeros(n+1,length(X)); for i=1:n y=x;y(i)=[];y=poly(y);p(i,:)=y/polyval(y,x(i)); Y(i,:)=polyval(p(i,:),X); end Y(n+1,:)=sum(Y(1:n,:)); plot(X,Y);grid on legend('\itL_0 (x)','\itL_1 (x)','\itL_2 (x)','Suma','Location','B') P=y*p % % * * * EJERCICIO 2 * * * % clear all x=rand(4,1); n=length(x);p=zeros(n); X=linspace(0,i);Y=zeros(n+1,length(X)); for i=1:n q=x;y(i)=[];q=poly(q);p(i,:)=q/polyval(q,x(i)); Y(i,:)=polyval(p(i,:),X); end Y(n+1,:)=sum(Y(1:n,:)); plot(X,Y);grid on legend('\itL_0 (x)','\itL_1 (x)','\itL_2 (x)','\itL_3 (x)','Suma','Location','B') % % * * * EJERCICIO 3 * * * % clear all f=inline('exp(-x.^2)'); n=5;a=-2;b=2; x=linspace(a,b,n);y=f(x); p1=polyfit(x,y,n-1) p=zeros(n); for i=1:n q=x;q(i)=[];q=poly(q);p(i,:)=q/polyval(q,x(i)); end p2=y*p % % * * * EJERCICIO 4 * * * % Ejemplo de runge con interpolacion equiespaciada clear all close all f=inline('1./(1+x.^2)'); N=[5,9,17];TN=int2str(N');n=length(N); X=linspace(-5,5); Y=zeros(n+1,length(X)); Y(1,:)=f(X); j=2; for n=N x=linspace(-5,5,n);y=f(x); p=polyfit(x,y,length(x)-1); Y(j,:)=polyval(p,X); j=j+1; end figure(1);plot(X,Y) legend('f(x)',TN(1,:),TN(2,:),TN(3,:)) % % ============ % Apartado 1.2 % ============ % % Interpolacion segmentaria % f=inline('x.*sin(x.^2)'); n=8;a=-pi;b=pi; x=linspace(a,b,n);y=f(x); X=linspace(a,b);Y=f(X); P0=interp1(x,y,X,'linear'); P1=interp1(x,y,X,'spline'); plot(X,Y,X,P0,X,P1,x,y,'*');grid on; legend('funcion','lineal','spline','datos') [mayor,lugar]=max(abs(Y-P0)); disp(['error ',num2str(mayor),' en el punto ',num2str(X(lugar))]) [mayor,lugar]=max(abs(Y-P1)); disp(['error ',num2str(mayor),' en el punto ',num2str(X(lugar))]) % % * * * EJERCICIO 5 * * * % % Ejemplo de Runge con splines % f=inline('1./(1+x.^2)'); N=[5,9,17];TN=int2str(N');n=length(N); X=linspace(-5,5); Y=zeros(n+1,length(X)); Y(1,:)=f(X); j=2; for n=N x=linspace(-5,5,n);y=f(x); Y(j,:)=spline(x,y,X); j=j+1; end figure(2);plot(X,Y) legend('f(x)',TN(1,:),TN(2,:),TN(3,:)) % % ============ % Apartado 1.3 % ============ % % % Ejemplo de Runge con Tchebishev % f=inline('1./(1+x.^2)'); N=5; z=cos((2*(1:N)-1)*pi/2/N);x=5*z;y=f(x); p=polyfit(x,y,N-1); X=linspace(-5,5);Y=f(X);P=polyval(p,X); plot(X,Y,X,P,x,y,'*');grid on; legend('funcion','interpolante','datos') % % * * * EJERCICIO 6 * * * % % Ejemplo de Runge con Tchebishev % f=inline('1./(1+x.^2)'); N=[5,9,17];TN=int2str(N');n=length(N); X=linspace(-5,5); Y=zeros(n+1,length(X)); Y(1,:)=f(X); j=2; for n=N z=cos((2*(1:n)-1)*pi/2/n);x=5*z;y=f(x); p=polyfit(x,y,length(x)-1); Y(j,:)=polyval(p,X); j=j+1; end figure(1);plot(X,Y) legend('f(x)',TN(1,:),TN(2,:),TN(3,:))