Está en la página 1de 20

MATLAB

MAtrix LABoratory programa realiza cálculos numéricos con vectores y matrices


MODIFICAR TAMAÑO FUENTE
Version 2010
File, Preference,Fonts, select the font size, OK
Version 2013
Home, Preference,Fonts, select the font size, OK

MODIFICAL EL ESPACIADO
Para mathlab 2010
File, Preference,Comand Window, en Numeric Display cambiar de loose a compact,
OK
Para mathlab 2013
Home, Preference,Comand Window, en Numeric Display cambiar de loose a
compact, OK

Para ir al inicio del Comand Window


>> home, enter
CAMBIAR FORMATO DE CIFRAS
File, Preference,Comand Window, en Numeric Format select short g, long, etc, OK
WORKSPACE
Lista todas las variable en uso
>> who
Your variables are:
L ans d x
Alternativamente ir al menu y seleccionar Desktop, workspace
Para desplegar todas las ventanas del mathlab:
En Mathlab 2013: Home, Layaout, default
Desktop, desktop layaout, default (version 2013: Home, Layout, Default)
FORMATO DE SALIDA
El comando format controla el formato numérico de los valores de salida, es decir
como aparecen en la ventana de comandos. No influye en como Matlab calcula los
resultados o como los graba. All computations in MATLAB are done in double
precision.

Supongamos el siguiente vector


x = [4/3 1.2345e-6]
veremos como aparece en pantalla con los siguientes formatos:
format short Scaled fixed point format with 5 digits.
1.3333 0.0000
format short e Floating point format with 5 digits
1.3333e+000 1.2345e-006
format short g Best of fixed or floating point format with 5 digits.
1.3333 1.2345e-006
format long Scaled fixed point format with 15 digits.
1.33333333333333 0.00000123450000
format long e Floating point format with 15 digits.
1.333333333333333e+000 1.234500000000000e-006
format long g Best of fixed or floating point format with 15 digits.
1.33333333333333 1.2345e-006
format bank Fixed format for dollars and cents.
1.33 0.00
format rat
4/3 1/810045
format hex Hexadecimal format.
3ff5555555555555 3eb4b6231abfd271

format rat Approximation by ratio of small integers.


FUNCIONES
La base natural se expresa mediante exp,
exp(1) = 2.7183
Uso del Help
Ejemplo si uno busca informacion sobre Seno
>> help sin
En Matlab e no es la base natural de los logaritmos sino una potencia de 10 es decir
1e-n= 10-n
La base natural se expresa mediante exp,
exp(1) = 2.7183

SENO, COSENO, TANGENTE, COTANGENTE EN RADIANES


sin( ), cos( ), tan( ), cot( )
>>sin(pi/4)
ans =
0.7071

SENO, COSENO, TANGENTE, COTANGENTE EN GRADOS SEXAGESIMALES


sind( ), cosd( ), tand( ), cotd()
cosd(60)
ans =
0.5000

ARCOSENO, ARCOCOSENO, ARCOTANG, ARCO COTANG EN RADIANES


asin(x), acos(x), atan(x), acot(x)
donde x está en radianes

ARCOSEN, ARCOCOS, ARCOTANG, ARCOCOTANG EN GRADO


SEXAGESIMALES
asind(x), acosd(x), atand(x), acotdx)
es el arco seno coseno, tangente, cotangente de x en grados sexagesimales
LOGARITMO NATURAL. LOGARITMO BASE 10
>>Y = log(X)
El antilog
exp(X) = Y
>>Z=log10(X)
El antilog10

10.^Z = X

Nota
sqrt es una función predefinida como raiz cuadrada
sqrt(2)
ans =
1.4142
Pero si definimos sqrt como una variable deja de ser raíz cuadrada
sqrt = 5
>> sqrt(2)
Index exceeds matrix dimensions.

OPERADORES RELACIONALES
Relational operators.
eq - Equal ==
ne - Not equal ~=
lt - Less than <
gt - Greater than >
le - Less than or equal <=
ge - Greater than or equal >=
DEFINICIÓN DE VECTORES
Vectores fila
x=[1 2 3 4] o [1,2,3,4]
Vector columna
x=[13;2;4;5]
La transpuesta de un vector T se representa por T ´

LISTAS
d=[1:0.5:4], d=(1:0.5:4), d=1:0.5:4
genera un vector entre 1 y 4 a intervalo de 0.5
g=1 3 5 7 9

d=[10:15], d=(10:15), d=10:15


genera un vector con elementos de 1 a 10 con intervalo de 1

g=linspace(1,9,5) %
genera un vector de cinco valores entre 1 y 9
GENERACION DE MATRICES:
Matrices elementales:
zeros(M) Matriz cuadrada de orden M de ceros
ones(M) Matriz cuadrada de orden M de unos
eye(M) Matriz cuadrada de diagonal unitaria de orden M
rand(M,N) Números aleatorios uniformemente distribuidos

