You are on page 1of 21

1

Primeros pasos en MatLab

1.1. INTRODUCCIÓN

MatLab, desde las primeras versiones dispuso de help y demo, para ini-
ciación rápida. La información suministrada a través de los menús de estas ayu-
das, correspondientes a las últimas versiones, crecieron de forma exponen-
cial, siendo de utilidad práctica disponer de un libro resumen de MatLab, en
donde se encuentren los comandos de uso más frecuente, a la vez que se mues-
tren sus aplicaciones prácticas en ejercicios, desde lo más sencillo, hasta otros
de mayor complejidad.
Este Capítulo es adecuado para principiantes absolutos, y de afianzamiento
a los ya iniciados.
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

1.2. COMENZANDO
Al arrancar MatLab, presenta una pantalla dividida en varias ventanas,
configurables desde Desktop Layout del menu de View; en una de las ven-
tanas estará el cursor parpadeando a la derecha de «>>», es la ventana de co-
mandos desde donde se ejecutan los mismos, las otras son informativas:

>> 3 + 4
ans =
7
>> 3*5
ans =
15
>> 15/3
ans =
5

1 Ediciones Díaz de Santos, 2003. ProQuest Ebook


Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería,
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
2 INTRODUCCIÓN RÁPIDA A MATLAB Y SIMULINK PARA CIENCIA E INGENIERÍA

>> 15\3
ans =
0.2000
>> 2ˆ3
ans =
8
>> sin(2*pi*30/360)
ans =
0.5000
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

Figura 1.1. Ventanas de MatLab.

1.3. ESPACIO DE TRABAJO


Los datos y variables usadas residen en el espacio de trabajo, workspace,
accesible desde la ventana de comandos. Para inspeccionar el contenido de este
espacio se utilizan los comandos who y whos.
Los archivos directamente accesibles desde el espacio de trabajo, se mues-
tran mediante what. En el siguiente ejemplo se muestran sus características:

>> t = linspace(1,10,4) % Crea un vector de 4 elementos desde


% 1 a 10.
t =
1 4 7 10

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
PRIMEROS PASOS EN MATLAB 3

>> t = t(:) % Crear el vector t en columna.


t =
1
4
7
10

>> A = 2*t; B = 2;
>> who

Your variables are:

t A B

>> whos

Name Size Bytes Class


t 1 × 4 32 double array
A 1 × 4 32 double array
B 1 × l 8 double array

Grand total is 9 elements using 72 bytes

>> what

M-files in the current directory D:\MatLab\work


AjusNL Datos EcudifP
AjusN1Fun Ecudif Fun
MAT-files in the current directory D:\MatLab\work
Datos
MDL-files in the current directory D:\MatLab\work
Bcont Bfuntab BnoLineal Bseñsis
Bfuentes Bmat Bsalidas Ecu2
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

En el espacio de trabajo se crearon 3 variables, 2 de 4 elemenos, y una de 1


elemento, de modo que son 9 elementos a 8 bytes por elemento, lo que hace un
total de 72 bytes.
A partir de la versión 6, release 12, MatLab incorporó workspace, po-
tenciando la capacidad de whos.

1.4. VARIABLES
En MatLab no es necesario hacer declaraciones previas acerca de las va-
riables. El contenido de las variables de caracteres ha de ir delimitado por el
signo «'».
>> numero_de_visitantes = 25

numero_de_visitantes =

25

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
4 INTRODUCCIÓN RÁPIDA A MATLAB Y SIMULINK PARA CIENCIA E INGENIERÍA

De ese modo se crean variables numéricas, numero_de_visitantes,


que almacenan su valores en una matriz, en este caso la matriz es de 1 × 1, y su
valor es 25.

» size(numero_de_visitantes) % Dimensión de variables.

ans =

1 1

» Nombre='Pepe'; % Variable de caracteres.


» size (Nombre)

ans =

1 4

Los nombres de las variables deben seguir estas reglas:

1. Se forman con las letras del abecedario, los dígitos 0 a 9 y el signo «_»,
distinguiéndose mayúsculas de minúsculas.
2. Los nombres de las variables han de comenzar por una letra y no deben
contener espacios en blanco.
3. Los nombres de las variables no pueden coincidir con los nombres de las
keywords, nombres reservados.

La lista de los nombres reservados se obtiene por medio de iskeyword:

» iskeyword
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

ans =

'break'
'case'
'catch'
'continue'
'else'
'elseif'
'end'
'for'
'function'
'global'
'if'
'otherwise'
'persistent'
'return'
'swirch'
'try'
'while'

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
PRIMEROS PASOS EN MATLAB 5

