Fichas de ayuda

Referencia de funciones básicas de MATLAB

Potencie Python con MATLAB

Integre herramientas avanzadas de MATLAB directamente en flujos de trabajo de Python.

Entorno de MATLAB

clc Borra la ventana de comandos
help fun Muestra la ayuda en línea de fun
doc fun Abre la documentación de fun
load("filename","vars") Carga variables desde un archivo .mat
uiimport("filename") Abre la herramienta de importación interactiva
save("filename","vars") Guarda variables en un archivo
clear item Elimina elementos del área de trabajo
examplescript Ejecuta el archivo de script denominado examplescript
format style Establece el formato de visualización de la salida
ver Obtiene la lista de toolboxes instaladas
tic, toc Inicia y detiene un temporizador
Ctrl+C Interrumpe el cálculo actual

Definición y cambio de variables de arrays

a = 5 Define una variable "a" con el valor 5

A = [1 2 3; 4 5 6]

A = [1 2 3

4 5 6]

Define A como una matriz 2x3; las columnas se separan con un espacio, y las filas con “;” o una línea nueva
[A,B] Concatena arrays horizontalmente
[A;B] Concatena arrays verticalmente
x(4) = 7 Cambia el cuarto elemento de x por 7
A(1,3) = 5 Cambia A(1,3) por 5
x(5:10) Obtiene los elementos quinto a décimo de x
x(1:2:end) Obtiene uno de cada dos elementos de x (del primero al último)
x(x>6) Enumera los elementos mayores que 6
x(x==10)=1 Cambia elementos utilizando una condición
A(4,:) Obtiene la cuarta fila de A
A(:,3) Obtiene la tercera columna de A
A(6, 2:5) Obtiene los elementos segundo a quinto de la sexta fila de A
A(:,[1  7])=A(:,[7  1]) Intercambia la primera y séptima columna
a:b [a, a+1, a+2 ..., a+n] con a+n≤b
a:ds:b Crea un vector de espaciado regular con ds de espaciado
linspace(a,b,n) Crea un vector de n valores espaciados uniformemente
logspace(a,b,n) Crea un vector de n valores espaciados logarítmicamente
zeros(m,n) Crea una matriz m x n de ceros
ones(m,n) Crea una matriz de identidad m x n
eye(n) Crea una matriz de identidad n x n
A=diag? Crea una matriz diagonal a partir de un vector
x=diag(A) Obtiene los elementos diagonales de una matriz
meshgrid(x,y) Crea cuadrículas en 2D y 3D
rand(m,n), randi Crea números enteros aleatorios distribuidos uniformemente
randn(m,n) Crea números aleatorios distribuidos normalmente

Operadores y caracteres especiales

+, -, *, / Operaciones de matemática matricial
.*, ./ Multiplicación y división de arrays (operación elemento por elemento)
^, .^ Potencia de matrices y arrays
\ División izquierda u optimización lineal
.', ' Transpuesta normal y conjugada compleja
==, ~=, <, >, <=, >= Operadores relacionales
&&, ||, ~, xor Operaciones lógicas (AND, NOT, OR, XOR)
; Suprime la visualización de la salida
... Conecta líneas (con salto de línea)
% Description Marca como comentario
'Hello' Definición de un vector de caracteres
"This is a string" Definición de una cadena
str1 + str2 Concatena cadenas

Variables y constantes especiales

ans Respuesta más reciente
pi π=3,141592654… 
i, j, 1i, 1j Unidad imaginaria
NaN, nan No es un número (por ejemplo, división por cero)
Inf, inf Infinito
eps Precisión relativa de punto flotante

Números complejos

i, j, 1i, 1j Unidad imaginaria
real(z) Parte real de un número complejo
imag(z) Parte imaginaria de un número complejo
angle(z) Ángulo de fase en radianes
conj(z) Conjugada compleja elemento por elemento
isreal(z) Determina si el array es real

Funciones elementales

sin(x), asin Seno e inversa (argumento en radianes)
sind(x), asind Seno e inversa (argumento en grados)
sinh(x), asinh Seno hiperbólico e inversa (argumento en radianes)
Funciones análogas para el resto de funciones trigonométricas: cos, tan, csc, sec y cot
abs(x) Valor absoluto de x, magnitud compleja
exp(x) Exponencial de x
sqrt(x), nthroot(x,n) Raíz cuadrada, raíz enésima real de números reales
log(x) Logaritmo natural de x
log2(x), log10 Logaritmo en base 2 y 10, respectivamente
factorial(n) Factorial de n
sign(x) Signo de x
mod(x,d) Resto después de división (módulo)
ceil(x), fix, floor Redondea a +inf, 0, -inf
round(x) Redondea al decimal o entero más cercano

Representación gráfica

