UNMSM
FACULTAS DE INGENIERIA ELECTRONICA Y
ELECTRICA
APELLIDOS Y NOMBRES: MATRICULA:
SALOME ARCOS RUSSEL 15190027
CURSO: TEMA:
LABORATORIO DE
MICRO/NANO INTRODUCCION A MATLAB
INFORME FECHAS: MODUL
O
FINAL REALIZAD ENTREGAD
O O
NUMERO
: 28/01/21
GRUPO: PROFESOR:
Jueves
10am-12pm Ing. Mandujano Mieses Roberto
LABORATORIO NRO 1
OBJETIVOS
1.- Familiarizarse con el software MATLAB mediante su ventana de
comandos y la creación de Scripts.
2.- Resolver y representar analíticamente ecuaciones lineales y de
grado superior en forma matricial.
3.- Aplicar el ajuste polinómico de curvas empleando un ajuste de
mínimos cuadrados.
MARCO TEÓRICO
1.- Comandos utilizados en MATLAB[CITATION Cle \l 3082 ]
Polyfit:
Ajuste de una curva polinómica. devuelve los coeficientes para un
polinomio p(x) de grado n que es la mejor solución (en el sentido de
los mínimos cuadrados) para los datos de y. Los coeficientes de p
están en potencias descendentes y la longitud de p es n+1.
p = polyfit(x,y,n)
Diff:
Diferencias y derivadas aproximadas. Calcula las diferencias entre los
elementos adyacentes de X a lo largo de la primera cota de matriz
cuyo tamaño no es igual a 1.
Y = diff(X)
Polyval:
Evaluación de polinomios. Evalúa el polinomio p en cada punto de x.
El argumento p es un vector de longitud n+1cuyos elementos son los
coeficientes (en potencias descendentes) de un polinomio.
y = polyval(p,x)
Roots:
Devuelve las raíces del polinomio representado por p un vector de
columna. La entrada p es un vector que contiene n+1coeficientes
polinómicos, comenzando con el coeficiente de x.
r = roots(p)
Poly:
pág. 1
Polinomio con raíces especificadas o polinomio característico. Donde r
es un vector y devuelve los coeficientes del polinomio cuyas raíces son
los elementos de r.
p = poly(r)
Conv:
Convolución y multiplicación polinómica. Devuelve la convolución de
vectores u y v. Si uy v son vectores de coeficientes polinómicos,
convolucionarlos es equivalente a multiplicar los dos polinomios.
w = conv(u,v)
Deconv:
Desconvolución y división polinómica. Desconvoluciona un vector v
fuera de un vector u usando una división larga, y devuelve el cociente
q y el resto de tal manera u = conv(v,q) + r. Si uy v son vectores de
coeficientes polinomiales, entonces desconvolverlos es equivalente a
dividir el polinomio representado u por el polinomio representado por
v.
[q,r] = deconv(u,v)
2.- Algoritmos de mínimos cuadrados para un ajuste polinómico de curvas de
orden superior.
En el software MATLAB utilizamos: p = polyfit(x,y,n); que nos entrega
un polinomio de coeficientes de p que están en potencias
descendientes y la longitud de p es n+1.
p(x)=p1xn+p2xn−1+...+pnx+pn+1.
En general la definición de los mínimos cuadrados, en general, es el
problema de encontrar un vector que es un minimizador local a una
función que es una suma de cuadrados, posiblemente sujeto a
algunas restricciones. [ CITATION Vid16 \l 3082 ]
Imagen 1: Método de mínimos cuadrados
pág. 2
I. PROCEDIMIENTO
1.- Álgebra lineal:
Resolver el sistema de ecuaciones algebraicas siguiente:
1 x1 +2 x 2+3 x 3 +5 x 4=416
4 x1 +5 x 2+ 6 x3 +2 x 4=824
7 x 1+ 8 x 2 +0 x 3+ 3 x 4 =381
2 x1 +3 x 2+ 1 x 3 +6 x 4=275
Ax=b
Código en MATLAB:
%FACULTAD DE INGENIERÍA ELECTRÓNICA Y ELÉCTRICA
%LABORATORIO DE SISTEMAS DE CONTROL
%SALOME ARCOS RUSSELL BRYAN 15190027
clear all clc
%Definimos la matriz de coeficientes A
A=[1 2 3 5;4 5 6 2;7 8 0 3;2 3 1 6];
%Definimos la matriz columna
b=[416;824;381;275];
%calculamos la inversa de C
c=inv(A);
%calculamos las soluciones
x=c*b;
disp(x)
X 1 = 25.0000
X 2 = 22.0000
X 3 = 99.0000
X 4 = 10.0000
2.- Polinomios:
2.1.- Dado el polinomio:
x 4 −12 x 3 +0 x 2+25 x +116
Hallar sus raíces:
Código en MATLAB
%FACULTAD DE INGENIERÍA ELECTRÓNICA Y ELÉCTRICA
%LABORATORIO DE SISTEMAS DE CONTROL
%SALOME ARCOS RUSSELL BRYAN 15190027
pág. 3
clear all clc
%definimos los coeficientes
p=[1;-12;0;25;116];
%hallamos las raices
r=roots(p);
disp(r)
>> raices
11.7473 + 0.0000i
2.7028 + 0.0000i
-1.2251 + 1.4672i
-1.2251 - 1.4672i
2.2 Dadas las raíces:
p1=2+3 j p2=2−3 j p 3=−5 p4 =3 p5 =−9
Hallar el polinomio
clear all clc
%FACULTAD DE INGENIERÍA ELECTRÓNICA Y ELÉCTRICA
%LABORATORIO DE SISTEMAS DE CONTROL
%SALOME ARCOS RUSSELL BRYAN 15190027
%definimos las raices
r=[2+3*i,2-3*i,-5,3,-9];
%hallamos el polinomio
p=poly(r)
>> polinom
p=
1 7 -28 -4 579 -1755
2.3 Dados los polinomios:
a=x 3+ 2 x 2 +3 x+ 4 b=x 3+ 4 x 2 +9 x+16
Hallar el resultado de las operaciones:
a d
()
( a+ b ) , ( a−b ) , ( a∗b ) , ,( a)
b dt
pág. 4
%FACULTAD DE INGENIERÍA ELECTRÓNICA Y ELÉCTRICA
%LABORATORIO DE SISTEMAS DE CONTROL
%SALOME ARCOS RUSSELL BRYAN 15190027
syms x
a=x^3+2*x^2+3*x+4;
b=x^3+4*x^2+9*x+16;
ax=[1,2,3,4];
bx=[1 4 9 16];
suma=a+b
resta=a-b
multiplicacion=conv(ax,bx)
%division polinómica
[q,r]=deconv(ax,bx)
%derivada
derivada=diff(a)
>> operaciones
suma =
2*x^3 + 6*x^2 + 12*x + 20
resta =
- 2*x^2 - 6*x - 12
multiplicacion =
1 6 20 50 75 84 64
división =
q=
pág. 5
r=
0 -2 -6 -12
derivada =
3*x^2 + 4*x + 3
3.- Ajuste polinómico de curvas:
Dado el conjunto de datos experimentales (x,y) siguiente:}
x=[ 0 0.1 0.2 0.30.4 0.5 0.6 0.7 0.8 0.9 1 ]
y=[−0.45 1.983.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.20]
Encontrar el polinomio de orden 2 que más se ajuste al conjunto de datos,
utilizando un ajuste de mínimos cuadrados.
Repetir el cálculo para encontrar el polinomio de orden 3 y orden 10.
Dibujar superpuestos los datos (x, y), el polinomio de orden 2, 3 y 10.
clear all clc
%FACULTAD DE INGENIERÍA ELECTRÓNICA Y ELÉCTRICA
%LABORATORIO DE SISTEMAS DE CONTROL
%SALOME ARCOS RUSSELL BRYAN 15190027
x = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1];
y = [-0.45 1.98 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.20];
p1 = polyfit(x,y,2);
p3 = polyfit(x,y,3);
p10 = polyfit(x,y,10);
%evaluamos los polinomios
%orden 2
figure('Name','Orden 2');
z1=polyval(p1,x);
plot(x,y,'g')
hold on
plot(x,z1,'r')
legend({'Datos experimentales (x,y)','ajuste de orden 2 con mínimos
cuadrados'},'Location','northwest')
%orden 3
figure('Name','Orden 3');
z2=polyval(p3,x);
plot(x,y,'g')
hold on
plot(x,z2,'r')
pág. 6
legend({'Datos experimentales (x,y)','ajuste de orden 3 con mínimos
cuadrados'},'Location','northwest')
%orden 10
figure('Name','Orden 10');
z3=polyval(p10,x);
plot(x,y,'g')
hold on
plot(x,z3,'r')
legend({'Datos experimentales (x,y)','ajuste de orden 10 con mínimos
cuadrados'},'Location','northwest')
figure('Name','comparación');
plot(x,y,'g')
hold on
plot(x,z1,'r')
hold on
plot(x,z2,'m')
hold on
plot(x,z3,'b')
legend({'Datos experimentales (x,y)','orden 2','orden 3','orden
10'},'Location','northwest')
axis([0.3 0.9 -2 12])
II. RESULTADOS
Imagen 2: Datos (x,y) superpuestos con el polinómio de orden 2
pág. 7
Imagen3: Datos (x,y) superpuestos con el polinómio de orden 3
Imagen 4: Datos (x,y) superpuestos con el polinomio de orden 10
pág. 8
Imagen5: Datos (x,y) superpuestos con los polinomios de orden 2,3 y 10
III. DISCUSIÓN DE RESULTADOS
Se observa que a medida que aproximamos los datos experimentales a un
polinomio de mayor orden se aproxima más a la gráfica original.
En el caso del polinomio de grado 10 vemos que se debió ajustar los ejes
(mediante AXIS) para poder observar el error de ajuste de mínimo cuadrados.
IV. CONCLUSIONES
1.- El software MATLAB nos permitió realizar operaciones entre polinomios
de n grado (suma, resta, multiplicación, diferenciación), de manera rápida y
sencilla.
2.- Plotear gráficas nos ayuda a poder visualizar y ver que gráficas se
aproximaban más a los datos experimentales, de acuerdo con las
especificaciones indicadas en la guía y en clase.
3.- El método de mínimos cuadrados se ha optimizado en MATLAB mediante
el comando polyfit.
pág. 9
V. REFERENCIAS BIBLIOGRÁFICAS
Bibliografía
MathWorks. (s.f.). https://www.mathworks.com/. Obtenido de MATLAB:
https://www.mathworks.com/products/matlab.html
Vidal Meló, A. (2016). Una introduccion al ajuste polinómico de datos por mínimos
cuadrados, utilizando Matlab.
pág. 10