>> if = 5
??? if = 5

Error: Expected a variable, function, or constant, found”=”.

Los nombres de las variables pueden ser tan extensos como se quiera, pero
MatLab sólo reconoce los 31 primeros caracteres.
Las variables se eliminan del espacio de trabajo con el comando clear:

clear Elimina las variables del espacio de trabajo.


clear variables Es equivalente al comando anterior.
clear global Elimina las variables globales.
clear functions Elimina todas las funciones compiladas.
clear all Elimina todas las variables, globales y funciones.
clear pipo* Elimina las variables que empiezan por pipo.

MatLab suministra amplia información adicional mediante help clear.

1.5. FORMATO DE NÚMEROS

MatLab presenta los resultados numéricos en varios formatos, según se ex-


presa a continuación:

>> help format

FORMAT Set output format.


All computations in MATLAB are done in double precision.
FORMAT may be used to switch between different output
display formats as follows:
FORMAT Default. Same as SHORT.
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

FORMAT SHORT Scaled fixed point format with 5 digits.


FORMAT LONG Scaled fixed point format with 15 digits.
FORMAT SHORT E Floating point format with 5 digits.
FORMAT LONG E Floating point format with 15 digits.
FORMAT SHORT G Best of fixed or floating point for-
mat with 5 digits.
FORMAT LONG G Best of fixed or floating point format
with 15 digits.
FORMAT HEX Hexadecimal format.
FORMAT + The symbols +, – and blank are printed
for
positive, negative and zero elements.
Imaginary parts are ignored.
FORMAT BANK Fixed format for dollars and cents.
FORMAT RAT Approximation by ratio of small integers.

Spacing:
FORMAT COMPACT Suppress extra line-feeds.
FORMAT LOOSE Puts the extra line-feeds back in.

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
6 INTRODUCCIÓN RÁPIDA A MATLAB Y SIMULINK PARA CIENCIA E INGENIERÍA

Al mostrar resultados numéricos, MatLab sigue estas dos reglas:

1. MatLab intenta mostrar números enteros. Si el entero es muy grande, se


presenta en formato exponencial, con 5 cifras significativas.
2. Los números con decimales se muestran con 4 o 5 cifras significativas.
Los números en valor absoluto menores de 0,01 y mayores de 1.000, se
muestran en formato exponencial.

A continuación se muestran ejemplos demostrativos de formatos numéri-


cos:
>> sqrt(2)

ans =

1.4142

>> format long


>> sqrt(2)

ans =

1.41421356237310

>> format Long e


>> sqrt (2)

ans =

1.41421356237310e+00
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

>> format short


>> A= [10000 0.0001]

ans =

1. 0e+04 *
1.0000 0.0000

>> format short g


>> A

A =

10000 0.0001
>> format rat
>> A

A =

10000 1/10000

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
PRIMEROS PASOS EN MATLAB 7

1.6. PROGRAMAS

MatLab acepta comandos directos, para inmediatamente producir el resul-


tado o ejecutar una serie de comandos almacenados en un archivo, con la ex-
tensión «.m».
Un archivo.m, consiste en una secuencia de sentencias MatLab, posible-
mente incluyendo referencias a otros archivo.m, o recursivamente a sí mismo.
A estos archivos los llamamos programas MatLab, en inglés scripts. Las va-
riables de los programas se mantienen en el espacio de trabajo, pudiendo ser in-
vocadas en cualquier momento para ver su contenido.
En una sentencia, lo que sigue a % no se ejecuta, se considera un comenta-
rio.
Si se desea construir una tabla con inversos, cuadrados y raíces cuadradas
de 1 a 10, se edita un archivo, Numeros.m, con cualquier editor, tal como
el bloc de notas del sistema operativo, o con el editor propio de MatLab, se-
gún:
% ----------------Numeros.m -----------------------------------
x=1:10; % Crea un vector de 1 a 10 de 1 en 1. Vector en lí-
nea.
x=x'; % Transposición. Vector en columna.
x=[x,1../x,x.ˆ2,sqrt(x)]; % Matriz de 4 columnas.
% ------------------------------------------------------------

El programa se invoca ejecutando «Numeros». Como en el programa todas


las sentencias se finalizaron con «;», no se muestra ningún valor numérico. Al
ejecutar «x», se obtendrá la tabla desada:
>> Numeros
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

>> x

x =

1.0000 1.0000 1.0000 1.0000


