Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Ejercicios de interpolación de polinomios en MATLAB, Apuntes de Métodos Numéricos

Documento que contiene diferentes ejercicios de interpolación de polinomios utilizando el software MATLAB. Cada ejercicio incluye el nombre del estudiante, la fecha y el código MATLAB para realizar la interpolación. Se presentan ejercicios de interpolación lineal, Newton y Lagrange.

Tipo: Apuntes

2021/2022

Subido el 14/11/2022

domenica-daniela-maldonado-carchi
domenica-daniela-maldonado-carchi 🇪🇨

8 documentos

1 / 14

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
CAPITULO 4
EJERCICIO 4.2
%NOMBRE: BYRON AVILA
%FECHA: 13/11/2022
%CAPITULO-4_EJERCICIO-2
clear all
clc
disp('POLINOMIOS EN FORMA FACTORIZADA')
syms x;
p1=factor(x^4-3*x^3+x+2);
p2=factor(3*x^5+2*x^3+x^2+7);
disp(p1);
disp(p2);
disp('----FIN DEL PROGRAMA-----')
RESULTADO
EJERCICIO 4.4
%NOMBRE: BYRON AVILA
%FECHA: 13/11/2022
%CAPITULO-4_EJERCICIO-4
clear, clc
x=input('Ingresamos valores para x: ');
y=input('Ingresamos los valores para y: ');
n=length(x);%obtener el número de datos
%If para verificar si las dimensiones de X y Y son iguales
if length(y)~=n
fprintf('Los vectores no son de la misma dimensión'); %me imprime
el mensaje en el comando
x=input('Ingresar los valores de x: ');%damos valores para X
y=input('Ingresar los valores de y: ');%damos valores para y
end
a=zeros(n);%creamos una matriz de ceros
a(:,1)=y(:); %Me determina la fila y la primera columna
%Con el siguiente ciclo construimos la tabla
for j=2:n
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Vista previa parcial del texto

¡Descarga Ejercicios de interpolación de polinomios en MATLAB y más Apuntes en PDF de Métodos Numéricos solo en Docsity!

CAPITULO 4

 EJERCICIO 4.

%NOMBRE: BYRON AVILA

%FECHA: 13/11/

%CAPITULO-4_EJERCICIO-

clear all clc disp('POLINOMIOS EN FORMA FACTORIZADA') syms x; p1=factor(x^4-3x^3+x+2); p2=factor(3x^5+2*x^3+x^2+7); disp(p1); disp(p2); disp('----FIN DEL PROGRAMA-----')

 RESULTADO

 EJERCICIO 4.

%NOMBRE: BYRON AVILA

%FECHA: 13/11/

%CAPITULO-4_EJERCICIO-

clear, clc x=input('Ingresamos valores para x: '); y=input('Ingresamos los valores para y: '); n=length(x);%obtener el número de datos %If para verificar si las dimensiones de X y Y son iguales if length(y)~=n fprintf('Los vectores no son de la misma dimensión'); %me imprime el mensaje en el comando x=input('Ingresar los valores de x: ');%damos valores para X y=input('Ingresar los valores de y: ');%damos valores para y end a=zeros(n);%creamos una matriz de ceros a(:,1)=y(:); %Me determina la fila y la primera columna %Con el siguiente ciclo construimos la tabla for j=2:n

for i=1:n-j+ a(i,j)=(a(i+1,j-1)-a(i,j-1))/(x(i+j-1)-x(i)); end end fprintf(' LA TABLA DE DIFERENCIAS ES: \n ');%imprimir en pantalla disp(a) %interporlación xi=input('Ingresar el valor que se desea interpolar: ');%ingresar datos x1=1; yi=a(1,1); for j=1:n- x1=x1.(xi-x(j)); yi=yi+a(1,j+i)x1; end fprintf('La interpolación es: \n '), disp(yi) %muestra valor en la pantalla %Polinomio de interpolación p=num2str(a(1,1)); xx=x-1; for j=2:n signo=''; if a(1,j)>= signo='+'; end x1=''; for i=1:j- signo2=''; if xx(i)>= signo2='+'; end x1=strcat(x1,'(x',signo2,num2str(xx(i)),')'); end p=strcat(p,signo,num2str(a(1,j)),x1); end fprintf('Polinomio de interpolación: \n ');%mostrar en pantalla P=inline(p); %mostrar en pantalla disp(P); fprintf('El polinomio es: (-0.05226x.^3)-(0.04719x.^2)-(0.4129x) +(0.91790)\n ');%mostrar en pantalla a = input('Introducir los coeficientes del polinomio: '); %pedir datos para agrupar [b,c] = size(a);%vector fila syms x %variable simbolica x y = (a(1,1)x)+a(1,2);%función for i = 3:1:c y = ((x*y)+a(1,i));%crea los polinomios agrupados end fprintf('Polinomio forma agrupada: \n ');%mostrar en pantalla disp(y)%imprime la ecuación en la pantalla fprintf('Polinomio forma factorizada: \n ');%mostrar en pantalla disp(P)

 EJERCICIO 4.

