Logo Studenta

MatLab- parte 2-256-ok

¡Este material tiene más páginas!

Vista previa del material en texto

MatLab – Parte 2 
Un polinomio tiene la forma: 
a1x
n+a2x
n-1+...+anx+an+1 
Donde a1,a2...,an,an+1 son los coeficientes y el grado del polinomio es n. 
En MatLab existen dos formas de representarlos: 
 
En matemática 
En MatLab 
Forma simbólica Forma de vector 
f(x)= >>syms x 
>>f=5*x^3+4*x^2+6 
>>% Necesariamente la variable x se declara 
como syms 
>> f=[ 5,4, 0, 6] 
En MatLab encontrará comandos para trabajar en forma simbólica y otros comandos para trabajar 
con polinomios expresados en forma de vector. 
Se puede pasar de una forma simbólica (función de transferencia) a forma de vector y viceversa 
con los comandos poly2sym y sym2poly : 
>> sym x % x es la variable simbólica 
 ans = 
 x 
 
>> f=5*x^3+4*x^2+6 %declaramos la función simbólica 
 f = 
 
5*x^3 + 4*x^2 + 6 
 
>> b=sym2poly(f) % para obtener el vector de coeficientes de la función simbólica 
b = 
 5 4 0 6 
 
Ahora el proceso inverso: 
>> f=[5,4,0,6] 
f = 
 5 4 0 6 
 
>> poly2sym(f) 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
2 
 
 
ans = 
 
5*x^3 + 4*x^2 + 6 
 
Polinomios (continuación) 
Comando Función Representación 
del polinomio 
roots Cálculo de las raíces de un polinomio vector 
poly Construye un polinomio con unas raíces 
específicas 
vector 
polyval Evalúa un polinomio vector 
polyfit Ajuste de un polinomio a unos datos vector 
polyder Derivada de un polinomio vector 
conv Multiplicación de polinomios vector 
deconv División de polinomios vector 
expand Escribe cada elemento de una expresión 
simbólica S como un producto de sus factores. 
EXPAND se utiliza con mayor frecuencia en los 
polinomios, sino que también se expande 
trigonométrica, exponencial y logarítmica. 
 
simbólica 
factor Factoriza el polinomio simbólica 
simplify Simplifica un polinomio simbólica 
pretty Presenta el polinomio bonito (traducción), 
mejor presentación 
simbólica 
solve Encuentra las raíces de un polinomio 
expresado en su forma simbólica 
simbólica 
 
Ejemplo 1) Sea el polinomio 
 
 
 
 
 
 aplicar pretty. 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
3 
 
 >> syms x 
>> f=(2*x)/(6*x+5) + 4*x/7 
 
f = 
 
 (4*x)/7 + (2*x)/(6*x + 5) 
>> pretty(f) 
 
 4 x 2 x 
 --- + ------- 
 7 6 x + 5 
 
Ejemplo 2) Desarrollar (x+y)^3 
 
>> syms x y 
>> z=(x+y)^3 
 
z = 
 
(x + y)^3 
 
>> expand(z) 
 
ans = 
 
 x^3 + 3*x^2*y + 3*x*y^2 + y^3 
 
Ejemplo 3) Desarrollar sin(x+y) 
 
>> syms x y 
>> q=sin(x+y) 
 
q = 
 
sin(x + y) 
 
>> expand(q) 
 
ans = 
 
cos(x)*sin(y) + cos(y)*sin(x) 
 
 
Ejemplo 4) Desarrollar 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
4 
 
 
>> syms x y 
>> q=exp(x+y) 
 
q = 
 
exp(x + y) 
 
>> expand(q) 
 
ans = 
 
 exp(x)*exp(y) 
 
Ejemplo 5) Factorizar: 
a5 + 5a4b + 10a3b2 + 10 a2b3 + 5ab4 +b5 
>> syms a b 
>> a^5 + 5*a^4*b + 10*a^3*b^2 + 10*a^2*b^3 + 5*a*b^4 + b^5 
 ans = 
 
a^5 + 5*a^4*b + 10*a^3*b^2 + 10*a^2*b^3 + 5*a*b^4 + b^5 
 