2.0000 0.5000 4.0000 1.4142
3.0000 0.3333 9.0000 1.7321
4.0000 0.2500 16.0000 2.0000
5.0000 0.2000 25.0000 2.2361
6.0000 0.1667 36.0000 2.4495
7.0000 0.1429 49.0000 2.6458
8.0000 0.1250 64.0000 2.8284
9.0000 0.1111 81.0000 3.0000
10.0000 0.1000 100.0000 3.1623

Pulsando la tecla ↑, se consiguen las líneas de los comandos previamente


ejecutadas.

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
8 INTRODUCCIÓN RÁPIDA A MATLAB Y SIMULINK PARA CIENCIA E INGENIERÍA

1.7. FUNCIONES

El otro tipo de archivos utilizado por MatLab son las funciones, cuya pri-
mera característica es que sus variables son locales en su entorno y no definidas
en el espacio de trabajo, ni en otras funciones.
Buena parte de la potencia de MatLab se basa en su extenso conjunto de
funciones, las básicas y las distribuidas de forma separada para aplicaciones es-
pecíficas, MatLab toolboxes, y otras que desarrollan los usuarios.
Las funciones toman unas variables de entrada para calcular unos datos de
salida, sea:
1 1
Fun( x ) = + −5
( x − 1) + 0,1 ( x − 3)2 + 0, 2
2

almacenado en el archivo «Fun.m», cuyo contenido es:


function y=Fun(x)
% -----------------Fun.m --------------
% Esto es un ejemplo
% de una función.
y=1../((x–1).ˆ2+0.1)+1../((x–3).ˆ2+0.2)–5;
%-------------------------------------

Para evaluar Fun gráficamente, se lanza con las siguientes instrucciones:


>> x=–2:0.01:6; % Vector de –2 a 6, a incrementos de 0,01.
>> y=Fun(x); % Guardando el vector Fun(x) en y.
>> plot(x,y),grid % Representación con rejilla.

En Fun(x), x es el argumento o entrada de Fun, para dar unos resultados


Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

de salida que se almacenan en y, que se muestran gráficamente.


Hay funciones del sistema o construidas por un usuario, que toman diferen-
te número de argumentos de entrada que de salida. Así la función max, toma un
vector de argumentos y puede suministrar una o dos salidas, según se use:
>> A = [1 2 1 5 2 3];
>> max(A) % Suministrará el valor máximo de A.
ans =
5
>> [X, i] = max(A) % X, valor máximo, i posición del máximo.
X =
5
i =
4

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
PRIMEROS PASOS EN MATLAB 9

–2

–4

–6
–2 –1 0 1 2 3 4 5 6

Figura 1.2. Representación gráfica de Fun.

1.7.1. Reglas de construcción de funciones

1. El nombre de la función y del archivo deben ser idénticos.


2. Los nombres de las funciones se rigen por las normas de los nombres de
las variables.
3. La primera línea ejecutable de una función debe ser la línea de declara-
ción de función.
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

4. Las variables del interior de las funciones son variables locales.


5. El conjunto de líneas consecutivas de comentarios que siguen a func-
tion, componen el texto de ayuda de esa función, obtenible median-
te help y lookfor.

>> help Fun


----------------Fun.m -------------
Esto es un ejemplo
de una función.

6. Una función termina al encontrar un retun o al llegar a la última línea


de la función.
7. Si una función llama a un programa, éste es evaluado en el espacio de
trabajo de la función y no en el workspace de MatLab.
8. Cada función tiene su espacio de trabajo separado del de MatLab, de
modo que la conexión entre estos ambientes se realiza a través de las va-
riables de entrada y salida de la función.

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
10 INTRODUCCIÓN RÁPIDA A MATLAB Y SIMULINK PARA CIENCIA E INGENIERÍA

9. Para compartir variables del interior de las funciones y del espacio de


trabajo, se declaran variables globales donde se necesiten mediante la
instrucción global.
>> global X a b % Declaración de variables globales

Para facilitar el manejo de funciones, MatLab incorporó recientemente @, y


feval, para mejorar eval, cuya utilidad se expone en el siguiente ejemplo:
>> F = @Fun % Creación directa de F.

F =
@Fun
>> feval(F,2)
ans =
-3.2576

Se consigue el mismo resultado con:


>> eval('Fun(2)')
ans =
-3.2576
>> Fun(2)
ans =
-3.2576
>> F(2)=@cos % Creación directa de F(2).
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

F =

@Fun @cos

La eficiencia de feval es considerablemente superior a eval, ya que el


