3. MATLAB es un lenguaje de programación
desarrollado por MathWorks.
Es un programa para realizar cálculos numéricos con vectores y
matrices, y por tanto se puede trabajar también con números
escalares (tanto reales como complejos), con cadenas de
caracteres y con otras estructuras de información más complejas.
MATLAB es el nombre abreviado de
“MATriz LABoratory”.
4. Al ser una herramienta de un lenguaje de muy alto nivel, fácil de
aprender y usar, muy potente, flexible, extensible, de gran exactitud,
robusto y rápido
7. La pestaña HOME: Es donde ser realizan operaciones de propósito general tales como crear
nuevos archivos, importar datos, gestionar el workspace y configurar el diseño del escritorio
La pestaña PLOTS: muestra una galería de trazas disponibles y algunos de los toolboxes que se tengan
instalados. La galeria es inteligente, solo muestra las trazas que son apropiadas para los datos seleccionados
La pestaña APPS: es el lugar en donde se ejecutan las aplicaciones interactivas MATLAB. Muchas
de estas aplicaciones provienen de MathWorks, se obtienen automáticamente con los Toolboxes que
se hayan instalado. La pestaña Apps presenta una galería de apps que se haya instalado.
8. Las Pestañas Contextuales Las Pestañas Contextuales solo aparecen cuando se realizan
ciertas tareas en MATLAB. Por ejemplo, cuando se utiliza el Editor para editar un archivo, aparecen
tres nuevas pestañas:
la pestaña Editor
la pestaña Publish
la pestaña View.
La pestaña EDITOR: contiene todas las funciones necesarias para editar un archivo. Todas la
capacidades del Editor están organizadas de tal manera que sean fáciles de encontrar y usar.
La pestaña PUBLISH: Los controles de formato necesarios para crear documentos
MATLAB. La publicación es una característica muy útil en MATLAB.
9. La pestaña VIEW: Es a partir de donde se controlan el diseño y la apariencia de los archivos en el
Editor..
10. La Ventana de Comandos (Command Window): Es el espacio principal de
interacción entre el usuario y el software, ahí se ejecutan las instrucciones y
muestran los resultados. Mantiene las mejoras de la versión anterior, algunas
de las cuales recordaremos a continuación:
Se permiten líneas de comandos muy largas que automáticamente siguen en la línea siguiente al
llegar al margen derecho de la ventana.
11. La Ventana Historial de Comandos (Command History)
La Ventana Historial de Comandos visualiza un registro (log) de sentencias que se hayan
ejecutado en las sesiones MATLAB actual y previas. La hora y la fecha de cada sesión aparece
al inicio de las sentencias listadas para aquella sesión. Todas las entradas son registadas en el
archivo history.m
Procedimiento
para activar
12. El Workspace de MATLAB (MATLAB Workspace) es el conjunto de variables creadas y
almacenadas en memoria durante una sesión MATLAB. Cuando se utilizan funciones,
ejecuta código MATLAB y se carga workspaces almacenados, se añaden variables al
workspace. El Workspace Browser es una herramienta que nos permite ver, modicar, y
gracar valores del Worskpace de MATLAB. Por defecto, el Workspace Browser muestra
el Worskpace base. Si MATLAB se halla en modo de depuración (debug mode), el campo
Stack nos permitirá ver los worskpaces de las funciones.
Por ejemplo, si se ejecutan las sentencias:
El Workspace Browser
A = 1
R = 16
el workspace añadira dos variables, A y R.
13. La Carpeta de Inicio (Startup folder) es la Carpeta Actual (Current folder)
en la aplicación MATLAB cuando ésta inicia.
La Ventana Carpeta Actual (Current Folder)
La Carpeta Actual debe ser la Carpeta que se usa con mayor frecuencia.
La Ventana Carpeta Actual (Current Folder):
Muestra siempre la ruta completa de la carpeta actual en la barra de
dirección, y el contenido de la actual carpeta en un así como sus
respectivas subcarpetas en el panel debajo de la barra.
Permite el acceso a las características de gestión de archivos del
sistema operativo desde dentro de MATLAB.
Es similar a los administradores de archivos provistos por los sistemas
operativos, añadiendo características únicas para MATLAB.
14. Es una ventana independiente que proporciona un acceso completo a las funciones de
ayuda de Matlab, incluyendo búsquedas, demostraciones, etc.
Ventana de ayuda:
18. Operaciones básicas en Matlab
MATLAB puede utilizarse de la misma manera que una calculadora para
realizar operaciones matemáticas simples.
Operaciones aritméticas
Sumar: +
Restar: -
Producto: *
División derecha: /
División izquierda:
Potenciación: ^
>> 6+9
ans =
15
>> 98-67
ans =
31
>> 3+9-8+(-2)
ans =
2
>> 3.5*8
ans =
28
>> 4^3
ans =
64
>> -2^4
ans =
-16
>> 9/6
ans =
1.5000
>> 96
ans =
0.6667
>> 4/5^3
ans =
0.0320
20. Formatos de despliegue de números
No debe existir espacios en blanco entre el número decimal y el exponente
>> 0.786e9
ans =
786000000
Correcto
>> a=9.768e23
a =
9.7680e+23
>> d=8.765e34
d =
8.7650e+34
>> f=3.456e-23
f =
3.4560e-23
Incorrecto
>> b=9.768 e23
b=9.768 e23
|
Error: Unexpected MATLAB
expression.
21. Se muestran de cuatro dígitos se usan ,depende de su cálculo.
Los números enteros se muestra sin punto decimal, y los números
decimales se muestran en formato corto
Los decimales en Matlab
>> format short
>> 9.8
ans=
9.8000
(format short) es 4
dígitos decimales
>> format long
>> 8.763
ans =
8.763000000000000
>> format bank
>> 7.8873873
ans =
7.89
>> format short e
>> 0.0000000003488
ans =
3.4880e-10
>> format long e
>> 0.0000000003488
ans =
3.488000000000000e-10
(format long) 14
dígitos decimales
por defecto
(format long e) 14
dígitos decimales,
notación científica
(format short e) 4
dígitos decimales,
notación científica
format bank: (formato banco): se
despliega 2 dígitos decimales.
22. >> format +
>> 787.98768
ans =
+
format +: muestra el signo más o menos solamente,
sea de un número ingresado.
format rat: muestra los números ingresados en
forma fraccionaria
>> format rat
>> 787.98768
ans =
63827/81
>> format rat
>> 0.45
ans =
9/20
>> format +
>> -7.16
ans =
-
>> format % para regresar por defecto
23. estos números están representados como la suma de un número real y un número
imaginario.
Números Complejos:
Este campo está igualmente implementado en Matlab. Se representa con la
Letra minúscula i o j que representa al numero complejo (−1) , sobre estos números se
pueden aplicar los operadores habituales, además de algunas otras funciones específicas
>> i
ans =
0.0000 + 1.0000i
>> j
ans =
0.0000 + 1.0000i
>> 5+7i
ans =
5.0000 + 7.0000i
>> 9-8i
ans =
9.0000 - 8.0000i
>> 3-5j
ans =
3.0000 - 5.0000i
24. Números especiales
Existe un grupo de números que, por su uso, tiene un trato especial.
% Pi
>> pi
ans =
3.1416
% Exp
% Neper
>> exp (1)
ans =
2.7183
% Realmax
% Mayor número real positivo utilizable
>> realmax
ans =
2.7977e+30
% Realmin
% Menor número real positivo utilizable
>> realmin
ans =
2.2251e-30
% NaN
% Indeterminación: 0/0
>> 0/0
ans =
NaN
% inf
% Infinito: 1/0
>> 1/0
ans =
Inf
Constantes
25. Los nombres de las variables deben de comenzar con una letra
Pueden tener hasta 31 caracteres, que pueden ser números, letras, subrrayado(_)
La variable a es distinta de la variable A, MATLAB diferencia entre mayúsculas y
minúsculas
Los nombres de las variables deben tener significado, primero se utilizan letras como a,
x, y, pero cuando los programas son más complejos se llamarán posicion, velocidad, etc.
nombres significativos.
Los nombres de las variables no pueden coincidir con las palabras reservadas por
MATLAB: sin, sqrt exp, For, if, close, etc.
No están permitidos espacios entre caracteres
No pueden contener ningún sinbolo: *, -, *, /, &, $, #, $,<, >, etc.
Variables
Los datos se pueden almacenar en algún lugar de la memoria, asignando valores a nombres
de variables
26. >> iskeyword
ans =
20×1 cell array
{'break' }
{'case' }
{'catch' }
{'classdef' }
{'continue' }
{'else' }
{'elseif' }
{'end' }
{'for' }
{'function' }
{'global' }
{'if' }
{'otherwise' }
{'parfor' }
{'persistent'}
{'return' }
{'spmd' }
{'switch' }
{'try' }
{'while' }
No se pueden asignar como nombres de
variable. El comando iskeyword hace que
MATLAB elabore una lista de tales
nombres reservados:
Reserva una lista de palabras
27. Por medio de esta instrucción se asigna o reasigna valor a una variable. En
MatLab, la asignación se hace por medio del operador igual (=); es decir, los
valores ubicados a la derecha del operador de asignación se asignan a la
variable ubicada a la izquierda de dicho operador. Generalizando, se pueden
dar dos tipos de asignaciones:
>>variable = número
Declaración de asignación
28. >> base = 12
Base =
12
>>altura=5
Altura=
5
>>area=base*altura
area=
60
calculando el área de un cuadrado
29. Comentario o Notas
El símbolo % representa un comentario y no es ejecutado por Matlab.
% Esto es un comentario.
>>a = 12 % esto es otro
comentario.
>>b = 12
%{
Esto es otro comentario de
párrafo
%}
>>c = a+b
>>a = 12
... Este es comentario ...
>>b = 12
A medida que se realizan cálculos, el área de
trabajo se va llenando.
% limpia la pantalla
>> clc % Esta acción no borra las variables asignadas
% Borra todas las variables de la sesión de trabajo
>>clear
>> clear x % Borra las variables x.
>> clear x y % Borra las variables x e y.
limpia y eliminar
Comandos que involucran variables
30. who Lista de variables que se están utilizando
whos Lista de variables junto a su tamaño en memoria
Pulsamos la tecla cursor flecha hacia
arriba y obtenemos la línea anterior,
>> who
Your variables are:
a c m x
>> whos
Name Size Bytes Class Attributes
a 1x1 2 int16
c 1x10 20 char
m 1x1 1 logical
x 1x1 8 double
31. Si deseamos ver las características de una o de sólo
algunas variables, entonces especificamos ellas de la
siguiente manera:
>>> whos a m
Name Size Bytes Class
Attributes
a 1x1 2 int16
m 1x1 1 logical
32. Se define que los valores ingresados al programa pueden ser de los siguientes
tipos
Tipos de datos
% double:
>> x = 7;
% int:
>>a = int16(23);
% char: Los caracteres deben estar entre apóstrofes.
>> c = ‘hola unjbg’;
% logical: Son los resultados de una comparación o
relación que en programación se define como 0 (falso) y 1
(verdadero).
>> m = 6>4;
33.
34. Doble Precisión: double
La función isloat nos permite verificar si el dato ingresado es de punto flotante (decimal).
>> a = 2.42
ans=
2.34
>> whos a
Name Size Bytes Class Attributes
a 1x1 8 double
>> f=isfloat(a)
f =
logical
1
Sino corresponde sale 0
35. >> s=single(78.012);
>> whos s
Name Size Bytes Class Attributes
s 1x1 4 single
>> s1=isloat(s)
s1 =
logical
1
Simple Precisión: single
Estos tipos de datos son creados de la siguiente manera:
36. Números Enteros
Definimos un dato entero como aquel valor exacto dentro del programa. La siguiente tabla muestra
cómo definir los datos enteros:
>> x=int8(23);
>> y=int16(46);
>> w=int64(-6);
>> z=int32(157);
>> whos x y w z
Name Size Bytes Class
Attributes
w 1x1 8 int64
x 1x1 1 int8
y 1x1 2 int16
z 1x1 4 int32
37. datos enteros:
>> x=int8(23);
>> y=int16(46);
>> whos x y
Name Size Bytes Class Attributes
x 1x1 1 int8
y 1x1 2 int16
% Si se desea verificar si un dato es de tipo entero, utilizaremos la
función isinteger:
>>isinteger(x)
ans =
logical
1
Sino corresponde sale 0
38. Conversión de Tipo de Datos
>> a=int16(24); %valor 24
>> b=double(a);
>> c=single(a);
>> whos a b c
Name Size Bytes Class Attributes
a 1x1 2 int16
b 1x1 8 double
c 1x1 4 single
39. Utilizar un punto y coma (;) al final de una línea de comandos, suprime su
resultado e impide que se muestre en la ventana de comandos, pero su ejecución se realiza
normalmente.
% usando un punto y coma
>> a = 8;
% cuando No se usa punto y
coma
>> a = 8
ans =
8
El dato solo se ve en Workspace
>> a=5
a =
5
>> b=3
b =
3
>> s=2*a...
+b
s =
13
Tres puntos seguidos (. . .)
al final de un comando
indica que el comando
continúa en la siguiente
línea.
40. % ingreso de múltiples
comandos
>> a=2,b=3,c=4
a =
2
b =
3
c =
4
% ingreso de múltiples
comandos
>> a=32, c =18; d=40;
a =
32
% ingreso de múltiples
comandos
>> a=2;b=3;c=4;
>>
ingreso de múltiples comandos
47. >> a=2022;
>> whos cadena
Name Size Bytes Class
Attributes
a 1x1 8 double
% si es numero o no
>>isnumeric(a)
ans =
logical
1
% Determina si x es un tipo de dato numérico
específico
>>isa(a, 'arg')
ans =
logical
0
>> a=12.12;
>> whos cadena
Name Size Bytes Class
Attributes
a 1x1 8 double
% si es numero o no
>>isnumeric(a)
ans =
logical
1
% Determina si x es un tipo de dato numérico
específico
>>isa(a, 'arg')
ans =
logical
0
48. >> a=2022;
% Determina si el tipo de dato x es un número
real
>> isreal(a)
ans =
logical
1
>> a=12i;
% Determina si el tipo de dato x es un número
real
>> isreal(a)
ans =
logical
0
% Determina si el tipo de dato x no es un
número
>>isnan(a)
ans =
1×4 logical array
0
49. CADENAS DE CARACTERES
Una cadena de texto se define como un ordenamiento o arreglo de caracteres
UNICODE.
Para crear una cadena al valor de la instrucción se debe encerrar entre comillas
simples
>> cadena = ‘Bienvenidos al Matlab UNJBG’
cadena =
Bienvenidos al Matlab 2011
>> whos cadena
Name Size Bytes Class Attributes
cadena 1x28 56 char
50. Las funciones class e ischar identifican si un dato es un arreglo de
caracteres:
>> cadena = ‘Bienvenidos al Matlab UNJBG’
cadena =
Bienvenidos al Matlab 2011
>> whos cadena
Name Size Bytes Class Attributes
cadena 1x28 56 char
>> m=class(cadena)
m =
'char'
>> n = ischar(cadena)
n =
logical
1
51. Es posible la agrupación de 2 o más cadenas de caracteres, para
ello utilizaremos la función strcat
>> nombre='Alex'
nombre =
'Alex'
>> codigo='achn'
codigo =
'achn'
>> completo=strcat(codigo,nombre)
completo =
'achnAlex'
52. Las cadenas de texto también pueden compararse y esta
se realiza carácter con carácter.
Función Descripción
strcmp Determina si dos cadenas son idénticas. Diferencia las mayúsculas y minúsculas.
strncmp
Determina si los n primeros caracteres de dos cadenas son idénticas. Diferencia las
mayúsculas y minúsculas.
strcmpi Determina si dos cadenas son idénticas. No diferencia las mayúsculas y minúsculas.
strncmpi
Determina si los n primeros caracteres de dos cadenas son idénticas. No diferencia las
mayúsculas y minúsculas.
54. strncmp
Determina si los n primeros caracteres de dos cadenas son idénticas. Diferencia
las mayúsculas y minúsculas.
>> cad1='achn'
cad1 =
'achn’
>> cad2='achb'
cad2 =
'achb'
>> c2=strncmp(cad1,cad2,2)
c2 =
logical
1
>> c2=strncmp(cad1,cad2,3)
c2 =
logical
1
>> c2=strncmp(cad1,cad2,4)
c2 =
logical
0
55. También podemos comparar cadenas utilizando los operadores
relacionales, siempre que dichas cadenas tengan iguales dimensiones
>> A=’Rodrigo’;
>> B=’Roberto’;
>> C = A==B
C =
1×7 logical array
1 1 0 0 0 0 1
La función isletter determina si
un carácter es una letra.
>> dia = ‘MatLab R2020a’;
>> m=isletter(dia)
m =
1×13 logical array
1 1 1 1 1 1 0 1 0 0 0 0
1
56. CONVERSIÓN DE VALORES NUMÉRICOS A CADENAS Y
VICEVERSA
En algunos casos es necesario el cambio de tipo de dato para facilitar
la salida en pantalla de combinaciones de números y caracteres.
Comando Descripción
Char
Convierte un entero positivo a su equivalente carácter (código ASCII). Trunca cualquier
parte fraccional.
int2str Convierte un valor numérico de tipo int a un dato de tipo char (carácter).
num2str y str2num
Convierte un valor numérico de tipo double a un dato de tipo char (carácter) de precisión
con formato específico y viceversa, respectivamente.
mat2str y str2mat
Convierte un tipo numérico a una de tipo carácter de una determinada precisión,
retornando una cadena Matlab que puede ser evaluada y viceversa, respectivamente.
dec2hex y hex2dec
Convierte un entero positivo a un dato de tipo char de base hexadecimal y viceversa,
respectivamente.
dec2bin y bin2dec
Convierte un entero positivo a un dato de tipo char de base binaria y viceversa,
respectivamente.
dec2base Convierte un entero positivo a un dato de tipo char de cualquier base de 2 a 36.
57. >> M='ESME FAIN';
>> Mint=int8(M)
Mint =
1×9 int8 row vector
69 83 77 69 32 70 65 73
78
A continuación, mostramos algunas formas de usar
las funciones definidas:
>> M=[77 65 84 76 65 66 50 48 50 50];
% de numeros a caracteres
>> Mchar=char(M)
Mchar =
’MATLAB2022’
% de caracteres a numeros
>>Mint=int8(Mchar)
Mint =
1×10 int8 row vector
77 65 84 76 65 66 50 48
50 50
58. >> m='ESME’;
% de texto a números
>> cadena=int2str(M)
cadena =
'69 83 77 69'
>> num=[23.5 56 -0.34];
% de números a texto
>> cad1=num2str(num)
cad1 =
‘23.5 56 -0.34’
% de texto a números
>> cad2=str2num(cad1)
cad2 =
23.5000 56.0000 -
0.3400
59. >>a=123;
>>b=73;
>>c=98;
% de decimal a hexadecimal
>> m1=dec2hex(a)
m1 =
‘7B’
>> m2=dec2hex(b)
m2=
‘49’
% de hexadecimal a decimal
>> n1=hex2dec(m1)
n1 =
123
>> n2=hex2dec(m2)
n2 =
37
>>a=10;
>>b=20;
>>c=50;
% de decimal a binário
>> m=dec2bin(a)
m=
‘1010‘
>>n= dec2bin(b)
n=
‘10100‘
% de decimal a binário
>>m1=Bin2dec(m)
m1=
10
>>n1=Bin2dec(n)
n1=
20
60. >>a=2022;
% de decimal a binário
>> m=dec2bin(a)
m=
'11111100110‘
>>n=Bin2dec(m)
n=
2022
64. UNJBG
Pazmiño A. Alexandra, Jácome T. Jairo, Zabala A. Luis A. y Gavilanes C. Javier J. (2018). MATLAB BÁSICO. Escuela
Superior Politécnica de Chimborazo (Espoch). Riobamba, Ecuador, La Caracola Editores
Moratto, H. Óscar (2011). Guía de uso de Matlab en el desarrollo de modelos de volatilidad, Bogotá, Politécnico
Grancolombiano Institución Universitaria, Colombia
Holly Moore (). MATLAB® para ingenieros.
Hider Pimentel Dextre (2012). MatLAB: Aplicado a los Métodos Numéricos e Ingeniería. Lima - Perú .Editora Macro
E.I.R.L.
65. Licencia CC (Creative Commons)
Este tipo de licencias ofrecen algunos derechos a terceras personas
bajo ciertas condiciones.
Este documento tiene establecidas las siguientes:
Pulsa en la imagen de arriba a la derecha para saber más.
Reconocimiento (Attribution):
En cualquier explotación de la obra autorizada por la licencia
hará falta reconocer la autoría.
No comercial (Non commercial):
La explotación de la obra queda limitada a usos no comerciales.
Compartir igual (Share alike):
La explotación autorizada incluye la creación de obras derivadas
siempre que mantengan la misma licencia al ser divulgadas.