>> factor(ans) 
 ans = 
 
(a + b)^5 
Ejemplo 6) Factorizar: 
 
 
 
 
 
 
>> syms x y 
>> factor(9*(x-y)^2+12*(x-y)*(x+y)+4*(x+y)^2) 
 ans = 
 (5*x - y)^2 
Ejemplo 7) Factorizar: x3 – 8 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
5 
 
 
>> factor(x^3 - 8) 
 
ans = 
 
(x - 2)*(x^2 + 2*x + 4) 
 
Ejemplo 8) Simplificar : 
 
 
>> simplify((a^2 - b^2)/(3*a^2 - 3*a*b)) 
 
ans = 
 
b/(3*a) + 1/3 
 
Ejemplo 9) Simplificar 
 
 
 
 
>> simplify((x^3 - y^3)/(x - y)) 
 
ans = 
 
x^2 + x*y + y^2 
 
Ejemplo 10) Encontrar las raíces del polinomio f(x)=x2 -5x +6 
 >> syms x 
>> f=x^2-5*x+6 
 f = 
 x^2 - 5*x + 6 
 >> solve(f) 
ans = 
 
 2 
 3 
 
Ejemplo 11) Dado el siguiente polinomio: 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
6 
 
p(x) = 8x4 - 5x3 + x2 + 3x + 4 
q(x)=x2-5x+6 
Obtenga las raíces de cada polinomio: 
>> p = [ 8 - 5 1 3 4 ] 
p = 
 3 1 3 4 
 
>> %Obtiene raíces de un polinomio dado 
>> roots(p) 
ans = 
 
 0.2788 + 1.1912i 
 0.2788 - 1.1912i 
 -0.8909 
>> q=[1,-5,6] 
q = 
 1 -5 6 
 
>>%Obtiene raíces de un polinomio dado 
>> roots(q) 
ans = 
 3.0000 
 2.0000 
 
 
 
Ejemplo 12) Ahora dada las raíces de un polinomio (3.0000 y 2.0000), construya el polinomio: 
>> q=[1,-5,6] 
q = 
 
 1 -5 6 
>> raices=roots(q) 
 
raices = 
 
 3.0000 
 2.0000 
>>% poly construye un polinomio a partir de sus raíces 
z=poly(raices) 
 
z = 
 1 -5 6 
 
Ejemplo 13) Evaluar la función con X=5, tenemos: 
q(x)=x2-5x+6, para x=5, entonces 52-25+6=6 
>> r=polyval(q,5) 
 
r = 
 
 6 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
7 
 
Ejemplo 14) Multiplicación de polinomios: 
f(x)=3x2 + 2x -1 
g(x)=4x2 – 2x +2 
 
En MatLab: 
>> f=[3,2,-1] 
f = 
 3 2 -1 
 
>> g=[4,-2,2] 
g = 
 4 -2 2 
 
>> r=conv(f,g) 
r = 
 12 2 -2 6 -2 
 
Ejemplo 15) Multiplicación de polinomios p(x)*q(x) 
>> p = [ 8 - 5 1 3 4 ] 
p = 
 3 1 3 4 
 
>> q=[1,-5,6] 
q = 
 1 -5 6 
 
>> re_mul=conv(p,q) 
 
re_mul = 
 
 3 -14 16 -5 -2 24 
 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
8 
 
Ejemplo 16) Dado dos polinomios: 
P(x) = 7x4 + 4x2 + 7x + 2 Q(x) = 6x3 + 8x +3 
Restar p(x)-q(x): 
 
Para el caso de la suma y la resta, ambos arreglos deben tener el mismo número de elementos, en 
este ejemplo el polinomio q(x) tiene menos términos que el polinomio p(x), entonces a q(x), 
completamos con cero el primer elemento del arreglo, para que ambos vectores sean del mismo 
tamaño. 
 
>> p=[7,0,4,7,2] 
p = 
 7 0 4 7 2 
 
>> q=[0,6,0,8,3] 
q = 
 0 6 0 8 3 
 
>> r=p-q % restando 
r = 
 7 -6 4 -1 -1 
 