plot(x,y,LineSpec)
Estilos de línea: -, --, :, -.
Marcadores: +, o, *, ., x, s, d
Colores: r, g, b, c, m, y, k, w
Representa y frente a x
(LineSpec es opcional)
LineSpec es una combinación de linestyle, marker y color en forma de cadena.
Ejemplo: "-r" = línea roja continua sin marcadores
title("Title") Añade un título a la gráfica
legend("1st", "2nd") Añade una leyenda a los ejes
x/y/zlabel("label") Añade una etiqueta a los ejes x/y/z
x/y/zticks(ticksvec) Obtiene o establece marcas de los ejes x/y/z
x/y/ztickangle(angle) Rota las etiquetas de las marcas de los ejes x/y/z
x/y/zlim Obtiene o establece el rango de los ejes x/y/z
axis(lim), axis style Establece los límites y el estilo de los ejes
text(x,y,"txt") Añade texto
grid on/off Muestra la cuadrícula de los ejes
hold on/off Mantiene la gráfica actual cuando se añaden nuevas gráficas
subplot(m,n,p),
tiledlayout(m,n)
Crea ejes dispuestos en mosaico
yyaxis left/right Crea un segundo eje y
figure Crea una ventana de figura
gcf, gca Obtiene la figura actual, obtiene el eje actual
clf Borra la figura actual
close all Cierra las figuras abiertas

Tablas

table(var1,...,varN) Crea una tabla a partir de los datos de las variables var1, …, varN
readtable("file") Crea una tabla a partir de un archivo
array2table(A) Convierte un array numérico en tabla
T.var Extrae datos de la variable var
T(rows,columns),
T(rows,["col1","coln"])
Crea una tabla nueva con las filas y columnas especificadas de T
T.varname=data Asigna datos a una columna (nueva) de T
T.Properties Accede a las propiedades de T
categorical(A) Crea un array categórico
summary(T), groupsummary Imprime un resumen de una tabla
join(T1, T2) Une tablas con variables comunes

Tareas (Live Editor)

Las tareas de Live Editor son apps que se pueden agregar a un script en vivo para realizar un conjunto específico de operaciones de manera interactiva. Las tareas representan una serie de comandos MATLAB. Para ver los comandos que ejecuta la tarea, visualice el código generado.

Tareas comunes disponibles en la pestaña Live Editor de la barra de herramientas del escritorio:

  • Limpiar datos ausentes
  • Buscar puntos de cambio
  • Eliminar tendencias
  • Limpiar valores atípicos
  • Buscar extremos locales
  • Suavizar datos

Métodos de programación

Funciones
% Save your function in a function file or at the end 
% of a script file. Function files must have the 
% same name as the 1st function 
function cavg = cumavg(x) %multiple args. possible
 cavg=cumsum(x)./(1:length(x)) ; 
end
Funciones anónimas
% defined via function handles 
fun = @(x) cos(x.^2)./abs(3*x);

Estructuras de control

if, elseif, condiciones
if n<10
 disp("n smaller 10") 
elseif n<=20 
 disp("n between 10 and 20") 
else 
 disp("n larger than 20")
Instrucción switch-case
n = input("Enter an integer: "); 
switch n 
 case -1
 disp("negative one")
 case {0,1,2,3} % check four cases together 
 disp("integer between 0 and 3") 
 otherwise
 disp("integer value outside interval [-1,3]") 
end % control structures terminate with end
Bucle for
% loop a specific number of times, and keep
% track of each iteration with an incrementing
% index variable 
for i = 1:3 
 disp("cool"); 
end % control structures terminate with end
Bucle while
% loops as long as a condition remains true 
n = 1; 
nFactorial = 1; 
while nFactorial < 1e100 
 n = n + 1; 
 nFactorial = nFactorial * n; 
end % control structures terminate with end

Otros comandos de programación/control

break Finaliza la ejecución de un bucle for o while
continue Pasa el control a la siguiente iteración de un bucle
try, catch Ejecuta instrucciones y detecta errores

Métodos numéricos

fzero(fun,x0) Raíz de una función no lineal
fminsearch(fun,x0) Busca el mínimo de una función
fminbnd(fun,x1,x2) Busca el mínimo de una función en el intervalo [x1, x2]
fft(x), ifft(x) Transformada rápida de Fourier y su inversa

Integración y diferenciación

integral(f,a,b) Integración numérica (funciones análogas para 2D y 3D)
trapz(x,y) Integración numérica mediante la regla del trapecio
diff(X) Diferencias y derivadas aproximadas
gradient(X) Gradiente numérico
curl(X,Y,Z,U,V,W) Rotacional y velocidad angular
divergence(X,...,W) Calcula la divergencia de un campo vectorial
ode45(ode,tspan,y0) Resuelve un sistema de EDO no rígidas
ode15s(ode,tspan,y0) Resuelve un sistema de EDO rígidas
deval(sol,x) Evalúa la solución de una ecuación diferencial
pdepe(m,pde,ic,...bc,xm,ts) Resuelve una ecuación diferencial parcial en 1D
pdeval(m,xmesh,...usol,xq) Interpola una solución numérica de EDP