%NOMBRE: BYRON AVILA

%FECHA: 13/11/

%CAPITULO-4_EJERCICIO-

clear clc format shortG disp('(literal (a))(-1,1),(1,4)') A=[-1,1;1,1]; Ar=[1;4]; A1=inv(A)Ar; disp('La constantes son: ') disp(A1') fprintf('El polinomio es f(x)= %Gx + %G ',(A1(1,1)),A1(2,1)) disp('.') xa=(-1:2:1); ya=1.5xa+2.5; disp ('Los valores de "y" con los puntos dados son:') fprintf('x=') disp(xa) fprintf('y=') disp(ya) disp('Utilizando polyfit: ') a=polyfit(xa,ya,length(xa)-1); disp(a) disp('literal(b)(-2,2),(0,-1),(2,1)') B=[4,-2,1;0,0,1;4,2,1]; Br=[2;-1;1]; B1=inv(B)Br; disp('La constantes son: ') disp(B1') fprintf('El polinomio es f(x)= %Gx^2 %Gx %G',B1(1,1),B1(2,1),B1(3,1)) disp('.') xb=[-2 0 2]; yb=[2 -1 1]; disp ('Los valores de "y" con los puntos dados son:') fprintf('x=') disp(xb) fprintf('y=') disp(yb) disp('Utilizando polyfit: ') b=polyfit(xb,yb,length(xb)-1); disp(b) disp('literal(c)(-1,-1),(0,0),(1,2),(2,5)') C=[-1,1,-1,1 ;0,0,0,1 ;1,1,1,1 ;8,4,2,1]; Cr=[-1;0;2;5]; C1=inv(C)Cr; disp('La constantes son: ') disp(C1') fprintf('El polinomio es f(x)= %Gx^3 + %Gx^2 + %Gx + %G',C1(1,1),C1(2,1),C1(3,1),C1(4,1)) disp('.') xc=[-1 0 1 2]; yc=[-1 0 2 5]; disp ('Los valores de "y" con los puntos dados son:') fprintf('x=') disp(xc)

fprintf('y=') disp(yc) disp('utilizando polyfit: ') c=polyfit(xc,yc,length(xc)-1); disp(c) disp('-----FIN DEL PROGRAMA-----')

 RESULTADO

 EJERCICIO 4.

%NOMBRE: BYRON AVILA

%FECHA: 13/11/

%CAPITULO-4_EJERCICIO-

clear, clc syms x disp('Interpolación lineal') disp('La función a interpolar es f(x)=sen(x)')

%NOMBRE: BYRON AVILA

%FECHA: 13/11/

%CAPITULO-4_EJERCICIO-

clear, clc fprintf('INTERPOLACIÓN NEWTON HACIA ADELANTE \n') x=input('Ingresamos valores para x: '); y=input('Ingresamos los valores para y: '); n=length(x); if length(y)~=n fprintf('Los vectores no son de la misma dimensión'); x=input('Ingresar los valores de x: '); y=input('Ingresar los valores de y: '); end a=zeros(n); a(:,1)=y(:); for j=2:n for i=1:n-j+ a(i,j)=(a(i+1,j-1)-a(i,j-1))/(x(i+j-1)-x(i)); end end fprintf(' LA TABLA DE DIFERENCIAS ES: \n ');%imprimir en pantalla disp(a) xi=input('Evalue en el polinomio : ');%ingresar datos x1=1; yi=a(1,1); for j=1:n- x1=x1.(xi-x(j)); yi=yi+a(1,j+i)x1; end fprintf('La interpolación es: \n '), disp(yi) p=num2str(a(1,1)); xx=x-1; for j=2:n signo=''; if a(1,j)>= signo='+'; end x1=''; for i=1:j- signo2=''; if xx(i)>= signo2='+'; end x1=strcat(x1,'(x',signo2,num2str(xx(i)),')'); end p=strcat(p,signo,num2str(a(1,j)),x1); end fprintf('Polinomio de interpolación: \n '); P=inline(p); disp(P) %GRAFICA grid on hold on plot(xi,yi,'.') plot(x,y) scatter(x,y)

title('Gráfica de interpolación de Newton'); xlabel('Eje X');% Etiqueta del eje X ylabel('Eje Y');% Etiqueta del eje Y legend; hold off disp('-----FIN DEL PROGRAMA-----')

 RESULTADO

 EJERCICIO 4.

%NOMBRE: BYRON AVILA

%FECHA: 13/11/

%CAPITULO-4_EJERCICIO-

%x para la f(x)=0. p1=[0.5596 0.4055]; p2=[0.75 1]; Int1=interp1( p1, p2, 0.4137) ; disp('El valor de x para la f(x)=0.4137 es: \n') disp(Int1); %X para la f(x)= 0. p3=[0.8109 0.6931]; p4=[0.25 0.5]; Int2=interp1( p3, p4, 0.7233) ; disp('El valor de x para la f(x)=0.7233 es: \n') disp(Int2) %X para la f(x)= 0. p5=[ 0.9162 0.8109 ]; p6=[ 0 0.25]; Int3=interp1( p5, p6, 0.8501) ; disp('El valor de x para la f(x)=0.8501 es: \n') disp(Int3) disp('-----FIN DEL PROGRAMA-----')

 RESULTADO

%FECHA: 13/11/

%CAPITULO-4_EJERCICIO-

clc clear X=0:0.1:2; Y=X.sin(X); n=length(X); syms x; P=0; for N=1:n LN=1; for i=1:n if(i~=N) LN=LN(x-X(i))/(X(N)-X(i)); end end LN=expand(LN); P=P+Y(N)LN; end fprintf('EL POLINOMIO DE INTERPOLACION ES: ') P=simplify(P) x=0:0.1:2; fprintf('LOS VALORES INTERPOLADOS ENTRE 0 Y 5 SON: ') G=eval(P) X1=0:0.1:2; F=X.sin(X1); e=F-G; hold on plot(x,G) plot(X,Y) plot(X1,e) title('Función =sin(x)'); xlabel('Eje X') ylabel('Eje Y') lgd=legend; disp('-----FIN DEL PROGRAMA-----')

 RESULTADO

 EERCICIO 4.

%NOMBRE: BYRON AVILA

%FECHA: 13/11/

%CAPITULO-4_EJERCICIO-

clc clear X=linspace(0,2pi,5)'; Y=sin(X); n=length(X); X1=linspace(0,2pi,9)'; Y1=sin(X1); m=length(X1); syms x; P=0; for i=1:n L=1; for j=1:1:n if i~=j L=L((x-X(j))/(X(i)-X(j))); end end P=P+LY(i); end M=table(X,Y); disp(M); disp('POLINOMIO DE LAGRANGE'); P=expand(P); P=vpa(P) P1=0; for i=1:m L1=1; for j=1:1:m if i~=j L1=L1*((x-X1(j))/(X1(i)-X1(j)));

 EERCICIO 4.

%NOMBRE: BYRON AVILA

%FECHA: 13/11/

%CAPITULO-4_EJERCICIO-

clc clear X=linspace(0,5,5)%valores para x Y=((1+X)/(1+2X+3X.^2));%valores para y n=length(X); %n=numero de datos syms x; %x=variable de polinomio P=0; for N=1:n LN=1; for i=1:n if(i~=N) LN=LN(x-X(i))/(X(N)-X(i)); end end LN=expand(LN); P=P+YNLN; end fprintf('EL POLINOMIO DE INTERPOLACION ES: ') P=simplify(P) x=[0 5]; fprintf('LOS PUNTOS INTERPOLADOS ENTRE 0 Y 5 SON: ') G=eval(P) X1=[0:0.2:5] F=(1+X)/(1+2X+3*X.^2); e=F-G; hold on plot(x,G,'m') disp('-----FIN DEL PROGRAMA-----')

 RESULTADO

 EERCICIO 4.

 RESULTADO