Está en la página 1de 66

REPUBLICA BOLIVARIANA DE VENEZUELA

UNIVERSIDAD Dr. RAFAEL BELLOSO CHACIN


FACULTAD DE INGENIERIA

Programación
UNIDAD I: Computación Básica Para Ingeniería

Prof: Ing. José Orozco. M.Sc.


C.I. 11871532
El Entorno MATLAB

Originalmente, el software Matlab se desarrolló como un Laboratorio de


Matrices, actualmente, Matlab es un sistema interactivo y lenguaje de
programación para computo científico y técnico.

Características del Entorno Matlab

Matlab usa tres ventanas de exhibición


a. La ventana de comando: Sirve para introducir comandos, datos e imprimir
resultados.
b. La ventana de gráficos: Sirve para exhibir curvas y gráficos.
c. La ventana de edición: Sirve para crear y modificar archivos M, los cuales son
archivos que contienen un programa o guión de comandos Matlab.
El Entorno MATLAB
Ventana de comandos:
El Entorno MATLAB
Ventana de gráficos:
El Entorno MATLAB
Ventana de edición:
El Entorno MATLAB

Existen varios comandos para despejar ventanas, tales como:


clc: despeja la ventana de comandos.
clf: borra la figura actual, por lo tanto despeja la ventana de gráficos.
clear: no afecta a las ventanas pero si borra todas las variables de la
memoria.

Con el comando demo se puede visualizar algunas de las capacidades de


Matlab, mientras que con el comando help, aparecerá un menú de ayudas.

Para interrumpir o abortar un comando en Matlab, se mantiene presionada


la tecla de control y oprimir la letra c, esto genera una interrupción local
dentro de Matlab.
El Entorno MATLAB

Escalares, vectores y matrices


Una matriz, es un conjunto de números dispuestos en una retícula rectangular de
filas y columnas.

>> A=[3 5 6 -1;0 2 1 -4;1 0 1 4]

A=

3 5 6 -1
0 2 1 -4
1 0 1 4

Si una matriz tiene una fila y una columna, se le llama escalar al número. Si una
matiz tiene una fila o una columna, se le llama vector, o más específicamente,
vector fila o vector columna.
El Entorno MATLAB
>> B=[1,4,-4,5] >> C=1:4

B= C=

1 4 -4 5 1 2 3 4

>> C=1:3:10 >> D=[2;4;1;-9]

C= D=

1 4 7 10 2
4
1
-9
Para especificar un elemento de una matriz se usa su ubicación tomando en
cuenta el numero de la fila y de la columna que se encuentra.

>> A=[2 4 0.5 5;1 0 0.6 -4;3 6 9 2];


>> A(1,3)

ans =

0.5000
El Entorno MATLAB

Para asignar valores iníciales a matrices en Matlab se pueden usar varios


métodos, tales como:
a. Listas explicitas.
b. Operador de dos puntos.
c. Funciones Matlab.
d. Leer datos del teclado.

Lista explicitas:
En este caso se usa una lista de números.
>> B=[2.5];
>> A=[1 4 3;-2 3.5 2;0 0 1];
>> C=[2,3,5;4.5 6 8;1 1 0];

Se definir una matriz listando cada fila en una línea aparte.

>> D=[1 -5 6
468
1 9 4];
El Entorno MATLAB

Si hay demasiados números en una fila de una matriz para que quepan en una
línea, se puede continuar la instrucción en la siguiente línea, pero se requiere una
coma y tres puntos al final de la línea para indicar que la fila debe continuar.

>> A=[-2 5 7 2.4 8.3 5.6 8,...


3 5.7 3 6.8 9 4 3.45 12 15];

También se puede definir una matriz usando otra matriz que ya se definió.
>> F=[1 0 -3;G;0 0 1]

F=

1 0 -3
4 6 -2
0 0 1

Operador de dos puntos:


Es un operador muy potente para crear matrices nuevas. Puede usarse para crear
vectores a partir de una matriz.
El Entorno MATLAB

>> A=[3 5 -3 6;1 5 7 3;9 0 0 1; 1 1 12 7]

A=

3 5 -3 6
1 5 7 3
9 0 0 1
1 1 12 7

>> B=A(:,1)

B=

3
1
9
1

>> C=A(3,:)

C=

9 0 0 1
El Entorno MATLAB

Si se usa un signo de dos puntos para separar dos enteros, el operador de dos
puntos generará todos los enteros entre los dos enteros especificados.

>> r=1:10

r=

1 2 3 4 5 6 7 8 9 10

Si se usan signos de dos puntos para separar tres números, el operador de dos
puntos generará valores entre el primer número y el tercero, usando el segundo
número como incremento.