>> z=p+q % sumando 
z = 
 7 6 4 15 5 
 
 
Ejemplo 17) Multiplicar un polinomio por un escalar: 
 
Para calcular P(X)*3: 
 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
9 
 
>> p=[2,5,-6,7,1] 
p = 
 2 5 -6 7 1 
 
>> p*3 
ans = 
 6 15 -18 21 3 
 
Ejemplo 18) Dado los polinomios: 
p(x)= 2x3 - 5x2 + 3x + 2 
q(x)=x2 +2x +1 
Obtener: 
 
 
 
 
>> p=[2,-5,3,2] 
p = 
 2 -5 3 2 
>> q=[1,2,1] 
q = 
 1 2 1 
>> [c,r]=deconv(p,q) 
c = 
 2 -9 
 
r = 
 0 0 19 11 
 
Ejemplo 19) Derivada de una función: 
f(x)=x3 -12x la derivada es f’(x)=3x2-12 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
10 
 
>> f=[1,0,-12,0] 
f = 
 1 0 -12 0 
 
>> polyder(f) 
 
ans = 
 3 0 -12 
 
Ejemplo 20) Derivada de una función: 
f(x)= - 2x2 + 3x - 4 
f’(x)= -2*2x + 3 = - 4x +3 
>> f=[-2,3,4] 
f = 
 -2 3 4 
 
>> polyder(f) 
ans = 
 -4 3 
 
Ejemplo 21) Integrar la función: 
f(x)= - 4x + 3 
∫ 
 
 
 
 
 
 = - 2 
>> f=[-4,3] 
f = 
 -4 3 
 
>> polyint(f) 
ans = 
 -2 3 0 
 
Ejemplo 22) Factorizar: 
a. 
b. 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
11 
 
c. 
d. 
>> syms x 
>> factor(x^2+2*x+1) 
 
ans= 
 (x + 1)^2 
 
>> factor(x^2-1) 
 
ans = 
 (x - 1)*(x + 1) 
 
>> factor(x^3-1) 
 
ans = 
 (x - 1)*(x^2 + x + 1) 
 
>> factor(x^3+2*x) 
 
ans = 
x*(x^2 + 2) 
 
Ejemplo 23) Desarrollar: 
e. x(x2+2) 
f. (x-1)(x2+x+1) 
>>syms x 
>> expand(x*(x^2 + 2)) 
 ans = 
 x^3 + 2*x 
 
>> expand((x - 1)*(x^2 + x + 1)) 
 ans = 
 x^3 - 1 
 
 
Ejemplo 24) 
 
 
 
 
 
 
factorizando : 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
12 
 
 = 
 
 
 
 
 
 
 = 
 
 
 
Buscamos dos números que multiplicados den 30 y sumados den 7 
=
 
 
 = (
 
 
 
 
 
 ) 
= 
Factorizando: = 
factorizando: 
= 
Buscamos dos números que multiplicado den -40 y sumados -3, el mayor 
va en el primer (). 
= 
Factorizando: 
= 
Ahora todo junto: 
 
 
 ( )( )
( )( )
 
 
 
 
 
 
 
 
 
 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
13 
 
Ahora en MatLab paso a paso: 
>> syms a b 
 
>>% factorizando primer numerador 
>> q=factor(2*a^2+7*a*b-15*b^2) 
 
q = 
 
(2*a - 3*b)*(a + 5*b) 
 
>>% factorizando primer denominador 
>> y=factor(a^3+4*a^2*b) 
 
y = 
 
a^2*(a + 4*b) 
 
>>% factorizando segundo numerador 
>> z=factor(a^2-3*a*b-40*b^2) 
 
z = 
 
(a - 8*b)*(a + 5*b) 
 
>>% fctorizando segundo denominador 
>> x=factor(a^2-4*a*b-32*b^2) 
 
x = 
 
(a - 8*b)*(a + 4*b) 
 
 
>>% entonces q/y dividido entre z/x 
>> %multiplicamos en q*x/y*z 
>> nu=q*x 
 
nu = 
 
(2*a - 3*b)*(a + 5*b)*(a - 8*b)*(a + 4*b) 
 
>> de=y*z 
 
