Está en la página 1de 11

Descripción de Código Regresión Lineal

Para Demostrar la funcionalidad del Código Desarrollaremos el Ejemplo 17.1


1. Eliminamos datos y limpiamos pantalla
clc;
clear all;% Eliminar Datos

2. Comando para ingresar los datos del Vector Xi ,Yi y N que representa el numero de
datos
n=input('Numero de Datos: ');% numero de datos (cambia segun el
ejercicio)
xi=input('Datos de Xi: ');% Datos de xi se ingresa como un vector
(cambia segun el ejercicio)
yi=input('Datos de Yi: ');% Datos de yi se ingresa como un vector
(cambia segun el ejercicio)

3. Graficamos los Puntos de Xi y Yi y Damos nombres a los Ejes


plot(xi,yi,'dk');% graficar los puntos dados en un inicio
xlabel('Eje X');% texto eje x
ylabel('Eje Y');% texto eje y

4. Damos Limites para graficar la función, cuadriculamos y Permitimos el


ingreso de una nueva grafica
axis([0 8,0 8]);% limites de los ejes
grid on ;% Encender rejilla
hold on ;% permite dibujar mas graficas sin la necesidad de abrir una
nueva

5. Realizamos Las Sumatorias Correspondientes a la Formula

sumaxi_yi=sum(xi.*yi);%sumatoria del vector xi*yi


sumaxi=sum(xi);%sumatoria del vector xi
sumaxi2=sum(xi.^2);%sumatoria del vector xi^2
sumayi=sum(yi);%sumatoria del vector yi

6. Aplicamos la formula para encontrar a1 ya descrita anteriormente


a1=((n*sumaxi_yi)-(sumaxi*sumayi))/((n*sumaxi2)-(sumaxi^2))%formula
para el calculo de a1

7. Calculamos ymedia y xmedia para por calcular a0


ymedia=mean(yi);%comando que me calcula la media del vector yi
xmedia=mean(xi);%comando que me calcula la media del vector xi

8. Calculamos a0 aplicando la formula

a0=ymedia-a1*xmedia %formula para el calculo de a0

9. Mostramos la función resultante

fprintf('El ajuste de linea es: %f + %fx',a1,a0);%presentacion del


ajuste segun la formula

10. Mostramos la Grafica Ajustada una vez obtenida la función


grafica_ajustada=a0+a1*xi;%obtener la funcion de la grafica
plot(xi,grafica_ajustada)% graficar la funcion en los puntos dados en
el vector xi
Ejecución de Código Regresión Lineal

1. Ejecutamos el código e ingresamos el numero de datos y presionamos enter:

2. Ingresamos los datos de xi de la siguiente manera y presionamos enter:

3. Ingresamos los datos de yi de la siguiente manera y presionamos enter:

4. Obtendremos el resultado y las graficas Correspondientes

5. El Resultado Obtenido concuerda con los cálculos del ejemplo por lo que podemos
concluir que el código funciona correctamente.
Descripción de Polinomio de Newton

Para Demostrar la funcionalidad del Código Desarrollaremos el Ejemplo 18.4


1. Eliminamos datos y limpiamos pantalla
clear all;clc;% Eliminar Datos

2. Comando para ingresar el numero de datos


n=input('ingrese el grado del polinomio, n=');%ingresar los valores
del polinomio
3. Mostramos por teclado el numero de puntos y un indicador de texto
fprintf('Se necesitan %.0f puntos\n',n+1);%Indica los valores
necesarios de xi y yi
disp('ingrese los puntos');% Mostrar en pantalla para el ingreso de
los puntos xi y yi

4. Declaramos un bucle para el ingreso de los valores de los de los


arrays Xi y Yi
for i=1:n+1 %bucle para el ingreso de datos
fprintf('x%.0f=',i-1); %ingresar datos de x(0) hasta x(n)
X(i)=input(' ');
fprintf('y%.0f=',i-1); %ingresar datos de y(0) hasta y(n)
Y(i)=input(' ');
End

5. Declaramos una matriz del tamaño que necesitaremos esto estará dado
por el grado ingresado siendo n+1 y lleno con los valores que ya
dispongo

DD=zeros(n+1);%declarar toda la matriz de n+1 que seran los datos


necesarios para el polinomio de newton
DD(:,1)=Y;%lleno la primera columna con los Valores ingresados por
teclado

6. Declaramos un bucle para realizar el llenado de la matriz en los lugar


faltantes
for k=2:n+1 %for para llenar las columnas de la matriz empezando desde
la 2 dado que la 1 se ingreso por teclado
for J=k:n+1%for para los valores de la fila de la matriz
DD(J,k)=[DD(J,k-1)-DD(J-1,k-1)]/[X(J)-X(J-k+1)];%formula para
llenar los valores de la matriz
end
end

7. Imprimimos un texto indicativo de la matriz y mostramos la matriz


obtenida
disp('La matriz de diferencias divididas es:');% texto indicativo
disp(DD);%Indicar la matriz

8. Imprimimos un texto indicativo del polinomio y desarollamos el mismo