Interpolación y polinomios

interp1(x,v,xq) Interpolación en 1D (análoga para 2D y 3D)
pchip(x,v,xq) Interpolación polinómica cúbica de Hermite por tramos
spline(x,v,xq) Interpolación de datos mediante splines cúbicos
ppval(pp,xq) Evalúa un polinomio por tramos
mkpp(breaks, coeffs) Crea un polinomio por tramos
unmkpp(pp)  Extrae detalles de un polinomio por tramos
poly(x) Polinomio con raíces especificadas x
polyeig(A0,A1,...,Ap) Calcula valores propios para un problema de valores propios polinómico
polyfit(x,y,d) Ajuste polinomial de curvas
residue(b,a) Expansión/descomposición en fracciones parciales
roots(p) Raíces de un polinomio
polyval(p,x) Evalúa el polinomio p en los puntos x
polyint(p,k) Integración de un polinomio
polyder(p) Diferenciación de un polinomio

Matrices y arrays

length(A) Longitud de la mayor dimensión de un array
size(A) Dimensiones de un array
numel(A) Número de elementos de un array
sort(A) Ordena los elementos de un array
sortrows(A) Ordena las filas de un array o tabla
flip(A) Invierte el orden de los elementos de un array
squeeze(A) Elimina dimensiones de longitud 1
reshape(A,sz) Cambia la forma de un array
repmat(A,n) Repite copias de un array
any(A), all Comprueba si alguno o todos los elementos son distintos de cero
nnz(A) Número de elementos distintos de cero de un array
find(A) Índices y valores de elementos distintos de cero

Estadística descriptiva

sum(A), prod Suma o producto (a lo largo de las columnas)
max(A), min, bounds Elementos mayor y menor
mean(A), median, mode Operaciones estadísticas
std(A), var Desviación estándar y varianza
movsum(A,n), movprod, movmax, movmin, movmean, movmedian, movstd, movvar Funciones estadísticas móviles, donde n es la longitud de la ventana móvil
cumsum(A), cumprod, cummax, cummin Funciones estadísticas acumuladas 
smoothdata(A) Suaviza los datos con ruido.
histcounts(X) Calcula recuentos de bins de un histograma
corrcoef(A), cov Coeficientes de correlación, covarianza
xcorr(x,y), xcov Correlación cruzada, covarianza cruzada
normalize(A) Normaliza los datos
detrend(x) Elimina la tendencia polinómica
isoutlier(A) Identifica valores atípicos en los datos

Álgebra lineal

rank(A) Rango de una matriz
trace(A) Suma de los elementos diagonales de una matriz
det(A) Determinante de una matriz
poly(A) Polinomio característico de una matriz
eig(A), eigs Valores propios y vectores de una matriz (subconjunto)
inv(A), pinv Inversa y pseudoinversa de una matriz
norm(x) Norma de un vector o matriz
expm(A), logm Exponencial y logaritmo de una matriz
cross(A,B) Producto vectorial
dot(A,B) Producto escalar
kron(A,B) Producto tensorial de Kronecker
null(A) Espacio nulo de una matriz
orth(A) Base ortonormal para el rango de una matriz
tril(A), triu Parte triangular inferior y superior de una matriz
linsolve(A,B) Resuelve un sistema lineal de la forma AX = B
lsqminnorm(A,B) Solución de mínimos cuadrados de una ecuación lineal
svd(A) Descomposición en valores singulares
gsvd(A,B) SVD generalizada
rref(A) Forma escalonada reducida por filas de una matriz

Matemáticas simbólicas*

sym x, syms x y z Declara una variable simbólica
eqn = y == 2*a + b Define una ecuación simbólica
solve(eqns,vars) Resuelve una expresión simbólica para una variable
subs(expr,var, val) Sustituye una variable en una expresión simbólica
expand(expr) Desarrolla una expresión simbólica
assume(var, assumption) Establece una suposición para una variable
assumptions(z) Muestra las suposiciones de un objeto simbólico
fplot(expr), fcontour, fsurf, fmesh, fimplicit Funciones de gráficas para un objeto simbólico
diff(expr,var,n) Deriva una expresión simbólica
dsolve(deqn,cond) Resuelve una ecuación diferencial simbólicamente
int(expr,var,[a, b]) Integra un expresión simbólica
taylor(fun,var,z0) Desarrollo de Taylor de una función