de = 
 
a^2*(a + 4*b)*(a - 8*b)*(a + 5*b) 
 
>>%finalmente 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
14 
 
>> nu/de 
 
ans = 
 
(2*a - 3*b)/a^2 
 
Ejemplo 25) Dividir: 
 
 
 
 
 
 
 
En MatLab paso a paso: 
>> syms a m b 
>> f=a*m-b*m+a-b; 
>> g=m^3+1; 
>> h=a-b; 
>> i=m^2-m+1; 
% factorizando: 
>> ff=factor(f); 
>> fg=factor(g); 
>> fh=factor(h); 
>> fi=factor(i); 
>> r=(ff*fi)/(fg*fh) 
r = 
 
1 
 
 
 
Ejemplo 26) Obtener una tabla con 20 valores del polinomio: 
X3-1, en el intervalo: [-1,1]. 
>> p=[1,0,0,-1] 
 
p = 
 1 0 0 -1 
 
>> x=linspace(-1,1,20) %para el eje abscisas 
x = 
 
 Columns 1 through 7 
 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
15 
 
 -1.0000 -0.8947 -0.7895 -0.6842 -0.5789 -0.4737 -0.3684 
 
 Columns 8 through 14 
 
 -0.2632 -0.1579 -0.0526 0.0526 0.1579 0.2632 0.3684 
 
 Columns 15 through 20 % ojo pedimos 20 terminos en ese rango 
 
 0.4737 0.5789 0.6842 0.7895 0.8947 1.0000 
 
>> y=polyval(p,x) %eje de ordenadas 
 
y = 
 
 Columns 1 through 7 
 
 -2.0000 -1.7163 -1.4921 -1.3203 -1.1941 -1.1063 -1.0500 
 
 Columns 8 through 14 
 
 -1.0182 -1.0039 -1.0001 -0.9999 -0.9961 -0.9818 -0.9500 
 
 Columns 15 through 20 
 
 -0.8937 -0.8059 -0.6797 -0.5079 -0.2837 0 
 
>> tabla=[x;y] % se obtiene la table con ambos vectores 
 
tabla = 
 
 Columns 1 through 6 
 
 -1.0000 -0.8947 -0.7895 -0.6842 -0.5789 -0.4737 
 -2.0000 -1.7163 -1.4921 -1.3203 -1.1941 -1.1063 
 
 Columns 7 through 12 
 
 -0.3684 -0.2632 -0.1579 -0.0526 0.0526 0.1579 
 -1.0500 -1.0182 -1.0039 -1.0001 -0.9999 -0.9961 
 
 Columns 13 through 18 
 
 0.2632 0.3684 0.4737 0.5789 0.6842 0.7895 
 -0.9818 -0.9500 -0.8937 -0.8059 -0.6797 -0.5079 
 
 Columns 19 through 20 
 
 0.8947 1.0000 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
16 
 
 -0.2837 0 
 
>> plot(x,y,'r*') 
>> title('x^3-1'); 
>> xlabel('x'); 
>> ylabel('y'); 
>> 
El gráfico es: 
 
Funciones en una sola línea 
Son funciones que se definen en una sola línea, utilizando el comando inline. En este comando 
tiene dos argumentos, primero se detalla un string o cadena con la función, anotada entre 
apóstrofes y en el segundo argumento también entre apóstrofes va la variable independiente. 
Ejemplo 27) Sea la función polinómica f(x)=x2 +x +1 
 
>> f = inline('x^2 + x + 1', 'x') % f es el nombre de la funcion 
 
f = 
 Inline function: 
 f(x) = x^2 + x + 1 
 
>> f(5) % para evaluar la función con x=5 
ans = 
 31 
 
>> f(2) %ahora evaluar la función con x=2 
ans = 
 
 7 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
17 
 
 
Ejemplo 28) Dado un conjunto de pares de datos en el plano, encontrar la función que 
corresponde a estos puntos, x=[1,2,3,4] y y=[2,4,6,8] encontrar la función y graficar. 
 
 
>> x=[1,2,3,4] 
x = 
 1 2 3 4 
 
>> y=[2,4,6,8] 
y = 
 2 4 6 8 
 