primero evalúa directamente lo que se invoca, mientras que eval llama al in-
terpretador completo de MatLab. La diferencia en tiempo de ejecución de am-
bas funciones se pone de manifiesto con:
>> tic, for i = 1:100000, a = eval('Fun(i)'); end, toc
elapsed_time =
14.3210
>> tic, for i = 1:100000, a = feval('Fun',i); end, toc
elapsed_time =
4.0960

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
PRIMEROS PASOS EN MATLAB 11

1.7.2. Funciones en línea


Un segundo modo de definir funciones, sin editar archivos, se logra con
inline:
>> syms x y
>> f = inline('x.ˆ2 + y.ˆ2')
f =
Inline function:
f(x) = x.ˆ2 + y.ˆ2
>> f(3,4)
ans =
25
>> feval(f,3,4)

ans =
25

1.7.3. Ejemplo de función recursiva


En muchas aplicaciones se presenta la recursividad, función que en su in-
terior se llama a sí misma. El ejemplo más secillo de recursividad es el cálculo
del factorial de un número:
N! = N × (N – 1)!
definiendo 1! como 1.
La función Factorial.m, toma un número de entrada, y suministra como sa-
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

lida su factorial:
function f = Factorial(N)
% Esta función calcula el factorial de la parte
% entera de un número.
n = fix(N); % n toma la parte entera de N.
if n > 1
f = n*Factorial(n – 1);
else
f = 1;
end

Esta sencilla función toma un número y calcula el factorial de su parte


entera.
>> Factorial(3.3)
ans =
6

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
12 INTRODUCCIÓN RÁPIDA A MATLAB Y SIMULINK PARA CIENCIA E INGENIERÍA

1.8. NÚMEROS COMPLEJOS

MatLab admite operaciones con números complejos, permitiendo usar in-


distintamente la i y la j, según se muestra en lo siguiente:
>> a = sqrt(–1)

a =

0 + 1. 0000i

>> conj(a)

ans =

0 – 1.0000i

>> sqrt(a)

ans =

0.7071 +0.7071i

>> exp(2i)

ans =

-0.4161 + 0.9093i

>> A = (3 + 4i)*(2 – j)

A =
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

10. 0000 + 5.0000i

>> r = real(A)

r =

10
>> I = imag(A)

I =

5
>> r = abs(A)

r =

11.1803

>> Angulo = angle(A)

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
PRIMEROS PASOS EN MATLAB 13

Angulo =

0.4636

>> Angulo = atan2(imag(A),real(A))

0.4636

>> Aa = r*exp(Angulo*i)

Aa =

10.0000 + 5.0000i

1.9. MANEJO DE VECTORES Y MATRICES

La forma más sencilla de crear un vector es mediante el uso de [], vector


en línea, o con []', vector en columna. Los elementos se separan por espacios
o comas, el «;» se reserva para anexar en columna:

>> t = [3 5 7, 8, 9]

t =

3 5 7 8 9

También se generan vectores mediante las instrucciones linspace y


logspace, ambos con dos o tres argumentos, y con «:», ya mencionado:
>> x = logspace(0,2,5) % Vector de 5 componentes de 10ˆ0 a
10ˆ2.
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

x =

1.000 3.1623 10.0000 31.6228 100.000

Con el siguiente ejemplo se muestra la creación y manejo de matrices:


>> x = 0:4

x =

0 1 2 3 4

>> y = x.ˆ2 % El punto antes del exponente


% hace que la exponenciación
y = % sea elemento a elemento.
0 1 4 9 16

>> a = [x;y] % Crear una matriz anexando


% vectores.

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
14 INTRODUCCIÓN RÁPIDA A MATLAB Y SIMULINK PARA CIENCIA E INGENIERÍA

a =
0 1 2 3 4
0 1 4 9 16
>> A = a' % Crear la matriz A, transpues-
% ta de a.

A =
0 0
1 1
2 4
3 9
4 16
» B = [A; 5 25] % Añadir una línea a una ma-
% triz.
B =
0 0
1 1
2 4
3 9
4 16
5 25

>> C = reshape(B,3,4) % Reconfigurar la matriz B


% con 3 líneas y 4 columnas.
C =
0 3 0 9
1 4 1 16
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

2 25 4 50
>> C(2,:)=[] % Eliminar la 2a línea. Los
% dos puntos indican para
C = % todos los valores de esa
% dimensión.
0 3 0 9
2 25 4 50
>> C(:,3) = [] % Eliminar la 3a columna,
% 0 4.
C =
0 3 9
2 25 50
>> A = [1 2; 3 5]
A =
1 2
3 5

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
PRIMEROS PASOS EN MATLAB 15