>> t=0:0.5:2.1

t=

0 0.5000 1.0000 1.5000 2.0000


El Entorno MATLAB

El operador dos puntos también puede servir para seleccionar una submatriz de
otra matriz.

>> A=[3 5 -3 6;1 5 7 3;9 0 0 1; 1 1 12 7]

A=

3 5 -3 6
1 5 7 3
9 0 0 1
1 1 12 7

>> A1=A(1:3,2:4)

A1 =

5 -3 6
5 7 3
0 0 1
El Entorno MATLAB
Un operador muy útil para manipular matrices es el operador de transponer, así
para definir la transpuesta de la matriz B, se denota por B’

>> t=0:0.2:2;
>> x=20:4:60;
>> [t' x']

ans =

0 20.0000
0.2000 24.0000
0.4000 28.0000
0.6000 32.0000
0.8000 36.0000
1.0000 40.0000
1.2000 44.0000
1.4000 48.0000
1.6000 52.0000
1.8000 56.0000
2.0000 60.0000
El Entorno MATLAB

Funciones Matlab:
Se puede usar una serie de funciones especiales para generar matrices nuevas,
entre las cuales tenemos:

zeros: Genera una matriz que contiene sólo ceros.


ones: Genera una matriz que contiene solo unos.
eye: Genera la matriz identidad
size: Devuelve dos argumentos escalares que representan el
número de filas y el número de columnas de una matriz

>> A=[zeros(3,2) ones(3,2) eye(3)]

A=

0 0 1 1 1 0 0
0 0 1 1 0 1 0
0 0 1 1 0 0 1
El Entorno MATLAB
Matlab incluye varias constantes predefinidas, valores especiales y matrices
especiales que se pueden usar en los programas, entre los cuales se tienen:

pi Representa π.
i, j Representa el valor complejo.
Inf Representa infinito.
Nan Representa No es un número.
clock Representa la hora actual en un vector de fila de seis elementos
que contiene año, mes, día, hora, minuto y segundo
date Representa la fecha actual en formato de cadena de caracteres,
como 02-May-2013
eps Representa la precisión de punto flotante de la computadora que
se está usando.
ans Representa un valor calculado por una expresión pero no
almacenado en una variable.
El Entorno MATLAB

Leer datos del teclado:


Los valores para una matriz también se pueden introducir a través del teclado
usando el comando input
>> a=input('Introduzca los valores para a en corchetes: ');

Opciones de salida:

Existen varios comandos que sirven para exhibir matrices con un mayor control
sobre el formato de la salida. Entre las principales formas de exhibir información
se encuentran:

-Formato de exhibición.
-Exhibición de texto y valores.
-Salidas con formato.
El Entorno MATLAB

Formato de exhibición:
Cuando se exhiben los elementos de una matriz, los enteros siempre se exhiben
como enteros, mientras que los valores no enteros siempre se exhiben usando un
formato por omisión (formato corto). Matlab permite especificar otros formatos,
tales como:

format short Formato por omisión, 4 decimales.


format long 15 decimales.
format bank 2 decimales.
format short e 4 decimales en forma de notación científica.
format long e 15 decimales en forma de notación
.científica.
format + +,-,espacio.
El Entorno MATLAB

Exhibición de texto y valores:


El comando disp sirve para exhibir texto encerado en apóstrofos, también se
pueda usar para exhibir el contenido de una matriz sin exhibir el nombre de la
matriz.
>> format bank
>> velocidad_del_movil=80;
>> disp(velocidad_del_movil), disp('Km/h')
80.00

Km/h

Salidas con formato:


El comando fprintf permite tener más control sobre las salidas que el que se tiene
con el comando disp, además de exhibir tanto texto como valores de matrices, se
puede especificar el formato que se usará al exhibir los valores, y también saltos
de línea.
El Entorno MATLAB

La forma general de este comando es fprintf(formato,matrices), el formato


contiene el texto y las especificaciones de formato para la salida y va seguido de
los nombres de las matrices por exhibir. Dentro del formato se usan los
especificadores %e, %f, %g.

%e Los valores se exhiben en una notación exponencial.


%f Los valores se exhiben en una notación de punto fijo o decimal.
%g Los valores usarán %e o bien %f, el que sea más corto.

Si aparece la cadena \n en el formato, se exhibirá la línea especificada hasta ese


punto, y el resto de la información se exhibirá en la siguiente línea.
>> velocidad_del_movil=80;
>> fprintf('La velocidad del movil es %f Km/s \n',velocidad_del_movil)
La velocidad del movil es 80.000000 Km/s

