clear clc close all x = [1/4; 1; 5/2]; y = [-3/4; -1; 3/2]; V = vander(x) % obs: vander genera matrices con las columnas en el orden inverso que como las escribimos en clase c = V\y; % evaluar el polinomio que obtuvimos z = linspace(0,3); for k = 1:length(z) pz(k) = z(k).^([2 1 0])*c; end plot(z, pz, 'LineWidth',2) hold on plot(x,y,'ok','LineWidth',2) %% Las matrices de Vandermonde estan mal condicionadas. clear clc kappas = zeros(1,20); for n=1:20 x = linspace(0,1,n); % toma n puntos uniformemente distribuidos entre 0 y 1 kappas(n) = condest(vander(x)); end loglog(1:20,kappas) %% n = 55; x = linspace(0,1,n)'; y = 1+0*x; V = vander(x); c = V\y % estamos interpolando el polinomio p(x) = 1, por lo que % c deberia ser todo 0 salvo la ultima entrada, que deberia ser igual a 1 z = linspace(0,1,1000); pz = 0*z; for k = 1:length(z) pz(k) = z(k).^(n-1:-1:0)*c; end plot(z,pz,'LineWidth',2)