disp('El polinomio de newton es');% texto indicativo
syms x;
polnew=DD(1,1);%representa el valor de a0 en el polinomio de newton
P=1;
for i=1:n
P=P*(x-X(i));%guarda los valores de la formula (x-x0)(x-x1)..etc
polnew=polnew+P*DD(i+1,i+1);% P*DD(i+1,i+1) representa a1*(x-x0)
a2(x-x0)(x-x1)..etc
end %guarda continuamente los datos del
polinomio
polnew=expand(polnew); %expande el polinomio dejando en funcion de
sumas y restas
9. El comando pretty presenta el polinomio de una manera mas entendible
para el usuario

pretty(polnew);%comando que presenta el polinomio de una manera mas


entendible para el usuario

10. Una vez obtenido el polinomio pedimos el valor del ingreso donde se
desea interpolar, evaluamos en el polinomio y lo imprimimos en la
pantalla

x=input('ingrese el valor de x a interpolar,x=');%una vez obtenido el


polinomio ingresamos el valor a interpolar
vi=eval(polnew);%evalua el valor ingresado en el polinomio
fprintf('el valor interpolado es %.2f\n',vi);%muestra el valor
interpolado

11. Mostramos la grafica de nuestro polinomio


hold on;
ezplot(polnew,[X(1) X(n+1)]); %limites en donde se va graficar el
polinomio
plot(x,vi,'r+');%graficar el polinomio
Ejecución de Código Polinomio de Newton

1. Ejecutamos el código e ingresamos el grado del polinomio y presionamos enter:

2. Nos indicara el numero de datos necesario y seguido nos pedirá que ingresemos cada
dato acompañado de un enter.

3. Al ingresar el ultimo dato y dar enter nos indicara la matriz de diferencias , el


polinomio de newton y nos solicitara el valor a interpolar
4. Al ingresar el valor a interpolar y dar enter obtenemos la evaluación en el polinomio y
la grafica ajustada a los valores de entrada

5. Al comparar los resultados obtenidos con los calculados y ser similares podemos
demostrar el correcto funcionamiento del código
Descripción de Polinomio de Lagrange

Para Demostrar la funcionalidad del Código Desarrollaremos el Ejemplo 18.6


1. Eliminamos datos y limpiamos pantalla
clear all;clc;% Eliminar Datos

2. Comando para ingresar el numero de datos


n=input('ingrese el grado del polinomio, n=');%ingresar los valores
del polinomio
3. Mostramos por teclado el numero de puntos y un indicador de texto
fprintf('Se necesitan %.0f puntos\n',n+1);%Indica los valores
necesarios de xi y yi
disp('ingrese los puntos');% Mostrar en pantalla para el ingreso de
los puntos xi y yi

4. Declaramos un bucle para el ingreso de los valores de los de los


arrays Xi y Yi

for i=1:n+1 %bucle para el ingreso de datos


fprintf('x%.0f=',i-1); %ingresar datos de x(0) hasta x(n)
X(i)=input(' ');
fprintf('y%.0f=',i-1); %ingresar datos de y(0) hasta y(n)
Y(i)=input(' ');
End

5. Declaramos un bucle para realizar los cálculos del polinomio


for i=1:n+1 %hacer desde i has n+1
L=1;
for j=1:n+1 %hacer desde j has n+1
if i~=j %condicional impuesto por la formula solo hacer si es
diferente de j
L=L*(x-X(j))/(X(i)-X(j));%formula para el calculo de L(X)
end
end
p=p+L*Y(i); %guarda la iteraciones realizadas de L(x) por f(x)
segun corresponda
end

El código detallado anteriormente cumple la función de la formula del


polinomio de Lagrange
6. Expandimos el polinomio y el comando pretty presenta el polinomio de
una manera mas entendible para el usuario
p=expand(p);%expande el polinomio dejando en funcion de sumas y restas
pretty(p);%comando que presenta el polinomio de una manera mas
entendible para el usuario

7. Una vez obtenido el polinomio pedimos el valor del ingreso donde se


desea interpolar, evaluamos en el polinomio y lo imprimimos en la
pantalla

x=input('ingrese el valor de x a interpolar,x=');%una vez obtenido el


polinomio ingresamos el valor a interpolar
vi=eval(p);%evalua el valor ingresado en el polinomio
fprintf('el valor interpolado es %.2f\n',vi);%muestra el valor
interpolado
8. Mostramos la grafica de nuestro polinomio
hold on;
ezplot(p,[-10 10]); %limites en donde se va graficar el polinomio
plot(x,vi,'r+');%graficar el polinomio
Ejecución de Código Polinomio de Lagrange

1. Ejecutamos el código e ingresamos el grado del polinomio y presionamos enter:

2. Nos indicara el numero de datos necesario y seguido nos pedirá que ingresemos cada
dato acompañado de un enter.

3. Al ingresar el ultimo dato y dar enter nos indicara el polinomio de Lagrange y nos
solicitara el valor a interpolar

4. Al ingresar el valor a interpolar y dar enter obtenemos la evaluación en el polinomio y


la grafica ajustada a los valores de entrada

5. Al comparar los resultados obtenidos con los calculados y ser similares podemos
demostrar el correcto funcionamiento del código

También podría gustarte