>> velocidad_del_movil=80;
>> fprintf('La velocidad del movil es \n %f Km/s \n',velocidad_del_movil)
La velocidad del movil es
80.000000 Km/s
El Entorno MATLAB

Los especificadores de formato también pueden contener información para


especificar el número de posiciones decimal que se exhibirán y el número de
posiciones que se destinarán al valor correspondiente.

>> velocidad_del_movil=80;
>> fprintf('La velocidad del movil es \n %4.3f Km/s \n',velocidad_del_movil)
La velocidad del movil es
80.000 Km/s

Gráficas en dos dimensiones

El comando plot se usa para genera gráficas sencillas en dos dimensiones, hay que
especificar, las coordenadas (x,y).
Las siguientes instrucciones.
>> tiempo=0:1e-5:10e-3;
>> voltaje=10*sin(500*pi*tiempo)+4*cos(800*pi*tiempo);
>> plot(tiempo,voltaje)
El Entorno MATLAB

Generarán la siguiente gráfica:


El Entorno MATLAB

También se pueden usar los comandos title, xlabel, ylabel, y grid para agregar un
título, leyendas x e y, y una retícula de fondo.
>> tiempo=0:1e-5:10e-3;
>> voltaje=10*sin(500*pi*tiempo)+4*cos(800*pi*tiempo);
>> plot(tiempo,voltaje),title('Voltaje en la Resistencia de Carga'),...
xlabel('tiempo es segundos'),ylabel('Voltaje en voltios'),grid
El Entorno MATLAB

Se puede usar el comando pause para detener el programa temporalmente a fin


de que se pueda examinar la gráfica. La ejecución continuará cuando se pulse
cualquier tecla.

El comando print imprime el contenido de la ventana de gráficos en la impresora


conectada a la computadora.
El Entorno MATLAB
Archivos de datos
Las matrices también se pueden definir a partir de información almacenadas en
un archivo de datos. Matlab puede utilizar dos tipos distintos de archivos de datos:
archivos MAT y archivos ASCII.

Los archivos MAT se generan desde un programa Matlab usando el comando save,
que contiene un nombre de archivo y las matrices que se van a almacenar en el
archivo. Se agrega automáticamente la extensión .mat al nombre del archivo.

El comando:
>> save data_1 x y;

Guarda las matrices x y y en un archivo llamado data_1.mat, para recuperar estas


matrices en un programa Matlab, se usa el comando:
>> load data_1;
El Entorno MATLAB

Operaciones con escalares y arreglos


Operaciones aritméticas entre dos escalares:

Suma a+b
Resta a-b
Multiplicación a*b
División a/b
Exponenciación a^b
El Entorno MATLAB

Operaciones elemento por elemento:

Suma a+b
Resta a-b
Multiplicación a.*b
División a./b
Exponenciación a.^b

Precedencia de operaciones aritméticas:

Precedencia Operación
1 Paréntesis, primero los más internos.
2 Exponenciación de izquierda a derecha.
3 Multiplicación y división, de izquierda a derecha.
4 Suma y resta, de izquierda a derecha.
El Entorno MATLAB
Gráficas lineales y logarítmicas:
Los comandos Matlab para gráficas lineales y logarítmicas de los vectores x y y
son:

plot(x,y) Genera una gráfica lineal con los valores de x y y.


semilogx(x,y) Genera una gráfica usando una escala logarítmica en x y
lineal en y.
semilogy(x,y) Genera una gráfica usando una escala lineal en x y
logarítmica en y.
loglog(x,y) Genera una gráfica logarítmica en x y y.
El Entorno MATLAB
Gráficas múltiples:
Para generar curvas múltiples en la misma gráfica se usan múltiples argumentos
en un comando de graficación, por ejemplo:
>> plot(x,y,w,z)

En este caso, las variables x, y, w y z son vectores. Al ejecutarse este comando, se


traza la curva correspondiente a x versus y, y luego se traza la curva
correspondiente a w versus z. La ventaja de esta técnica es que el número de
puntos de las dos curvas no tiene que ser el mismo.

Otra forma de generar múltiples curvas en la misma gráfica es usar una sola matriz
con múltiples columnas. Cada columna se graficará contra un vector x.

Las siguientes instrucciones:


>> t=0:1e-5:2e-3;
>> y(:,1)=5*sin(2000*pi*t)-3*cos(3000*pi*t-pi/6);
>> y(:,2)=8*cos(1000*pi*t).^2-4*sin(3500*pi*t);
>> plot(t,y),title('MULTIPLES CURVAS'),xlabel('tiempo en seg.'),...
ylabel('Amplitud en Volts.'),grid
El Entorno MATLAB
generará las siguientes gráficas:

Como se puede observar, Matlab selecciona automáticamente distintos tipos de


líneas para poder distinguir entre las gráficas.
El Entorno MATLAB
El comando plot(x,y) genera una gráfica de líneas que conecta los puntos
representados por los vectores x y y con segmento de líneas. También se puede
seleccionar otro tipo de líneas, tales como de guiones, de puntos y de puntos y
guiones, y también una gráfica de puntos en lugar de una línea. Asimismo, se
puede escoger caracteres distintos del punto para indicar los puntos, estos son:
signo más, estrellas, círculos o marcas x.

Tipo de línea Indicador Tipo de punto Indicador


continua - punto .
guiones -- más +
punteada : estrella *
Guiones-puntos -. círculo o
marca x
El Entorno MATLAB
Con respecto a la escala de los ejes, Matlab ajusta automáticamente dicha escala,
ajustándola a los valores de datos. No obstante, las escalas se puede supeditar
usando el comando axis.

axis Mantiene la escala del eje actual para gráficas subsecuentes.


Una segunda ejecución del comando, regresa el sistema al
escalado automático.
axis(n) Especifica la escala del eje usando los valores de escala que
están en el vector n, el cual contiene [xmin,xmax,ymin,ymax]

Subgráficas:
El comando subplot permite dividir la ventana de gráficos en subventanas. Las
posibles divisiones pueden ser dos subventanas o cuatro subventanas. Dos
subventanas pueden quedar arriba y abajo o a la izquierda y a la derecha.
El Entorno MATLAB
Una división de cuatro ventanas tiene dos subventanas arriba y dos abajo. Las
ventanas se numeran de izquierda a derecha y de arriba abajo.

subplot(m,n,p) Los dígitos m y n especifican que la ventana de


gráficos se divide en una retícula de mxn ventanas más
pequeñas, y el dígito p especifica la p-ésima ventana
para la gráfica actual.
El Entorno MATLAB
Funciones matemáticas comunes:
Entre los comandos que usa Matlab para definir funciones matemáticas comunes,
se encuentran:

abs(x) Calcula el valor absoluto de x.


sqrt(x) Calcula la raíz cuadrada de x.
round(x) Redondea x al entero más cercano.
fix(x) Trunca x al entero más cercano a 0.
floor(x) Redondea x al entero más cercano a -∞.
ceil(x) Redondea x al entero más cercano a +∞.
sign(x) Devuelve un valor de -1 si x<0, 0 si x=0 y 1 si x>0.
rem(x,y) Devuelve el residuo de x/y.
exp(x) Calcula ex .
log(x) Calcula el logaritmo natural (en base e) de x.
log10(x) Calcula el logaritmo común (en base 10) de x.
El Entorno MATLAB
Funciones trigonométricas e hiperbólicas:
Las funciones trigonométricas suponen que los ángulos se representan en
radianes. Los comandos Matlab para calcular las funciones trigonométricas son:

sin(x) Calcula el seno de x.


cos(x) Calcula el coseno de x.
tan(x) Calcula la tangente de x.
asin(x) Calcula el arcoseno de x.
acos(x) Calcula el arcocoseno de x.
atan(x) Calcula el arcotangente de x.
atan2(y,x) Calcula el arcotangente del valor y/x.
El Entorno MATLAB

Los comandos Matlab para determinar las funciones hiperbólicas son:

sinh(x) Calcula el seno hiperbólico de x.


cosh(x) Calcula el coseno hiperbólico de x.
tanh(x) Calcula la tangente hiperbólica de x.
asinh(x) Calcula el arcoseno hiperbólico de x.
acosh(x) Calcula el arcocoseno hiperbólico de x.
atanh(x) Calcula el arcotangente hiperbólico de x.
El Entorno MATLAB
Operaciones con números complejos:
Matlab incluye varios comandos para trabajar con números complejos y sus
conversiones, estos son:

conj(x) Calcula el conjugado complejo del número complejo x.


real(x) Calcula la parte real del número complejo x.
imag(x) Calcula la parte imaginaria del número complejo x.
abs(x) Calcula la magnitud del número complejo x.
angle(x) Calcula el ángulo en radianes del número complejo x.

Gráficas polares:
Para realizar gráficas en coordenadas polares, Matlab utiliza el comando
polar(theta,r), este comando realiza gráficas en coordenadas polar de los ángulos
theta en radianes versus las magnitudes r.
El Entorno MATLAB
Las siguientes instrucciones genera la gráfica Rosa de Tres Pétalos.
>> ang=0:2*pi/1000:2*pi;
>> r=5*cos(3*ang);
>> polar(ang,r),title('Gráfica en coordenadas Polar')
El Entorno MATLAB
Funciones Polinómicas:
Un polinomio es una función de una sola variable que se puede expresar de la
siguiente manera:

