Transcript Clase_3b

Fundamentos de
Matlab
1 3 5 7
2 4 6 8

A   3 6 9 12

 4 8 12 16
 5 10 15 20

9
10
15
20
25
11
12

18

24
30
Ejercicio

Define un vector B que contenga todos los elementos de la
columna 3 de la matriz A

Define un vector C que contenga todos los elementos del
renglón 2 de la matriz A

Define una matriz E que contenga los elementos del 2do al 4to
renglón de la matriz A

Define una matriz F de 3 x 3 que contenga los elementos del 1o
al 3er renglón y de la 2da a la 4ta columna de la matriz A

Algunos comandos del Sistema Operativo
>> help
>> who
>> whos
>> clear
>> pwd
>> cd
>> dir
>> save
>> load
>> delete
>> quit
lista los principales tópicos de la ayuda
lista variables en uso
lista variables en uso y su descripción
borra variables
muestra cual es el directorio actual
cambia la ruta del directorio actual
lista el directorio actual
almacena variables en un archivo .mat
carga variables y su contenido
elimina archivo
termina la sesión con Matlab

Comandos especiales





>> date
>> datenum
>> clock
>> format
fecha actual como cadena de caracteres
convierte una fecha en un número serial que
representa el número de días a partir del 0101-0000
fecha y hora actual como vector
establece el formato de salida
Cadenas de caracteres (string)






>> x = ’ejemplo’;
>> x(4)
>> t=x(2:5);
>> length(x)
>> strcat(x,t)
>> int2str(A)

>> num2str(A)
>> str2num(A)

>> eval(s)

asignación de una cadena
manejo de un carácter de la cadena
una subcadena
longitud de la cadena
concatenación de cadenas
redondea los elementos de la matriz A a
enteros y los convierte en caracteres
convierte los elementos de A en caracteres
convierte una matriz de caracteres en un
arreglo numérico
ejecuta la cadena de caracteres como una
expresión o comando

Funciones matemáticas elementales que operan de
modo escalar (actúan sobre cada elemento de la
matriz)












sin(x)
cos(x)
tan(x)
asin(x)
acos(x)
atan(x)
seno
coseno
tangente
arco seno
arco coseno
arco tangente (devuelve un ángulo entre -π/2
y +π/2)
sinh(x) seno hiperbólico
cosh(x) coseno hiperbólico
tanh(x) tangente hiperbólica
asinh(x) arco seno hiperbólico
acosh(x) arco coseno hiperbólico
atanh(x) arco tangente hiperbólica















log(x)
log10(x)
exp(x)
sqrt(x)
rem(x,y)
logaritmo natural
logaritmo decimal
función exponencial
raíz cuadrada
residuo de la división (x – n.*y donde n =
fix(x./y) si y~=0)
mod(x,y) similar a rem (Ver diferencias con el Help)
round(x) redondea hacia el entero más próximo
fix(x)
redondea hacia el entero más próximo a 0
floor(x)
redondea hacia -∞
ceil(x)
redondea hacia +∞
gcd(x)
máximo común divisor
lcm(x)
mínimo común múltiplo
real(x)
parte real del número complejo
imag(x)
parte imaginaria del número complejo
abs(x)
valor absoluto

Funciones que actúan sobre vectores y/o matrices
 >> x = [2,-1,0,3];
 >> A = [1,2,3;4,5,6;7,8,9];
 >> [m,n] = size(A) tamaño de A
 >> n = length(x)
número de elementos del vector x
 >> dot(x,y)
producto escalar entre dos vectores
 >> rank(A)
rango de A (número de renglones o
columnas linealmente independientes)
 >> trace(A)
traza de A (suma de los elementos en
la diagonal)
 >> det(A)
determinante de la matriz cuadrada A
 >> inv(A)
inversa de A
 >> A’
traspuesta de A
 >> N = [ ]
matriz nula