rand(3,4) genera una matriz aleatoria 3x4 cuyos elementos siguen una
distribución normal con media 0 y varianza 1
>> rand(3,4)
ans =
0.6555 0.0318 0.0971 0.3171
0.1712 0.2769 0.8235 0.9502
0.7060 0.0462 0.6948 0.0344

diag(v)
genera una matriz cuadrada con diagonal igual al vector v
DIVISION
Dado dos matrices de la misma dimensión A y B entonces A./B divide cada
elemento de A entre cada elemento de B
A=[1 2 3;4 5 6;6 7 9];B=[9 8 7;6 5 4;3 2 1];
>>A./B
ans =
0.1111 0.2500 0.4286
0.6667 1.0000 1.5000
2.0000 3.5000 9.0000

>>En la expresión división inversa A.\B se divide cada elemento de B entre


cada elemento de A
>>A.\B = B./A
ans =
9.0000 4.0000 2.3333
1.5000 1.0000 0.6667
0.5000 0.2857 0.1111

USO DEL BACKSLASH O BARRA OBLICUA INVERSA, BARRA INVERTIDA,


BARRA REVERTIDA, (BACKSLASH) Y CONTRABARRA, [ \

Si M y N son dos matrices del mismo tamaño

M\N = inv(M)*N
SELECCIÓN DE ELEMENTOS DE UNA MATRIZ
M([i,j])
Los elementos de una matriz se enumeran desde arriba hacia abajo empezando por
la primera columna . Entonces devuelve el elemento ubicados en el orden numérico
i y en el orden numérico j

M([i,j],[k,l])
Selecciona los elementos de la fila i y la fila j y los intersecta con los elementos de
la columna k y columna l

SELECCIONAR FILAS
A(1,:)
Muestra los elementos de la fila 1 de la matriz A
A(2:5,:)
Muestra desde la fila 2 a la 5 de la matriz A

SELECCIONAR COLUMNAS
A(5:8,:)

Selecciona desde la fila 5 a la fila 8


A(:,5:8)
Selecccionadesde la columnas 5 ala 8 de la matriz A
A(3,:)=H
Reemplaza la fila 3 de A por el vector fila H

A(:,3)=V'
Reemplaza la columna 3 por el vector columna V'

A(1:6,:)=[ ]
suprime las filas de 1 a la 6

B(:,3:8)=[ ]
suprime las columnas de 3 a la 8

A([6 8],[1 4])


Da intersección de las filas 6 y 8 con las columnas 1 y 4

A(1:3,5:10)
Intersección desde la fila 1 a la 3 con la columna desde la 5 a la 10

A([6 8],[1 4]) = ones(2,2) o suequivalente A([6 8],[1 4])


reemplaza la intersección de las filas 6 y 8 con las columnas 1 y 4 por una matriz
ones(2)

max(R)
Da el máximo da cada columna de R

[Rm,im]=max(R)
Da una matriz Rm formada por los máximos de cada columna y una matriz im donde
se indica la posición del máximo en cada columna
Rm =
0.9134 0.6324 0.9706 0.9572
im =
4 1 4 1

PERMUTACIÓN DE FILAS Y COLUMNAS


A([2 5],:)=A([5 2],:)
permuta filas 2 con la 5
A(:,[4 5])=A(:,[5 4])
triu(A) =
0.0855 0.2373 1.0000 0.4942 0.0987 0.0305 0.8055 0.9787 0.5216 0.9730
0 0.5211 1.0000 0.8909 0.1366 0.9047 0.8865 0.0596 0.7224 0.4324
0 0 1.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000
0 0 0 0.9037 0.6797 0.4799 0.2399 0.4711 0.8175 0.4538
0 0 0 0 0.2619 0.7441 0.5767 0.7127 0.0967 0.6490
0 0 0 0 0 0.6099 0.0287 0.6820 0.1499 0.8253
0 0 0 0 0 0 0.4899 0.0424 0.6596 0.0835
0 0 0 0 0 0 0 0.0714 0.5186 0.1332

tril(A) =
0.0855 0 0 0 0 0 0 0 0 0
0.9289 0.5211 0 0 0 0 0 0 0 0
2.0000 2.0000 1.0000 0 0 0 0 0 0 0
0.0292 0.5468 1.0000 0.9037 0 0 0 0 0 0
0.2625 0.4588 1.0000 0.7791 0.2619 0 0 0 0 0
1.0000 0.2316 1.0000 1.0000 0.7212 0.6099 0 0 0 0
0.4886 0.4889 1.0000 0.6987 0.1068 0.6177 0.4899 0 0 0
1.0000 0.6241 1.0000 1.0000 0.6538 0.8594 0.1679 0.0714 0 0

PRODUCTO VECTORIAL, PRODUCTO ESCALAR

Dado X=[1 2 3];Y=[4 7 -8];

Producto vectorial
cross(X,Y) = –37 20 –1
cross(Y,X) = 37 –20 1
Producto escalar
dot(X,Y) = –6

NORMAS DE UN VECTOR
Dado Y=[4 7 -8];se pueden calcular las siguientes normas
norm(Y,1) =19, significa  Yi
norm(Y,inf) =8 selecciona el valor absoluto máximo de  Yi
norm(Y,2) = 11.3578 calcula la norma euclideana
DETERMINANTE
det(M) is the determinant of the square matrix M.

DETERMINANTE COMO VARIABLE STRING


Para una matriz cuadrada conteniendo valores literales
>>syms x
>> N=[1–x 2 3;4 5–x 6;7 8 9–x];
>> det(N)
ans = - x^3 + 15*x^2 + 18*x

INVERSA DE UNA MATRIZ


>> inv(M)

RAICES DE UN POLINOMIO
Las raíces de un polinomio de potencia n se obtiene mediante roots(p), donde p es

un vector formado por los coeficientes desde la potencia n a n=0.


>> p=[6 2 1 7 8];
>> roots(p), da n las raices reales e imaginarias

Dos polinomios del mismo grado pero con coeficientes múltiplos tienen las
mismas raíces. Sea p=[6,2,1,7,8] y p1=[12,4,2,14,16];

poly([raiz1,raiz2,….raizn])
da el polinomio de los coeficientes
poly([-0.6050 + 1.1688i,-0.6050 - 1.1688i,0.6050 + 1.1688i,0.6050 - 1.1688i])
ans =
1.0000 0 2.0001 -0.0000 3.0002
1 02 0 3
EXPRESIONES LITERALES
Ejemplo. Desarrollar (z2+3*z)*(1+z2) y evaluar para z=1,5
>>syms z
>>F=(z^2+3*z)*(1+z^2);
>>G=expand(F)
>>G =z^4 + 3*z^3 + z^2 + 3*z

Evaluar G para z = 1.5


>>H=subs(G,z,1.5)
>>H = 21.9375

Ejemplo DesarrollarF=(x5+x2*5*y2-y*z3)*(x+2*y+z2)3
>>syms x y z
>>F=(x^5+x^2*5*y^2-y*z^3)*(x+2*y+z^2)^3
>> expand(F)
ans =x^8 + 6*x^7*y + 3*x^7*z^2 + 12*x^6*y^2 + 12*x^6*y*z^2 + 3*x^6*z^4 +
8*x^5*y^3

POLINOMIO CARACTERISTICO
OBTENCION DEL POLINOMIO CARACTERÍSTICO DE UNA MATRIZ CUADRADA
syms s
>> MP=[0.0971-s 0.0344 0.1869 0.7547 0.1190;
0.8235 0.4387-s 0.4898 0.2760 0.4984;
0.6948 0.3816 0.4456-s 0.6797 0.9597;
0.3171 0.7655 0.6463 0.6551-s 0.3404;
0.9502 0.7952 0.7094 0.1626 0.5853-s];
p=det(MP)
p=
- s^5 + (11109*s^4)/5000 + (29921527*s^3)/50000000 +
(367376674999*s^2)/1000000000000 + (280723587050243*s)/2000000000000000 -
15912310578467909/100000000000000000000
>> vpa(p)
ans =
- 1.0*s^5 + 2.2218*s^4 + 0.59843054*s^3 + 0.367376674999*s^2 +
0.1403617935251215*s - 0.00015912310578467909
>> pretty(ans)
5 4 32
- 1.0 s + 2.2218 s + 0.59843054 s + 0.367376674999 s + 0.1403617935251215 s
- 0.00015912310578467909

OBTENCION DEL POLINOMIO CARACTERÍSTICO DIRECTAMENTE DE LA


MATRIZ CUADRADA Z
Dada una matriz cuadrada M, p=poly(M) da el polinomio característico

Dado un polinomio p=poly(A), entonces vpa(poly2sym(p)) construye el


polinomio característico
>>Sea p = (1.0000 -12.0000 21.0000 -10.0000)

vpa(poly2sym(p))
>>ans =x^3 - 12.0*x^2 + 21.0*x - 10.0

CONSTRUCCION DEL POLINOMIO CARACTERÍSTICODADO LOS


COEFICIENTES DEL POLINOMIO CARACTERÍSTICO P
Sea el polinomio p
p=
1.0000 -2.2218 -0.5984 -0.3673 -0.1404 0.0002

f=vpa(poly2sym(p)), devuelve
f=
x^5 - 2.2218*x^4 - 0.5984*x^3 - 0.3673*x^2 - 0.1404*x + 0.0002

pretty(f), devuelve
5 4 3 2
x - 2.2218 x - 0.5984 x - 0.3673 x - 0.1404 x + 0.0002

Polinomio característicoa partir de una matriz característica


>> M=[1 2 3;4 5 6;7 8 9];
>> poly(M)
ans =
1.0000 -15.0000 -18.0000 -0.0000
>> syms x
>> N=[1-x 2 3;4 5-x 6;7 8 9-x];
>> det(N)
ans =
- x^3 + 15*x^2 + 18*x
>> solve(‘- x^3 + 15*x^2 + 18*x’)
ans =
0
15/2 – (3*33^(1/2))/2
(3*33^(1/2))/2 + 15/2
>>double(ans)
ans =
0
-1.1168
16.1168

Traza de una matriz


Dado A=[5 4 2;4 5 2;2 2 2], para una matriz cuadrada trace(A) da la suma de los
elementos de la diagonal principal
trace(A)
ans = 12

VALORES Y VECTORES PROPIOS


[V,D]=eig(A) da una matriz V formado por los vectores principales y una matriz
diagonal D formado por los valores propios.
Las direcciones principales vienen dadas por cada columna de V: La 1ra columna es
la dirección principal del primer elemento de la matriz diagonal D, la 2da columna de
V es la dirección principal de la segunda diagonal de D, la 3ra columna de V es la
dirección principal de la tercera diagonal de D
M=[1 2 3;2 4 5;3 5 6];
>> [V D]=eig(M)
V=
0.73698 0.59101 0.32799
0.32799 -0.73698 0.59101
-0.59101 0.32799 0.73698

D=
-0.51573 0 0
0 0.17092 0
0 0 11.345

ANALISIS DE DATOS

Dado X=[15,3,4,1,8,9]

sum(X) = la suma de todos los componentes de X = 40


prod(X) = producto de todos los componente de X = 12960
cumsum(X)= suma acumulada a cada componente
ans =
15 18 22 23 31 40
cumprod(X)= producto acumulado a cada componente
ans =
15 45 180 180 1440 12960
SORT
Arreglo ascendente
Sea Z=[1, 1, 100, 1, 2, 50.5, 500, 400]

sort(Z) ordena los elementos de Z en orden ascendente


>> sort(Z) = [1.0000, 1.0000, 1.0000, 2.0000, 50.5000, 100.0000, 400.0000,
500.0000]

Arreglo Descendente
>> sort(Y,'descend')
Y=[1,100,2,50,–5 ,500,4,–45]
500 100 50 4 2 1 -5 -45
En el caso de una matriz (m,n): toma la 1ª columna y lo ordena ascendentemente,
pasa a la 2da columna y lo ordena ascendentemente y así hasta la enésima
columna

sortrows(A)
Toma el elemento menor de la primera columna que es la de la 3ra fila y coloca toda
la 3ra fila como1ra fila. Toma el siguiente valor de la primera columna que
corresponde a la 4ta fila y la coloca en segundo lugar y así sucesivamente hasta
agotar toda la 1ra columna.

SCRIPT. ARCHIVO DE ÓRDENES


Para crear
File, New, M-File o hacer click en el icono New Script
Para ejecutarlo guardarlo
Modo 1 hacer click en el icono Save y direccionarlo en la carpeta a guardar y ponerle
un nombre que no sea numero, textual y corto
Modo 2, En el menu del Editor hacer click en botón Run
CARGAR SCRIPTS
Si en el current directory se tiene un script con el nombre ‘Untitled.m’, se puede
hacer dos acciones

1. Al hacer doble click sobre el nombre del archivo, se abre el script


2. Digitar Untitled

PLOT
PLOT(X,Y) plots vector Y versus vector X. If X or Y is a matrix,then the vector is
plotted versus the rows or columns of the matrix,whichever line up. If X is a scalar
and Y is a vector, disconnectedline objects are created and plotted as discrete points
vertically atX.
PLOT(Y) plots the columns of Y versus their index.
If Y is complex, PLOT(Y) is equivalent to PLOT(real(Y),imag(Y)).
In all other uses of PLOT, the imaginary part is ignored.

Various line types, plot symbols and colors may be obtained withPLOT(X,Y,S) where
S is a character string made from one elementfrom any or all the following 3
columns:
b blue . point - solid

g green o circle : dotted

r red x x-mark -. dashdot


c cyan + plus -- dashed
m magenta * star (none) no line
y yellow s square
k black d diamond
w white v triangle (down)
^ triangle (up)
< triangle (left)
> triangle (right)
p pentagram
h hexagram

También podría gustarte