f ( x)  a0 x n  a1 x n1    an1 x  an

Existen varias formas de evaluar un polinomio para un conjunto de valores usando


Matlab. Una manera es almacenar en un vector o una matriz x los valores para la
evaluación del polinomio y luego usar operaciones elemento por elemento.
Otra forma es usando el comando polyval(a,x) el cual evalúa un polinomio con
coeficientes a para los valores que están en x. El resultado es una matriz del
mismo tamaño que x.

Si se quiere evaluar el polinomio:

f ( x)  x 2  3x  4
El Entorno MATLAB
Se puede usar las siguientes instrucciones:
>> x=-5:0.001:8;
>> a=[1 -3 4];
>> f=polyval(a,x);
>> plot(x,f),title('Función Polinómica'),grid
El Entorno MATLAB
Si los coeficientes de dos polinomios están almacenados en los vectores a y b, se
pueden realizar cálculos con los polinomios usando a y b; para la suma de
polinomio se usa a+b, para la resta a-b.

Multiplicar o dividir dos polinomios es más complicado que sumar y restar dos
polinomios porque se generan y combinan varios términos. Matlab contiene dos
comandos para realizar la multiplicación y división de polinomios, estos son:

conv(a,b) Calcula un vector de coeficientes que contiene los


coeficientes del producto de los polinomios representados
por los coeficientes contenidos en a y b, los cuales no
necesariamente tienen que tener el mismo tamaño.
[q,r]=deconv(n,d) Devuelve dos vectores, el primero contiene los
coeficientes del cociente y el segundo contiene los
coeficientes del polinomio que es el residuo.
El Entorno MATLAB

Para obtener las raíces de un polinomio, se usa el comando roots(a), el cual


determina las raíces del polinomio representado por el vector de coeficientes a.

Si se tienen las raíces de un polinomio y se quiere determinar los coeficientes del


polinomio cuando de multiplican todos los términos lineales, se puede usar el
comando poly(r), el cual determina los coeficientes del polinomio cuyas raíces
están contenidas en el vector x.

Gráficas tridimensionales:
Matlab contiene varias funciones diseñadas específicamente para evaluar y
graficar funciones de dos variables.
Para evaluar una función de dos variables f(x,y), primero hay que definir una
retícula bidimensional en el plano xy. Esto se logra usando el comando
meshgrid(x,y)
El Entorno MATLAB

[x_g,y_g]=meshgrid(x,y) Genera dos matrices de tamaño nxm, con base en


los valores de los vectores x y y que contienen m-
valores y n-valores, respectivamente. La matriz x_g
contiene los valores de x repetidos en cada fila, y la
matriz y_g contiene los valores de y repetidos en
cada columna.

Una vez definida las matrices de la retícula subyacente, se puede calcular los
valores correspondientes de la función.

Para realizar gráficas tridimensionales, hay varias formas de realizarlas. Se pueden


generar gráficas de malla, gráficas de superficie, gráficas de contorno y gráficas de
malla/contorno.

Los comandos Matlab para realizar gráficas tridimensionales son:


El Entorno MATLAB

mesh(x_p,y_p,z) Genera una gráfica de cuadrícula abierta de la superficie


definida por la matriz z. Los argumentos x_p y y_p
pueden ser vectores que definen los intervalos de
valores de las coordenadas x y y, o matrices que definen
la retícula subyacentes de coordenadas x y y.
surf(x_p,y_p,z) Genera una gráfica de cuadrícula sombreada de la
superficie definida por la matriz z. Los argumentos x_p y
y_p pueden ser vectores que definen los intervalos de
valores de las coordenadas x y y, o matrices que definen
la retícula subyacentes de coordenadas x y y.
contour(x,y,z) Genera una gráfica de contorno de la superficie definida
por la matriz z. Los argumentos x y y son vectores que
definen los intervalos de valores de las coordenadas x y
y. El número de líneas de contorno y sus valores se
escogen automáticamente.
El Entorno MATLAB

contour(x,y,z,v) Genera una gráfica de contorno de la superficie definida


por la matriz z. Los argumentos x y y son vectores que
definen los intervalos de valores de las coordenadas x y
y. El vector v define los valores que se usarán para las
líneas de contorno.
meshc(x_p,y_p,z) Genera una gráfica de cuadrícula abierta de la superficie
definida por la matriz z. Los argumentos x_p y y_p
pueden ser vectores que definen los intervalos de
valores de las coordenadas x y y, o matrices que definen
la retícula subyacentes de coordenadas x y y. Además se
genera una gráfica de contorno debajo de la gráfica de
malla.
El Entorno MATLAB
Las siguientes instrucciones generan gráficas tridimensionales para la siguiente
función:

