Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Qué Es MATLAB
Qué Es MATLAB
MATLAB es un lenguaje de alto rendimiento para clculos tcnicos y, al mismo tiempo, un entorno
y un lenguaje de programacin. Uno de sus puntos fuertes es que permite construir nuestras
propias herramientas reutilizables. Podemos crear fcilmente nuestras propias funciones y
programas especiales (conocidos como M-archivos) en cdigo MATLAB, los podemos agrupar en
Toolbox (tambin llamadas libreras): coleccin especializada de M-archivos para trabajar en clases
particulares de problemas.
MATLAB, a parte del clculo matricial y lgebra lineal, tambin puede manejar polinomios,
funciones, ecuaciones diferenciales ordinarias, grficos, etc.
Replegar
Tabla de contenidos
Qu es MATLAB?
1. Caractersticas bsicas
1.1 El espacio de trabajo de Matlab
1.2 Matemtica sencilla
Ejemplos
1.3 Almacenar y recuperar datos
1.4 Formato de visualizacin de nmeros
1.5 Acerca de las variables
1.6 Otras caractersticas bsicas
2. Ayuda en lnea
3. Funciones matemticas comunes
3.1 Aproximaciones
3.2 Trigonometra
3.3 Algunas operaciones
4.Vectores y Matrices.
4.1 Direccionamiento de elementos de Vectores y Matrices.
4.2 Construccin abreviada de algunos vectores.
4.3 Construcci'on de algunas matrices.
4.4 Operaciones bsicas con Matrices.
4.5 Funciones para operar con vectores.
5. Texto
6. Hipermatrices (arrays de ms de dos dimensiones)
6.1 Definicin de Hipermatrices
6.2 Funciones que trabajan con hipermatrices
7. Estructuras
7.1 Creacin de estructuras
7.2 Funciones para operar con estructuras
8. Vectores o Matrices de celdas (Cell Arrys)
8.1 Creacin de vectores y matrices de celdas.
8.2 Funciones para trabajar con vectores y matrices de celdas.
8.3 Conversin entre estructuras y vectores de celdas.
9. Operadores relacionales y lgicos
9.1 Operadores relacionales
9.2 Operadores lgicos
9.3 Funciones relacionales y lgicas adicionales
9.4 Orden de precedencia de los operadores:
10. Grficos
10.1 Grficas 2D en Matlab
10.2 Grficos 3D en Matlab
11. Programacin de MATLAB
11.1 Sentencia FOR
11.2 Sentencia WHILE
11.3 Sentencia IF
11.4 Sentencia BREAK
11.5 Sentencia CONTINUE
12. Funciones en M-archivos.
13. Anlisis de datos
14. Polinomios
15. Anlisis numrico
15.1 Representacin grfica
15.2 Minimizacin
15.3 Localizacin de ceros
16. Convertir un fichero (*.m) en un ejecutable(*.exe).
17. Importar y exportar ficheros de datos.
18. Ejercicios propuestos.
19. Comandos que aparecen en esta guia.
1. Caractersticas bsicas
Todas las sentencias que vamos a utilizar las escribiremos en la ventana Command
Window (ventana de comandos). Es la ventana de mayor tamao.
Si queremos informacin acerca de las variables que estamos utilizando en MATLAB podemos
verlas en la ventana Workspace (espacio de trabajo) o usar:
whos para obtener la lista de las variables e informacin del tamao, tipo y atributos
(tampoco da valores)
Para ver esta ventana tenemos que pinchar en la pestaa que tiene este nombre. Est en la parte
superior izquierda:
Si lo que se pretende es conocer el valor que tiene una variable lo que hacemos es escribir el
nombre de la variable y pulsar Intro.
Para recordar rdenes previas usamos las flechas del teclado y . Tambin podemos verlas en la
ventana Command History, ventana situada en la parte inferior izquierda:
Suma + a+b
Resta - a-b
Multiplicacin * a*b
Divisin / a/b
Potencia ^ a^b
1. Potencia (^),
Adems, hay que tener en cuenta que MATLAB no tiene en cuenta los espacios.
Si queremos que MATLAB evale la lnea pero que no escriba la respuesta, basta escribir punto y
coma (;) al final de la sentencia.
Si la sentencia es demasiado larga para que quepa en una sola lnea podemos poner tres
puntos () seguidos de la tecla Intro para indicar que contina en la lnea siguiente.
Ejemplos
> >b=4 ; % En este caso, no escribe el valor de b ya que hemos puesto un (;) al fina
> >a+b % realiza la suma de las dos variables y guarda la solucin en la variable ans
ans=
11
En MATLAB :
1.3 Almacenar y recuperar datos
MATLAB permite guardar y cargar datos de los archivos del ordenador. En el men File, la
opcin Save Workspace as guarda todas las variables actuales y Import Data carga variables
de un espacio de trabajo guardado previamente.
Otra forma sera guardar el estado de una sesin de trabajo con el comando save antes de salir de
la siguiente manera:
format
Formato coma fija con 4 dgitos despus de la coma 3.1416
short
format
Formato coma fija con 2 dgitos despus de la coma 3.14
bank
Tecleando clear podemos borrar todas las variables del espacio de trabajo, pero no borra
lo de las dems ventanas, es decir, no desaparece lo que hay escrito en la ventana de
comandos.
Tecleando clc borramos lo que hay en la ventana de comandos pero no borra las variables
de la memoria del espacio de trabajo.
Para cerrar MATLAB podemos hacerlo tecleando quit, cerrando con el aspa tpica de Windows,
entrando en File->Exit Matlab o con las teclas Ctrl+Q.
2. Ayuda en lnea
MATLAB proporciona asistencia de varios modos.
Por ltimo con la orden lookfor <palabra>, busca en todas las primeras lneas de las ayudas de
los temas de MATLAB y devuelve aquellos que contienen la palabra clave que hemos escrito. No
es necesario que la palabra clave sea una orden de MATLAB.
3. Funciones matemticas comunes
3.1 Aproximaciones
(Con x escalar, vector o matriz, pero redondeara en cada caso los elementos individualmente)
3.2 Trigonometra
Funci
Qu hace?
n
a d
Inversa de la funcin trigonomtrica con el resultado expresado en grados
(x)
asind
arco seno (grados)
(x)
asinh
arco seno hiperblico (radianes)
(x)
Funcin Qu hace?
4.Vectores y Matrices.
Para crear un vector introducimos los valores deseados separados por espacios (o comas) todo
ello entre corchetes []. Si lo que queremos es crear una matriz lo hacemos de forma anloga pero
separando las filas con puntos y comas (;).
Ejemplos:
> > x = [1 2 3 4 5] es un vector, los elementos los separamos con espacios
x=
12345
> > y = [2,1,3,7] otro vector con los elementos separados con comas
y=
2137
> > A = [1 2 3; 4 5 6] % es una matriz con 2 filas y 3 columnas
A=
123
456
Nombre
Descripcin
vector
logspace Genera un vector logartmicamente espaciado entre los valores 10^a y 10^b
(a,b,c) con c elementos.
logspace Genera un vector logartmicamente espaciado entre los valores 10^a y 10^b
(a,b) con 50 elementos.
Nombre
Descripcin
matriz
rand (m,n) Crea una matriz m x n de nmeros aleatorios con distribucin uniforme (0,1).
eye (n) Crea una matriz cuadrada n x n de unos en la diagonal y ceros el resto.
Smbolo Expresin
- AB Resta de matrices
Ejemplos:
Definimos tres matrices para poder hacer operaciones entre ellas.
A=B=C=
1 2 1 1 1.0000 + 1.0000i 2.0000 + 2.0000i
3 4 0 1 3.0000 + 1.0000i 4.0000 + 7.0000i
> > A * B % multiplicacin de matrices
ans =
13
37
> > A .* B % multiplicacin elemento a elemento
ans =
12
04
> > C ' % traspuesta conjugada
ans =
1.0000 - 1.0000i 3.0000 - 1.0000i
2.0000 - 2.0000i 4.0000 - 7.0000i
> > C .' % traspuesta
ans =
1.0000 + 1.0000i 3.0000 + 1.0000i
2.0000 + 2.0000i 4.0000 + 7.0000i
> > A + 2 % si sumamos el nmero 2 a la matriz se suma ese nmero a cada elemento
ans =
34
56
Ejemplos:
> > x = [1 2 3]; y = [4 5 6];
> > cross (x,y) % producto vectorial
ans =
-3 6 -3
> > dot (x,y) % producto escalar
ans =
32
5. Texto
La potencia de MATLAB proviene de su capacidad para manipular nmeros, pero en ocasiones es
deseable manipular texto, como suceda cuando colocamos etiquetas o ttulos en las grficas. En
MATLAB las cadenas de caracteres, o simplemente cadenas, son simplemente texto
entrecomillado y se manejan como vectores filas
prueba='Esto es una cadena de caracteres';
prueba
prueba =
pruebainversa=prueba(length(prueba))
pruebainversa = 5
De este modo, son posibles manipulaciones matemticas entre cadenas, sin embargo, los arrays
obtenidos no se visualizaran como cadenas, sino como arrays nmericos usandose el estandar
ASCII para ello.
doble =2*prueba
doble =
Columns 1 through 12
Columns 13 through 24
198 194 200 202 220 194 64 200 202 64 198 194
Columns 25 through 32
prueba+0
ans =
Columns 1 through 12
Columns 25 through 32
abs(prueba)
ans =
Columns 1 through 12
Columns 13 through 24
Columns 25 through 32
setstr(2*prueba)
ans =
@@@@@
AA =
1 2 3
4 5 6
AA(:,:,1) =
1 2 3
4 5 6
AA(:,:,2) =
2 3 4
5 6 7
BB=randn(2,3,2)
BB(:,:,1) =
BB(:,:,2) =
cat(1,A,B)
ans =
0 0 0
0 0 0
111
11 1
cat (2, A, B)
ans =
000
111
000
111
cat (3, A, B)
ans (:,:,1) =
0 0 0
0 0 0
ans (:,:,2) =
1 1
1 1 1
Todas las funciones de MATLAB que operan sobre escalares ( sin (), cos (), etc.) se aplican
sobre hipermatrices elemento a elemento (igual que sobre vectores y matrices). Las operaciones
con escalares tambin se aplican de la misma manera.
Las funciones que operan sobre vectores ( sum(), max(), etc.) se aplican a matrices
e hipermatrices segn la primera dimensin, resultando un array de una dimensin inferior.
Las funciones matriciales propias del lgebra Lineal ( det(),inv(), etc.) no se pueden aplicar a
hipermatrices. Para poderlas aplicar hay que extraer primero las matrices correspondientes (por
ejemplo, con el operador dos puntos (:)).
7. Estructuras
Una estructura (struct) es una agrupacin de datos de tipo diferente bajo un mismo nombre. Estos
datos se llaman miembros (members) o campos (fields). Una estructura es un nuevo tipo de dato,
del que luego se pueden crear muchas variables (objetos o instances). Por ejemplo, la estructura
alumno puede contener los campos nombre (una cadena de caracteres) y carnet(un nmero).
alu .nombre='Miguel'
alu =
nombre: 'Miguel
alu .carnet=75482
alu =
nombre: 'Miguel'
carnet: 75482
alu
alu =
nombre: 'Miguel'
carnet: 75482
Se accede a los miembros o campos de una estructura por medio del operador punto (.), que une
el nombre de la estructura y el nombre del campo (por ejemplo: alu.nombre).Tambin puede
crearse la estructura por medio de la funcin struct(), como por ejemplo,
al = struct ('nombre', 'Ignacio', 'carnet', 76589)
al =
nombre: 'Ignacio'
carnet: 76589
Los nombres de los campos se pasan a la funcin struct () entre apstrofos ('), seguidos del
valor que se les quiere dar. Este valor puede ser la cadena vaca ('') o la matriz vaca ([]).Pueden
crearse vectores y matrices (e hipermatrices) de estructuras. Por ejemplo, la sentencia,
crea un vector de 10 elementos cada uno de los cuales es una estructura tipo alumno. Slo el
elemento 10 del vector es inicializado con los argumentos de la funcin struct (); el resto de los
campos se inicializan con una cadena vaca o una matriz vaca. Para dar valor a los campos de los
elementos restantes se puede utilizar un bucle for con sentencias del tipo:
alum(i).nombre='Noelia', alum(i).carnet=77524;
MATLAB permite aadir un nuevo campo a una estructura en cualquier momento. La siguiente
sentencia aade el campo edad a todos los elementos del vector alum, aunque slo se da valor al
campo del elemento 5,
alum(5).edad=18;
Para ver el campo edad en los 10 elementos del vector puede teclearse el comando:
alum.edad
Fieldnames () devuelve un vector de celdas con cadenas de caracteres que recogen los nombres
de los campos de una estructura
getfield(ST,s) devuelve el valor del campo especificado. Si la estructura es un array hay que
pasarle los ndices como cell array (entre llaves {}) como segundo argumento
MATLAB permite definir estructuras anidadas es decir, una estructura con campos que sean otras
estructuras. Para acceder a los campos de la estructura ms interna se utiliza dos veces el
operador punto (.), como puede verse en el siguiente ejemplo, en el que la estructura clase
contiene un campo que es un vector alum de alumnos,
clase =
curso: 'primero'
grupo: 'A'
clase.alum(2). nombre='Mara';
clase.alum(2). edad=17;
clase.alum(2)
ans =
nombre: 'Mara'
edad: 17
clase.alum(1)
ans =
nombre: 'Juan'
edad: 19
Las estructuras se generalizan con las clases y los objetos, que no se vern en este manual.
8. Vectores o Matrices de celdas (Cell Arrys)
Un vector (matriz o hipermatriz) de celdas es un vector (matriz o hipermatriz) cuyos elementos son
cada uno de ellos una variable de tipo cualquiera. En un array ordinario todos sus elementos son
nmeros o cadenas de caracteres. Sin embargo, en un array de celdas, el primer elemento puede
ser un nmero; el segundo una matriz; el tercero una cadena de caracteres; el cuarto una
estructura, etc.
vc(1)={[1 2 3]}
vc =
[1x3 double]
vc(2)={'mi nombre'}
vc =
vc(3)={rand(3, 3) }
vc =
Es importante que el nombre del vector de celdas vc no haya sido utilizado previamente para otra
variable (si as fuera, se obtendra un error). Si es preciso se utiliza el comando clear. Observe que
para crear un vector de celdas los valores asignados a cada elemento se han definido entre
llaves{}.Otra nomenclatura alternativa y similar, que tambin utiliza llaves, es la que se muestra a
continuacin:
vb{1}=[1 2 3]
vb =
[1x3 double]
vb{2}='mi nombre'
vb =
[1x3 double] 'mi nombre'
vb{3}=rand(3,3)
vb =
vcc =
ST=cell2struct (vb,{'vector','cadena','matriz'},2)
ST =
vector: [1 2 3]
La gran ventaja de las estructuras y los arrays de celdas es que proporcionan una gran
flexibilidad para el almacenamiento de los ms diversos tipos de informacin. El inconveniente es
que se pierde parte de la eficiencia que MATLAB tiene trabajando con vectores y matrices.
significado Smbolo
Igual a ==
Distinto a ~=
Podemos usar estos operadores para comparar arrays del mismo tamao o comparar un array con
un escalar (entonces se compara cada elemento del array con el escalar) . La salida de las
operaciones lgicas se puede utilizar tambin en operaciones matemticas.
AND &
OR |
NOT ~
EXCLUSIVE OR xor
isfinit
Devuelve unos en valores finitos en x
e
2. * / \ .* ./ .\
3. + - ~ +(unario) -(unario)
5. | &
10. Grficos
Matlab posee una serie de comandos para crear interfaces grficas de manera muy sencilla.
> >y1=sin(x);
> >y2=cos(x);
> >plot(x,y1,k-)
> >plot(x,y2,r)
Para desactivar hold simplemente se pone hold off.
Para crear una figura nueva usamos el comando figure(n) donde n es el nmero que le vallamos a
asignar a la figura, automticamente la primera que sale es la figura 1. Este comando es muy til
cuando necesitamos hacer ms de una grfica, sin eliminar las anteriores y adems por separado.
El comando PLOT3D:
Para dibujar grficas de funciones de dos variables se utiliza Plot3D[f,{x,xmin,xmax},{y,ymin,ymax}]
dibuja la funcin f que depende de x e y para los valores de x comprendidos entre xmin y xmax y
los valores de y entre ymin e ymax. Las opciones de Plot3D son las mismas que las de Plot.
Superficies de revolucin:
En versiones anteriores a la 6.0.:Una superficie de revolucin es la superficie que genera una curva
al girar alrededor de un eje. Para dibujarla debemos cargar primero el paquete
"Graphics`SurfaceOfRevolution`".La funcin incluida en este paquete que nos dibuja la superficie
resultado de girar y=f[x] alrededor del eje OY es la siguiente: SurfaceOfRevolution[f,{x,xmin,xmax}].
Tambin podemos girar curvas dadas en ecuaciones paramtricas con:SurfaceOfRevolution[{fx,fy},
{t,tmin,tmax}].
Para grficas de funciones que dependen de dos variables. Z=f(x,y). Veamos, a partir de un
ejemplo, algunos de los comandos de graficacin 3D, como mesh, plot3, surf, etc.
Ejemplo: Dibujar la grfica de la funcin:
> >pot3(x,y,z)
HSV
hot
spring
summer
autumn
winter
cool
Existen an ms cdigos de colores, los que faltan son: gray, bone,copper, pink y lines.
Ahora probemos algn cdigo de los anteriores, usaremos Winter. (Seguimos usando la figura que
obtuvimos con el comando surfc, tambin los cdigos se escriben en minsculas, jet, hot etc,
exepto HSV que va con maysculas).
> >colormap(winter)
11.3 Sentencia IF
Una parte importante de cualquier lenguaje de programacin son las sentencias condicionales. La
sentencia ms comn en Matlab es if, la cual tiene varias formas de uso. La forma ms simple de
la sentencia if es:
if (expresin lgica) sentencia
Lo anterior tiene que ser escrito en una sola lnea.
El flujo de ejecucin es de arriba hacia abajo. Las expresiones condicionales son evaluadas en
secuencia hasta que se encuentra una que es verdadera. Entonces el cdigo asociado es
ejecutado y el control salta a la siguiente sentencia despus de la sentencia endif.
Sentencias if anidadas: La sentencia if puede ser anidada varios niveles. Se debe evitar anidar
muchos niveles de sentencias if ya que es difcil de seguir.
function y = fliplr(x)
% X = 1 2 3 becomes 3 2 1
%456654
[m,n] = size(x);
y = x(:,n:-1:1);
14. Polinomios
Con MATLAB se puede trabajar con polinomios de forma sencilla. Es suficiente tener en cuenta
que un polinomio no es nada ms que un vector, en que el orden de los coeficientes va de mayor a
menor grado.
Ejemplo
p(x) = 8x4 - 5x3 + x2 + 3x + 4
p=[8-5134]p=8-5134
Funciones bsicas:
Calcula las races de un polinomio cuyos coeficientes son los elementos del vector p.
q=[1-56]q=1-56
roots(q) ans = 3 2
poly(v): Construye un polinomio a partir de sus races
Retorna un vector (polinomio) cuyos elementos son los coeficientes del polinomio cuyas races son
los
elementos de v.
v = roots(q) v = 3 2
q =poly(v) q = 1 - 5 6
conv viene de convolucin, en el caso de los vectores convolucionar dos vectores es equivalente a
multiplicarlos.
El resultado es un vector de longitud = longitud(p)+longitud(q)-1
Ejemplos.
Para
p=35286q=62178
polyval(p,-1)
ans =
-2
conv(p,q)
% producto de p por q
ans =
1 36 25 78 113 74 78 106 48
deconv(p,q)
ans =
0.5000
roots(p)
ans =
-1.7793
0.4292 + 1.1502i
0.4292 - 1.1502i
-0.7458
fplot('nombre',[a,b])
15.2 Minimizacin
Para encontrar mnimos de funciones unidimensional y n-dimensional usamos, respectivamente,
las funciones:
fmin('nombre_funcin',a,b)
fmins('nombre_funcin',a)
15.3 Localizacin de ceros
Para buscar el cero de una funcin unidimensional usamos:
fzero('nombre_funcin',a)
Tambin puede utilizarse para encontrar dond una funcin es igual a cualquier constante.
++15.4 Integracin
Matlab proporciona tres funciones para calcular numricamente el rea bajo una funcin sobre un
rango finito: trapz, quad, quad8.
La funcin trapz(x,y) aproxima la integral bajo una funcin al sumar el rea de los trapezoides
formados con los puntos.
Las funciones quad y quad8 realizan aproximaciones de un orden ms elevado que un simple
trapezoide. Funcionan igual que fzero.
++15.5 Diferenciacin
Matlab proporciona una funcin para calcular una aproximacin de la derivada muy poco precisa,
dados los datos que describen alguna funcin. Esta funcin, llamada diff, calcula la diferencia entre
los elementos de un array.
inicial t0, a un instanfe final tf, comenzando con la condici inicial y0.
Ejemplo.
x=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1]; %Datos.
y=[-.447 1.987 3.28 .6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2] %Datos.
p=
xi=linspace (0,1,100)
ploy(x,y,'o',x,y,xi,z,':')
pd =
-19.6217 20.1293
function nombre (el nombre de la funcin debe coincidir con el nombre del fichero)
Lo que debemos escribir a continuacin es el comando mcc seguido de m y el nombre del fichero:
mcc -m Trabajo
A continuacin aparecer en el directorio un ejecutable con el nombre Trabajo y una carpeta con
varios archivos
Ejemplo:
Creamos un fichero que va a ser una funcin que a su vez va a llamar a otras dos funciones que
tambin hemos creado nosotros:
Fichero .m:
% trabajo
function trabajo
x = input ('Escribe un nmero: ');
y = input ('Escribe otro nmero: ');
disp ('La suma es')
suma (x,y)
disp ('La resta es')
resta (x,y)
pause %para que no se cierre la ventana automticamente al ejecutarse
Fichero suma.m:
% suma
function m = suma (tt,xx)
m = tt + xx;
Fichero resta.m:
% resta
function m = resta (tt,xx)
m = tt - xx;
Despus de situarnos en el directorio correspondiente escribimos:
mcc -m Trabajo
seleccionarlo en el botn donde pone Abrir. Aparecer una nueva ventana similar a sta:
diary my_data.out
Despus escribimos bien la matriz (o bien la llamamos si ya estuviera almacenada en el
workspace).
Es este caso creamos la matriz A:
01
01
A= 0 1
01
01
Escribimos:
diary off
Ahora para abrirlo buscamos el documento llamado my_data.out que se encuentra en:
15+6
ans =
21
x=15+6
x=
21
x=
21
Guarda en la variable y el resultado de multiplicar 12 y 2:
y=12*2
y=
24
x+y
ans =
45
z=y-x;
z=
3
cos(pi)
ans =
-1
cosd(180)
ans =
-1
exp(1)
ans =
2.7183
Calcula la raz cuadrada de -16:
sqrt(-16)
ans =
0 + 4.0000i
2/3
ans =
0.6667
format long
2/3
ans =
0.666666666666667
format short
2/3
ans =
0.6667
Haz que aparezcan por pantalla las variables que ests utilizando:
who
whos
Name Size Bytes Class Attributes
Ans 1x1 8 double
x 1x1 8 double
y 1x1 8 double
z 1x1 8 double
Borra la variable z:
clear z
Vuelve a hacer que aparezcan por pantalla las variables que ests utilizando:
who
v=[1 2 3 4];
w=[5 6 7 8]
w=
5678
v'
ans =
1
2
3
4
Crea un vector llamado v2 donde sus elementos vayan desde el 2 al 17 creciendo de 3 en 3:
v2=2:3:17
v2 =
2 5 8 11 14 17
Crea un vector v3 donde sus elementos vayan desde el 2 al 20 y que en total tenga 10 elementos:
v3=linspace(2,20,10)
v3 =
2 4 6 8 10 12 14 16 18 20
v3(4)
ans =
8
1234
Crea la matriz M= 5 6 7 8
9 10 11 12
1234
M= 5 6 7 8
9 10 11 12
M'
ans =
159
2 6 10
3 7 11
4 8 12
M(2,:)
ans =
5678
Calcula el rango de M:
rank(M)
ans =
2
trace(M)
ans =
19
eye(4)
ans =
1000
0100
0010
0001
Crea la matriz nula de tamao 3x3:
zeros(3)
ans =
000
000
000
Crea la matriz cuadrada de unos de tamao 2x2:
ones(2)
ans =
11
11
Averigua las dimensiones de la matriz M:
size(M)
ans =
34
Crea una matriz llamada M2 que tenga por diagonal el vector v y el resto sean todo ceros:
M2=diag(v)
M2 =
1000
0200
0030
0004
tril(M)
ans =
1000
5600
9 10 11 0
triu(M)
ans =
1234
0678
0 0 11 12
Calcula una matriz que tenga por elementos todos los elementos de la matriz M elevados al
cuadrado:
M.^2
ans =
1 4 9 16
25 36 49 64
81 100 121 144
M(:,3)=[]
M=
124
568
9 10 12
Calcula el determinante de M:
det(M)
ans =
0
roots(p)
ans =
6.0000
-4.0000
-1.0000
polyval(p,1)
ans =
-50
polyval(p,w)
ans =
-54 0 88 216
Crea un polinomio q que tenga por races los elementos del vector v:
q=poly(v)
q=
1 -10 35 -50 24
conv(p,q)
ans =
1 -11 19 151 -596 436 576 -576
Calcula la divisin del polinomio obtenido como solucin entre el polinomio q:
deconv(ans,q)
ans =
1 -1 -26 -24
v=
1234
w=
5678
v.*w
ans =
5 12 21 32
dot(v,w)
ans =
70
Calcula el producto del vector traspuesto de v con el vector w:
v'*w
ans =
5678
10 12 14 16
15 18 21 24
20 24 28 32
plot(x,y)
a='guacamole';
Haz que aparezca en pantalla la representacin ASCII del valor almacenado en la variable a:
abs(a)
ans =
103 117 97 99 97 109 111 108 101
Crea un pequeo programa que escriba por pantalla BUENOS DAS y a continuacin los 15
primeros nmeros pares (usando un for):
disp('BUENOS DAS')
for i=1:15
disp(2*i)
end
diff('sin(2*x)+tan(x^2)')
ans =
2*cos(2*x)+2*(1+tan(x^2)^2)*x
A abs all angle ans any area asin asind asinh axis
calendar cat ceil cell celldisp cellplot clabel clc clear clock colorbar colormap complex
C cond conj continue contour contour3 conv corrcoef cos cot cov cross csc cumprod
cumsum
feval fieldnames fill fill3 find fix fliplr flipud floor fminbnd for format bank format hex format
F long format long e format long eng format long g format rat format short format short e
formatshort eng format short g format + fplot function funm fzero
G gcd grid
i if imag inf inv invhilb iqr iscell ischar isempty isequal isfield isfinite isfloat isinf isinteger
I
islogical isnan isnumeric isprime isreal isscalar isspace isstruct
J j
L lcm length linspace load log loglog logm logspace log2 log10 lookfor lu