You are on page 1of 3

% 1.

Se hicieron las siguientes mediciones de presin en un pequeo compresor neum clear;clc; disp('Utilizando Matlab obtn el tiempo en el que el compresor alcanza los'); disp('6Pa, utilizando a. Interpolacin Lineal, b. Interpolacin cuadrtica'); disp('c. Polinomio de Lagrande de grado 2 y d. Polinomio de Newton de Tercer Grado' disp(''); % Interpolacin Lineal. disp('Interpolacin Lineal'); disp('Los puntos dados son:'); y=[60 120 240 480] x=[1.5 4.3 5.7 7.2] disp('Quiero encontrar el valor de f(x) para 6 Pa'); x1=6; % Quiero encontrar el valor de f(xi) para 6 Pa r1 = 3:4; % xi cae entre los valores 3ro y cuarto de x. p1=polyfit(x(r1),y(r1),1); disp('Resultado:'); y1=polyval(p1,x1) % En la ventana de comandos de Matlab se muestra el valor de y1=288.0000 % Interpolacin Cuadrtica. disp('Interpolacin Cuadrtica'); x2=6; % Quiero encontrar el valor de f(xi) para 6 Pa r2 = 3:4; % xi cae entre los valores 3ro y cuarto de x. p2=polyfit(x(r2),y(r2),2); disp('Resultado:'); y2=polyval(p2,x2) % En la ventana de comandos de Matlab se muestra el valor de y2=282.1053 % Polinomio de Lagrange de 2do grado. disp('Polinomio de Lagrange de 2do grado'); %los coeficientes del polinomio se pueden obtener resolviendo un sistema %lineal de ecuaciones donde el trmino independiente es el vector y, %el vector de incgnitas contiene los coeficientes de p(x) y %la matriz del sistema es la matriz de Vandermonde formada por los %elementos x(i,j)=x(i)^(n-j). La matriz del sistema se puede obtener %en Matlab mediante el comando vander(x). y3=[60; 120; 240; 480;]; x3=[1.5 4.3 5.7 7.2]; vander(x3); p=vander(x3)\y3; xd=[0:5]; %Proponemos un vector de dimensin 2 (grado 2 del polinomio) yd=polyval(p,xd); %Encontramos los coeficientes disp('Resultado:'); y4=polyval(p,6) % Evaluamos para x=6, y el valor da de y4=277.6714 %Interpolacin de Newton usando diferencias divididas. %Cree un programa un poco ms complejo, para un polinomio de Newton de %grado N. %clear;clc; disp('Interpolacin de Newton'); n=input('ingrese el grado del polinomio, n=');

fprintf('Se necesitan %.0f puntos\n',n+1); disp('ingrese los puntos'); for i=1:n+1 fprintf('x%.0f=',i-1); X(i)=input(' '); fprintf('y%.0f=',i-1); Y(i)=input(' '); end DD=zeros(n+1); DD(:,1)=Y; for k=2:n+1 for J=k:n+1 DD(J,k)=[DD(J,k-1)-DD(J-1,k-1)]/[X(J)-X(J-k+1)]; end end disp('La matriz de diferencias divididas es:'); disp(DD); disp('El polinomio de newton es'); syms x; polnew=DD(1,1); P=1; for i=1:n P=P*(x-X(i)); polnew=polnew+P*DD(i+1,i+1); end polnew=expand(polnew); pretty(polnew); x=input('ingrese el valor de x a interpolar,x='); vi=eval(polnew); fprintf('el valor interpolado es %.2f\n',vi); hold on; ezplot(polnew,[X(1) X(n+1)]); plot(x,vi,'r+'); % Al ingresar el polinomio de grado 3 y los puntos da un resultado de y= 275.94 %e. El mtodo ms eficiente sera el del Polinomio de Newton, ya que es %evidente que el error es muchisimo ms pequeo ah. O bien, se podra uti%lizar el polinomio de Lagrange, pero de ordenes ms arriba.

Utilizando Matlab obtn el tiempo en el que el compresor alcanza los 6Pa, utilizando a. Interpolacin Lineal, b. Interpolacin cuadrtica c. Polinomio de Lagrande de grado 2 y d. Polinomio de Newton de Tercer Grad Interpolacin Lineal Los puntos dados son: y = 60 120 240 480

x = 1.5000 4.3000 5.7000 7.2000

Quiero encontrar el valor de f(x) para 6 Pa Resultado: y1 = 288.0000 Interpolacin Cuadrtica Warning: Polynomial is not unique; degree >= number of data points. Resultado: y2 = 282.1053 Polinomio de Lagrange de 2do grado Resultado: y4 = 277.6714 Interpolacin de Newton Error using input Cannot call INPUT from EVALC. Error in pregunta1 (line 52) n=input('ingrese el grado del polinomio, n=');

Published with MATLAB 8.0

You might also like