( x2  y 2 )
f ( x, y)  xe

>> x=-2:0.1:2;
>> y=-2:0.1:2;
>> [x_g,y_g]=meshgrid(x,y);
>> z=x_g.*exp(-(x_g.^2+y_g.^2));
>> subplot(2,2,1),mesh(x_g,y_g,z),title('Gráfica de malla'),...
subplot(2,2,2),surf(x_g,y_g,z),title('Gráfica de superficie'),...
subplot(2,2,3),contour(x,y,z),title('Gráfica de contorno'),...
subplot(2,2,4),meshc(x_g,y_g,z),title('Gráfica de malla/contorno')

Cuyas gráficas son:


El Entorno MATLAB
El Entorno MATLAB
Funciones de Análisis de Datos:
Matlab presenta muchos comandos para el análisis de datos, entre los cuales
tenemos:

max(x) Determina el valor más grande contenido en el vector x.


Si x es una matriz, la función devuelve un vector de fila
que contiene el elemento máximo de cada columna.
[y,k]=max(x) Determina los valores máximos de x y los índices
correspondientes del primer valor máximo de cada
columna de x.
max(x,y) Determina una matriz con el mismo tamaño que x y y.
Cada elemento de la matriz contiene el valor máximo de
las posiciones correspondientes en x y y.
min(x) Determina el valor más pequeño contenido en el vector x.
Si x es una matriz, la función devuelve un vector de fila
que contiene el elemento mínimos de cada columna.
El Entorno MATLAB
Funciones de Análisis de Datos:
Matlab presenta muchos comandos para el análisis de datos, entre los cuales
tenemos:

[y,k]=min(x) Determina los valores mínimos de x y los índices


correspondientes del primer valor mínimo de cada
columna de x.
min(x,y) Determina una matriz con el mismo tamaño que x y y.
Cada elemento de la matriz contiene el valor mínimo de
las posiciones correspondientes en x y y.
sum(x) Determine la suma de los elementos de x. Si x es una
matriz, esta función devuelve un vector de fila que
contiene la suma de cada elemento.
prod(x) Determine el producto de los elementos de x. Si x es una
matriz, esta función devuelve un vector de fila que
contiene el producto de cada elemento.
El Entorno MATLAB
Funciones de Análisis de Datos:
Matlab presenta muchos comandos para el análisis de datos, entre los cuales
tenemos:

cumsum(x) Determina un vector del mismo tamaño que x que


contiene sumas acumulativas de valores de x. Si x es una
matriz, la función devuelve una matriz del mismo tamaño
que x y que contiene sumas acumulativas de valores de las
columnas de x.
cumprod(x) Determina un vector del mismo tamaño que x que
contiene productos acumulativas de valores de x. Si x es
una matriz, la función devuelve una matriz del mismo
tamaño que x y que contiene productos acumulativas de
valores de las columnas de x.
El Entorno MATLAB
Funciones de Análisis de Datos:
Matlab presenta muchos comandos para el análisis de datos, entre los cuales
tenemos:

mean(x) Calcula el valor medio o promedio de los elementos del


vector x. Si x es una matriz, esta función devuelve un
vector de filas que contiene el valor medio de cada
columna.
median(x) Determine la mediana de los elementos del vector x. Si x
es una matriz, esta función devuelve un vector de filas
que contiene la mediana de cada columna. Los valores de
x no tienen que estar ordenados.
sort(x) Devuelve un vector con los valores de x en orden
ascendente. Si x es una matriz, esta función devuelve una
matriz con cada columna en orden ascendente.
std(x) Calcula la desviación estándar para los valores contenidos
en x. Si x es una matriz, se devuelve un vector fila que
contiene la desviación estándar de cada columna.
El Entorno MATLAB
Funciones de Análisis de Datos:
Un histograma es un tipo especial de gráficas que contiene especial importancia
para las mediciones estadísticas, en ella se muestra la distribución de un conjunto
de valores.
En Matlab, el histograma calcula el número de valores que caen en 10 intervalos
espaciados equitativamente entre los valores mínimos y máximos del conjunto de
valores.

hist(x) Genera un histograma de los valores de x usando 10


intervalos.
hist(x,n) Genera un histograma de los valores de x usando n
intervalos.
El Entorno MATLAB
Instrucciones y Funciones de Selección:
Una instrucción de selección permite realizar una pregunta o probar una
condición para determinar qué pasos se ejecutarán a continuación.