>> Aˆ2 % Diferencia entre ˆ y .ˆ

ans =

7 12
18 31

>> A.ˆ2

ans =

1 4
9 25

>> 1../A

ans =

1.0000 0.5000
0.3333 0.2000

>> det(A)

ans =

-1

>> inv(A)

ans =

-5.0000 2.0000
3.0000 -1.0000
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

Las exponenciaciones, elemento a elemento y matricial, también se realizan


con los comandos power y mpower, según:

>> x =[2 3 4];


>> y = power(x,2) % Equivalente a y = x.ˆ2

y =

4 9 16

>> x = [2 3;1 4];


>> y = mpower(x,2) % Equivalente a y = xˆ2
y
7 18
6 19

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
16 INTRODUCCIÓN RÁPIDA A MATLAB Y SIMULINK PARA CIENCIA E INGENIERÍA

1. 10. POLINOMIOS

Sea el polinomio p = x2 – 5x + 6, con vector de coeficientes C:

>> C = [1 -5 6];

Las raíces de este polinomio se obtienen, mediante:

>> r = roots(C)
r =
3
2

poly sobre las raíces devuelve los coeficientes del polinomio:


>> poly(r)
ans =
1 -5 6

polyval evalúa el polinomio sobre un valor:


>> polyval(C,5)
ans =
6

1.10.1. Multiplicación y división de polinomios


Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

La multiplicación de dos polinomios, Pol1 = x2 + 2x + 3 por Pol2 = x – 1,


se efectúa por medio de conv:

>> Pol1 = [1 2 3];


>> Pol2 = [1 -1];
>> PolProd = conv(Pol1,Pol2)
PolProd =
1 1 1 -3

Cuyo resultado equivale a x3 + x2 + x – 3.


La división de polinomios se realiza mediante deconv:
>> PolDiv = deconv(PolProd,Pol2)
PolDiv =
1 2 3

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
PRIMEROS PASOS EN MATLAB 17

1.10.2. Desarrollo en fracciones simples

Mediante residue, aplicado a dos polinomios, se obtienen fracciones


simples, cuya suma es equivalente al cociente de los polinomios:
>> P1 = [5 -20 9];
>> P2 = [1 -5 4];
>> [r,s,t] = residue(Pl,P2)
r =
3
2
s =
4
1
t =
5

Representando r, un vector columna con los numeradores de las fracciones,


s las raíces de cada denominador, y t los coeficientes del término indepen-
diente:
5 x2 − 20 x + 9 3 2
= + +5
x2 − 5 x + 4 x − 4 x −1

Si se conocen los numeradores, las raíces de los denominadores y los tér-


minos independientes, se pueden generar los polinomios:
>> [p1,p2] = residue(r,s,t)
p1 =
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

5 -20 9
p2 =
1 -5 4

Siendo p1 y p2, los polinomios obtenidos, con los numeradores, raíces y


términos independientes.

1.10.3. Derivadas de polinomios

Las derivadas de los polinomios se obtienen con polyder:


>> derp1 = polyder(p1)
derp1 =
10 - 20

es decir, 10x – 20

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
18 INTRODUCCIÓN RÁPIDA A MATLAB Y SIMULINK PARA CIENCIA E INGENIERÍA

1.10.4. Integración de polinomios

La integral de un polinomio se obtiene mediante polyint(p), o con


polyint(p,C); en el primer caso se supone que la constante de integración
es 0, y en el segundo C:
>> polyint(p2)

ans =

0.3333 -2.5000 4.0000 0

>> polyint(p2,2)

ans =

0.3333 -2.5000 4.0000 2.0000

Equivalente a:
1 3 5 3
x − x + 4x + 2
3 2

1.10.5. Interpolación polinomial

Matlab permite varios modos de interpolación, relacionados y descritos


en help interp1; a continuación se muestran unos ejemplos:
>> x = [2 4 6];
>> y = power(x,2); % Por defecto se utiliza el méto-
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

do de
>> y5 = interp1(x,y,5) % interpolación lineal.

y5 =

26

>> y5c = interp1(x,y,5,'cubic') % Interpolación cúbica.

y5c =

24.8750

>> y5s = interp1(x,y,5,'spline')

y5s =

25

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
PRIMEROS PASOS EN MATLAB 19

1.11. matlabpath

El path de MatLab, llamado matlabpath, establece el camino para