>> z=polyfit(x,y,2) con esos puntos en el plano queremos la función de grado 2 
 
z = 
 
 0.0000 2.0000 0.0000 % es una recta 
 
>> ezplot('2*x',[-1,4]) 
 >> grid() 
 
 
Ejemplo 29) Dado los puntos en x=[1,2,3,4] y y=[1,-5,-15-29] encontrar la función que 
pasa por estos puntos. 
 >> x=[1,2,3,4] 
x = 
 1 2 3 4 
 
>> y=[1,-5,-15,-29] 
y = 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
18 
 
 1 -5 -15 -29 
 
>> k=polyfit(x,y,2) 
k = 
 -2.0000 0.0000 3.0000 
 
% graficando 
 
>> ezplot('-2*x^2+3',[-2,2]) 
 
 
Gráficos con ezplot 
La forma más sencilla de representar gráficamente una función de una variable es con ezplot. 
Este comando ezplot, tiene como primer argumento el polinomio de una variable en forma de 
cadena, es decir entre apóstrofes, y como segundo argumento del rango de valores que se deben 
evaluar. 
Ejemplo 30) Graficar f(x)=x2 +x +1 
ezplot('x^2 + x + 1', [-2 2]) 
 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
19 
 
 
 
Gráficos con plot 
Representa gráfico en el plano donde” x” es el vector de abscisas y “ y” es el vector de ordenadas. 
Ejemplo 31) Para el polinomio x3-1 que las abscisas vayan en un rango de [ -2,2] se 
escribe x=linspace(-2,2); donde linspace genera 100 valores entre -2 y 2 
x=linspace(-2,2,5); en este caso genera 5 valores. 
>> x=linspace(-2,2,5) 
x = 
 -2 -1 0 1 2 
>>p=[1,0,0,-1]; para el polinomio 
y=polyval(p,x) % evalúa cada elemento de x en el polinomio p y obtiene 
 % de esta manera el vector y. 
>> y=polyval(p,x) 
y = 
 -9 -2 -1 0 7 
>> plot(x,y,'r') %imagen en rojo (red) 
>> title ('x^3-1') 
>> xlabel('Abscisas'); 
>> ylabel('Ordenada'); 
>> grid %imagen cuadriculada. 
 
 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
20 
 
 
También puede agregar texto al lado del gráfico indicando las coordenadas conde debe salir el 
texto text(3,2,’figura’); 
Gráficos con polar 
Dibuja curvas en coordenadas polares 
Ejemplo 32) Graficar la ecuación de la rosa de 5 pétalos es: 
ρ(θ) = sen(5θ), θ ∈ [0,2π]. 
>> z = 0:pi/300:pi; 
>> r = sin(5*z); 
>>polar(z,r) 
 
 
 
 
 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
21Gráficos con plot3(x,y,z) 
Donde x, y y z son tres vectores de la misma longitud, traza una línea en 
el espacio de 3 dimensiones a través de los puntos cuyas coordenadas son 
los elementos de “x”, “y” y “z”. 
Ejemplo 33) Graficar con plot3 
>> t=linspace(0,4*pi); 
>> x=sin(t); 
>> z=t; 
>> y=cos(t); 
>> plot3(x,y,z,'r',-x,-y,z,'b') 
 
 
Ejemplo 34) Ejemplo 
Ejemplo 35) Otro ejemplo con plot3 
 
>> t = linspace(0,10*pi); 
>> x = t.*sin(t); 
>> y = t.*cos(t); 
>> plot3(x,y,t) 
 
Ejemplo 36) Ejemplo con plot3 
 
>> t = 0:pi/50:10*pi; 
>>st = sin(t); 
>>ct = cos(t); 
>>plot3(st,ct,t) 
MATLAB SEGUNDA PARTE ELT-256 M.Sc.I.PRADO 
22 
 
 
 
Ejemplo 37) Ejemplo con plot : 
 
>> x = linspace(0,2*pi,25); 
>>y1 = sin(x); 
>>y2 = sin(x-pi/4); 
>>plot(x,y1,'--go',x,y2,':r*')

Continuar navegando