La instrucción de selección más común es la instrucción if, ejemplo de su uso es el


siguiente:

if r<=100
s=s+1;
disp(r);
end
El Entorno MATLAB
Instrucciones y Funciones de Selección:
Matlab, contiene seis operadores de relacionales para comparar dos matrices de
igual tamaño, estos son:

Operador Relacional Interpretación


< Menor que.
<= Menor que o igual.
> Mayor que.
>= Mayor que o igual.
== Igual.
~= No igual.

Se usan matrices o expresiones de matrices en ambos lados de un operador


relacional para dar otra matriz del mismo tamaño. Cada entrada de la matriz
resultante contiene un 1 si la comparación es verdadera, cuando se aplica a los
valores de las posiciones correspondientes de las matrices; de lo contrario, la
entrada de la matriz resultante contiene un 0.
El Entorno MATLAB
Instrucciones y Funciones de Selección:
También se pueden combinar dos expresiones lógicas usando los operadores
lógicos, estos son:

Operador Lógicos Símbolos


no ~
y &
o |

Las posibles combinaciones de los operadores lógicos, son:

A B ~A A|B A&B
falso falso verdadero falso falso
falso verdadero verdadero verdadero falso
verdadero falso falso verdadero falso
verdadero verdadero falso verdadero verdadero
El Entorno MATLAB
Instrucciones y Funciones de Selección:
Una instrucción if anidada es la siguiente:
if r<=100
s=s+1;
disp(r);
if a<r
a=0;
end
end

La cláusula else, permite ejecutar una serie de instrucciones si una expresión


lógica es verdadera y una serie diferente si la expresión es falsa.
if i<1
s=i/10;
else
s=0.1;
end
El Entorno MATLAB
Instrucciones y Funciones de Selección:
Si se anidan varios niveles de instrucciones if-else, puede ser difícil determinar
cuales expresiones lógicas deben ser verdaderas o falsas para ejecutar cada serie
de instrucciones. En estos casos es común utilizar la cláusula elseif para aclarar la
lógica del programa.

La cláusula else, permite ejecutar una serie de instrucciones si una expresión


lógica es verdadera y una serie diferente si la expresión es falsa.

if tem>100
disp('Demasiado caliente - falla de equipo.')
elseif tem>90
disp('Intervalo operativo normal.')
elseif tem>50
disp('Temperatura por debajo del intervalo deseado.')
else
disp('Demasiado frio - apagar equipo.')
end
El Entorno MATLAB
Instrucciones y Funciones de Selección:
Matlab también contiene una serie de funciones lógicas que son muy útiles, estas
son:

any(x) Devuelve un escalar que es 1 (verdadero) si cualquier


elemento del vector x es distinto de cero; en caso
contrario , el escalar es 0 (falso). Si x es una matriz, esta
función devuelve un vector de fila; un elemento de este
vector de fila contiene un 1 (verdadero) si cualquier
elemento de la columna correspondiente de x es distinto
de cero, y un 0 (falso) en caso contrario.
all(x) Devuelve un escalar que es 1 (verdadero) si todos los
elemento del vector x son distintos de cero; en caso
contrario , el escalar es 0 (falso). Si x es una matriz, esta
función devuelve un vector de fila; un elemento de este
vector de fila contiene un 1 (verdadero) si todos los
elemento de la columna correspondiente de x es distinto
de cero, y un 0 (falso) en caso contrario.
El Entorno MATLAB
Instrucciones y Funciones de Selección:

find(x) Devuelve un vector que contiene los índices de los


elementos distintos de cero de un vector x. Si x es una
matriz, entonces los índices se seleccionan de x(:), que es
un vector de una sola columna formado a partir de las
columnas de x.
isnan(x) Devuelve una matriz con unos donde los elementos de x
son NaN y ceros donde no lo son.
isfinite(x) Devuelve una matriz con unos donde los elementos de x
son finitos y ceros donde son infinitos o NaN.
isempty(x) Devuelve 1 si x es una matriz vacía y 0 en caso contrario.
El Entorno MATLAB
Funciones escritas por el usuario:
Matlab tiene la característica de que se pueden crear funciones escrita por el
usuario, a la cual un programa puede referirse del mismo modo como se refiere a
una función Matlab. Las funciones descritas por el usuario tienen reglas muy
específicas que deben obedecerse, tales reglas son:

La función debe comenzar con una línea que contenga la palabra function,
seguida del argumento de salida, un signo de igual y el nombre de la función.
Esta línea distingue el archivo de función de un archivo de guión.

Es recomendable que las primeras líneas sean comentarios porque se