>> y = diag(A)
forma un vector y con los elementos de la
diagonal de la matriz A
>> polyval(x,y)
encuentra el valor del polinomio cuyos
coeficientes son los elementos del vector x
evaluado en y
>> roots(x)
encuentra las raíces del polinomio cuyos
coeficientes son los elementos del vector x
>> flipud(A)
voltea la matriz A en sentido arriba/abajo
(simetría respecto a un eje horizontal)
>> fliplr(A)
voltea la matriz A en sentido izq/der
(simetría respecto a un eje vertical)
>> reshape(A,m,n) devuelve una matriz de tamaño mxn
cuyos elementos se obtienen a partir de un
vector formado por las columnas de A puestas
una a continuación de la otra. Ocurre un error si A
no tiene m*n elementos.
>> rot90(A,k) Gira k*90 grados la matriz A en sentido antihorario, k es cualquier número entero. Si se
omite, se supone k = 1.

Funciones adicionales para manejo de datos con vectores y
matrices










>> A = [5,-1;3,4;2,7];
>> max(A)
el valor máximo por columnas
>> min(A)
el valor mínimo por columnas
>> sum(A)
suma sobre cada columna
>> prod(A)
producto sobre cada columna
>> cumsum(A) matriz del mismo tamaño que A conteniendo
las sumas acumuladas sobre las columnas
>> cumprod(A) matriz del mismo tamaño que A conteniendo
los productos acumulados sobre las columnas
>> mean(A)
media aritmética sobre las columnas
>> median(A) mediana sobre las columnas
>> std(A)
desviación estándar sobre las columnas
►

>> find(A>10)


>> sort(A)
>> exist(‘var’)

>> isnan(A)

>> isempty(A)
encuentra los índices de los elementos de A que
cumplen con cierta condición
ordenamiento ascendente de los elementos de A
comprueba si var existe como variable, función,
directorio, fichero, etc.
regresa un arreglo que contiene 1’s donde los
elementos de A son NaN’s y 0’s donde no lo son
checa si A está vacía o tiene tamaño nulo
Se pueden agregar funciones nuevas a MATLAB si están
expresadas en términos de otras funciones existentes (help
function).
■ Algunos gráficos comunes




>> bar(A)
>> hist(A)
>> pie(A)
>> pie3(A)
gráfico de barras
histograma
gráfico tipo pastel
pastel en relieve

Gráficos de funciones de una variable
















>> f = 'exp(x)-3*x';
>> ezplot(f, [0, 2])
grafica la expresión dada por f sobre el dominio
dado (el dominio por omisión es -2*pi < x < 2*pi)
>> x = 0:0.1:2*pi;
>> y = sin(x);
puntos de la función seno
>> plot(x,y);
grafica la función seno con una línea contínua
>> plot(x,y,'o')
gráfico con círculos. Se puede elegir: o . * + x ->> plot(x,y,'r')
gráfico en color rojo. Puede elegir: r,b,y,m,g,b,w,k
>> plot(x,y,'og') gráfico con círculos verdes.
>> plot(x,y,’LineWidth’,2) cambia el ancho de línea
>> grid
dibuja la cuadrícula
>> title('seno de x')
título
>> text(x1,y1,’string’)
agrega el texto en la posición (x1,y1)
>> gtext('seno de x')
posiciona el texto en el gráfico con el
mouse
>> xlabel('X')
rotula el eje horizontal
>> ylabel('Y')
rotula el eje vertical
>> axis([Xmin Xmax Ymin Ymax]) define límites para los ejes

>> hold on

>> figure(n)
>> subplot(m,n,p)












>> clf
>> x = 0:0.1:10;
>> y = exp(x);
>> semilogy(x,y)
>> loglog(x,y)
>> a = 0:0.01:2*pi;
>> r = sin(3*a);
>> polar(a,r);
superpone el gráfico subsecuente al
actual
se pueden tener varias figuras abiertas
divide la ventana de la figura en mxn
gráficos y selecciona el p-ésimo para la
gráfica actual
borra el gráfico activo
usa una escala logarítmica en el eje Y
usa escalas logarítmicas en ambos ejes
ángulo en radianes
radio
usa coordenadas polares para graficar el
ángulo, en radianes, contra el radio
>> x = linspace(0,2*pi,10);
>> y = cos(x);
>> stem(y)
gráfica de valores discretos