buscar variables, programas y funciones de MatLab que sean llamados direc-
tamente desde la ventana de comandos, o durante la ejecución de programas.
Al invocar un comando, MatLab lo busca, y ejecuta el que primero coinci-
da con el nombre invocado, según el siguiente orden:

1. Si es una variable del workspace.


2. Si es una función incorporada.
3. Si es un archivo.m presente en el directorio actual.
4. Lo busca siguiendo el orden establecido en matlabpath.

El comando which, aplicado sobre una función muestra su ruta:

>> which Fun


d:/MatLab6p5/work/Fun.m

1. 12. lookfor

lookfor aplicado a una variable de caracteres, busca esos caracteres en la


primera línea de comentarios de los archivo.m encontrados en el matlab-
path.
>> lookfor Fun.m
Fun.m: %---------------- Fun.m --------------------

1.13. LATEX
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

La función latex(A) devuelve la representación LATEX de una expresión


simbólica:

>> syms x
>> A = taylor(exp(–x))

A =
1 - x + 1/2*xˆ2 - 1/6*xˆ3 + 1/24*xˆ4 - 1/120*xˆ5
>> pretty(A)
2 3 4 5
1 - x + 1/2 x - 1/6 x + 1/24 x - 1/120 x
>> latex(A)
ans =
1 - x + 1/2\,{x}ˆ{2}-1/6\,{x}ˆ{3}+1/24\,{x}ˆ{4}-
{\frac{1}{120}}\,
{X}^{5}

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
20 INTRODUCCIÓN RÁPIDA A MATLAB Y SIMULINK PARA CIENCIA E INGENIERÍA

1.14. FUNCIONES DEL TIEMPO

MatLab suministra datos relacionados con el tiempo, como una variable de


caracteres, 12-Oct-1498, como una variable numérica, 739476 o como
un vector, 1789 07 14 0 0 0.
La función clock responde con:

>> Tiempo = clock

Tiempo =

1.0*e + 03 *
2.0030 0.0010 0.0290 0.0160 0.0400 0.0502

Esos datos responden a Tiempo[año mes día hora minutos se-


gundos].
now devuelve la fecha y hora en un número, datestr convierte una fecha
numérica en string, datevec individualiza los componentes de fecha y hora,
datenum convierte una fecha en un número:
>> now

ans =

7.3161e + 05

>> datestr(7.3161e + 05)

29-Jan-2003

>> datevec(7.3161e + 05)


Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

2003 1 29 0 0 0

>> datenum(date)

7.3161e + 05

La función date devuelve una variable de caracteres en el formato dd-


mmm-yyyy:

>> date
ans =

29-Jan-2003

Numerosas transformaciones de fechas pueden encontrarse mediante help


datestr.

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.
PRIMEROS PASOS EN MATLAB 21

Para temporizaciones se usan tic, para comienzo, y toc para finalizar la


temporización y mostrar el resultado:
>> T = clock; tic, for i = 1:1000000, a = sqrt(i); end, ...
toc, Tt = etime(clock,T)

elapsed_time =

3.6174

Tt =

3.6642

Los tres puntos seguidos indican continuación en la siguiente línea.


La ejecución de las raíces cuadradas de 1 a 1 millón, en un Pentium III a
866 Mhz, con Linux Suse 8.2 y Student MatLab 12, tarda 3.62 segundos.
La función etime devuelve el tiempo, en segundos, transcurrido entre
dos valores del tiempo:
>> etime(Tiempo,clock)

ans =

-1.2835e + 03

1.15. INTERCAMBIO DE DATOS

A partir de la versión 6, taınbién numerada como 12, MatLab presenta


una ventana de Historia de Comandos, en donde se listan las órdenes efectua-
Copyright © 2003. Ediciones Díaz de Santos. All rights reserved.

das, de modo que en una sesión nueva se pueden buscar comandos ejecutados
en sesiones precedentes.
Para guardar el espacio de trabajo en un archivo, para posteriormente re-
cuperarlo, se utilizan los comandos load y save, según:

>> clear
>> X=rand(2,3)

X =

0.3046 0.1934 0.3028


0.1897 0.6822 0.5417

>> Y=round(X)

Y =

0 0 0
0 1 1

Gil, Rodríguez, Manuel. Introducción rápida a Matlab y Simulink para ciencia e ingeniería, Ediciones Díaz de Santos, 2003. ProQuest Ebook
Central, http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3171391.
Created from unadsp on 2019-02-19 18:33:10.

You might also like