exhibirán si se solicita ayuda para el nombre de la función.

La única información que la función devuelve está contenida en los


argumentos de salida que, desde luego, son matrices. Hay que comprobar que
la función incluya una instrucción que asigne un valor al argumento de salida.
El Entorno MATLAB
Funciones escritas por el usuario:
Se puede usar los mismos nombres de matriz tanto en una función como en
el programa que hace referencia a ella. No habrá confusión en cuanto a cual
matriz es a la que se refiere porque la función y el programa son totalmente
independientes. Por otro lado, no es posible acceder desde el programa a
ninguno de los valores que se calculan en la función, como no sean los
argumentos de salida.

Una función que va a devolver más de un valor debe mostrar todos los
valores que devolverá en forma de vector en la instrucción de función.

Una función que tenga múltiples argumentos de entrada deberán listar los
argumentos en la instrucción de función.

Las variables especiales nargin y nargout pueden servir para determinar el


número de argumentos de entrada y el número de argumentos de salida de
una función.
El Entorno MATLAB
Funciones escritas por el usuario:
El comando what lista todos los archivos M y MAT que están disponibles en el
espacio de trabajo actual. El comando type seguido de un nombre de archivo
exhibe el contenido de ese archivo en la pantalla. Si el nombre del archivo
especificado no tiene extensión, el comando type supone automáticamente que la
extensión es .m.
Ejemplo de una función escrita por el usuario:

function t=trian(x)
% TRIAN Se define la función triangulo como una rampa con
% pendiente positiva desde [-1, 0], y una rampa con
% pendiente negrativa desde [0, 1]. En 0 vale 1, y
% de resto, vale 0.
t=zeros(size(x));
set1=find(abs(x)<=1);
t(set1)=-abs(x(set1))+1;

Esta función debe guardarse en un archivo llamado trian.m. Así, los programas y
guiones Matlab podrán referirse a esta función del mismo modo se hace
referencia a funciones como sin y sqrt
El Entorno MATLAB
Funciones escritas por el usuario:
Ejemplo de uso de esta función:
>> x=-5:0.1:5;
>> y=trian(x);
>> plot(x,y),title('Función Triangulo'),...
xlabel('x'),ylabel('y'),grid
El Entorno MATLAB
Funciones generadas con números aleatorios:
Los números aleatorios no se definen mediante una ecuación, estos se
caracterizan por una distribución de valores. Los números aleatorios que tienen la
misma probabilidad de ser cualquier valor entre un límite superior y uno inferior
se denominan números aleatorios uniformes.

La función rand de Matlab genera números aleatorios distribuidos uniformemente


en el intervalo [0,1]. Se emplea un valor de semilla para iniciar una sucesión
aleatoria de valores; este valor de semilla es inicialmente 0, pero se puede
cambiar con la función seed
rand(n) Genera una matriz nxn que contiene números aleatorios
entre 0 y 1.
rand(m,n) Genera una matriz mxn que contiene números aleatorios
entre 0 y 1.
rand(‘seed’,n) Asigna n como valor de semilla.
rand(‘seed’) Devuelve el valor actual de la semilla del generador de
números aleatorios.
El Entorno MATLAB
Funciones para manipular matrices:
Matlab incluye varias funciones que manipulan el contenido de una matriz, entre
las cuales se encuentran:

rot90(A) Gira la matriz A 90° en dirección contraria las manecillas


del reloj.
rot90(A,n) Gira la matriz A n.90° en dirección contraria las
manecillas del reloj.
fliplr(A) Invierte la A de izquierda a derecha.
flipud(A) Invierte la matriz A de arriba hacia abajo.
reshape(A,m,n) Reconfigura la matriz A de modo que tenga m filas y n
columnas. El número de elementos de la matriz original y
de la matriz reconfigurada debe ser el mismo.
El Entorno MATLAB
Funciones para manipular matrices:
diag(A) Extrae los elementos de la diagonal principal y los
almacena en un vector de columna si A es una matriz. Si
A es un vector, la función generará una matriz cuadrada
con A como su diagonal.
diag(A,k) Extrae los elementos de la k-ésima diagonal de A y los
almacena en un vector de columna
triu(A) Genera una matriz cuadrada de valores a partir de A, con
ceros por debajo de la diagonal principal.
triu(A,k) Genera una matriz cuadrada de valores a partir de A, con
ceros por debajo de la k-ésima diagonal.
tril(A) Genera una matriz cuadrada de valores a partir de A, con
ceros arriba de la diagonal principal.
tril(A,k) Genera una matriz cuadrada de valores a partir de A, con
ceros arriba de la k-ésima diagonal.

También podría gustarte