Está en la página 1de 45

1.1.1.

AMBIENTE DEL PROGRAMA Y COMANDOS BASICOS


MatLab es un programa interactivo para computación numérica y visualización de datos. Es
ampliamente usado por Ingenieros de Control en el análisis y diseño, posee además una
extraordinaria versatilidad y capacidad para resolver problemas en matemática aplicada, física,
química, ingeniería, finanzas y muchas otras aplicaciones. Está basado en un sofisticado software
de matrices para el análisis de sistemas de ecuaciones. Permite resolver complicados problemas
numéricos sin necesidad de escribir un programa.

MATLAB es un entorno de computación y desarrollo de aplicaciones totalmente integrado


orientado para llevar a cabo proyectos en donde se encuentren implicados elevados cálculos
matemáticos y la visualización gráfica de los mismos.

MATLAB integra análisis numérico, cálculo matricial, proceso de señal y visualización gráfica en un
entorno completo donde los problemas y sus soluciones son expresados del mismo modo en que
se escribirían tradicionalmente, sin necesidad de hacer uso de la programación tradicional.

Uso de Matrices

MatLab emplea matrices porque con ellas se puede describir infinidad de cosas de una forma
altamente flexible y matemáticamente eficiente. Una matriz de pixeles puede ser una imagen o
una película. Una matriz de fluctuaciones de una señal puede ser un sonido o una voz humana. Y
tal vez más significativamente, una matriz puede describir una relación lineal entre los
componentes de un modelo matemático. En este último sentido, una matriz puede describir el
comportamiento de un sistema extremadamente complejo. Por ejemplo una matriz puede
representar el vuelo de un avión a 40.000 pies de altura, o un filtro digital de procesamiento de
señales
.
MATLAB es el nombre abreviado de “MATRIX LABORATORY”, es una herramienta informática para
realizar:

 Cálculos numéricos con vectores y matrices. Como caso particular también puede trabajar
con números escalares – tanto reales como complejos, con cadenas de caracteres y otras
estructuras de información más complejas.
 Amplia variedad de gráficos en dos y tres dimensiones
 Simulaciones
 Programación mediante su propio lenguaje.

En la gráfica de la parte superior se muestra el ambiente de trabajo (IDE) que permite interactuar
con el programa:

1) Command Window: Ventana de interacción directa de comandos.


2) Current Directory: Directorio de ruta actual de trabajo en el computador.
3) Command History: Muestra los comandos o instrucciones previamente ejecutados, historia
del trabajo realizado por cada sesión y fecha.
4) Workspace: Espacio de trabajo usado en determinado momento por variables y funciones
de usuario.
5) Menú Principal: Permite administrar/configurar el ambiente de trabajo por medio de
opciones.

Notas de interés para su utilización:

Los programas escritos en MatLab presentan la extensión *.m

Desde la línea de comandos (command window) se puede invocar las diferentes ayudas de los
comandos que se utilizan en esta herramienta:

>>help

>>help lang

En la primera instrucción se mostraran todos los temas intervenidos, indicando su ruta de


instalación.

Con la segunda se mostraran las instrucciones para utilizar en el lenguaje de programación.

Para limpiar la ventana de comandos se debe teclear la palabra clc y finalizar con enter (lo cual se
debe hacer para todas las instrucciones que se quiera ejecutar), si la línea de la instrucción no se
desea ejecutar se debe finalizar con punto y coma (;)

En muchas ocasiones resulta necesario interrumpir el trabajo (sesión de trabajo), y continuarlo


posteriormente, para ello en matlab se cuenta con la grabación de variables y estados de sesión
mediante los comandos sabe y load.

>>sabe
Antes de abandonar el programa se crea en el direcorio actual un fichero binario llamado
matlab.mat con el estado de la sesión (excepto los graficos). Al iniciar nuevamente al programa se
debe teclear (si se desea continuar la sesión interrumpida)

>>load

COMANDOS BASICOS
Números y operaciones básicas
El programa trabaja con diferentes tipos de números y expresiones numéricas: números enteros,
racionales, reales y complejos.

Operaciones básicas
Comenzaremos realizando con el programa las operaciones más básicas entre números.
Trabajamos en la ventana de Command window y para ello se utilizan las convenciones
matemáticas estándar.
Por ejemplo, para sumar (figura 6):
>> 2+2
ans 4

Figura 6
En general las operaciones básicas a realizar se hacen según la siguiente tabla y con la jerarquía
habitual entre ellas:
Nota: Por defecto Matlab trabaja con unos dígitos de aproximación para números decimales. Esto
puede cambiarse.

Estableciendo la precisión de los cálculos

MATLAB trabaja siempre en doble precisión, es decir, guardando cada dato en 8 bytes, con 15
cifras decimales exactas. El formato con el que los datos aparecen en pantalla es variable. Existen
varios modos de trabajo, se indican a continuación los más significativos:

El modo de trabajo por defecto en MATLAB es format short.

Ejemplos:

>>3^100
5.1538e+047

>>5+pi
8.1416

>>format short e

>>3^100
5.1538e+047

>>5+pi
8.1416 e+000

>>format long

>>3^100
5.153775207320113e+047

>>5+pi
8.14159265358979

>>format long e
>>3^100
5.153775207320113e+047

>>5+pi
8.141592653589793e+000

>> format rat

>> 5+pi
920/113

Tecleando format se vuelve al formato por defecto, es decir, format short.

Números complejos

Matlab integra perfectamente el trabajo con números complejos. La letra minúscula i ó j


representa el número imaginario √−1 (la unidad imaginaria). De esta manera los números
complejos se representan mediante expresiones del tipo a+bi ó a+bj.

Existen funciones específicas que actúan sobre los números complejos:

Variables
Las variables en Matlab tienen forma matricial: fila y columna. Así, si trabajamos con una variable
unidimensional se crea con la forma de una fila y una columna. Para hacerlo sólo debemos teclear
el nombre elegido e igualarlo a su valor:
>> a=8

Guardar variables y recuperarlas


Normalmente es de gran interés guardar los valores de las variables con las que se ha trabajado en
una sesión. Bien porque debe interrumpirse la misma y quiere recuperarse más adelante, o bien
para utilizarse en nuevos trabajos relacionados con el que se ha realizado.
La forma más básica de guardar las variables es a través del menú File o del botón de guardar
situado en la ventana del Workspace (figura8):

O a través de del menú desplegado al pinchar con el botón derecho del ratón sobre la variable
situada en el Workspace (figura 9). Esta opción nos permite guardar sólo las variables
seleccionadas. Destacar que esto también ofrece la posibilidad de eliminar la variable. Algo que
puede hacerse de forma global desde el menú Edit, submenú Clear
Workspace.

Figura 9
Realizar cualquiera de estos procesos nos permite crear un fichero de extensión .mat con el
nombre deseado cuyo contenido serán las variables que se quieren guardar. Al hacerlo, si lo
guardamos en el directorio actual aparecerá dicho fichero en la lista de los que tenemos a nuestra
disposición.

Si en una nueva sesión queremos recuperar dichas variables sólo tenemos que cargar el fichero
.mat, bien pinchando dos veces sobre su nombre en la ventana del directorio actual o bien a
través del menú File, submenú Open.

Guardar sesiones de trabajo


Existen varios caminos para guardar lo realizado en una sesión de trabajo o en parte de ella:

Copiar la parte que nos interese del Command Window y abrir un fichero .m. (figura 10).

Figura 10

1.1.2. COMANDOS PARA OPERACIONES ARITMETICAS


Para realizar los cálculos aritméticos (suma, resta, multiplicación, división y potenciación) con
MATLAB es suficiente tener en cuenta:
Símbolos utilizados para las operaciones:

Orden de prioridad de las operaciones: las expresiones se evalúan de izquierda a derecha; la


operación potencia tiene el orden de prioridad más alto, seguido por multiplicación y división que
tienen ambas igual prioridad y seguidas, finalmente, por suma y resta con igual prioridad.

Se pueden emplear paréntesis para alterar esta ordenación, en cuyo caso la evaluación se inicia
dentro del paréntesis más interno y se prosigue hacia afuera.

Ejemplo Realizar los siguientes cálculos:

Solución: En la ventana de comandos se escribe

Variables

Hasta aquí los cálculos se realizan igual que en una calculadora. La introducción de variables ofrece
nuevas posibilidades. Supongamos que queremos calcular el área de un triángulo de base 21.3 m y
altura 12.6 m. De acuerdo con lo visto en la sección anterior, este cálculo se puede realizar así:

Otra posibilidad es utilizar las variables base, altura, área y realizar los cálculos de la siguiente
forma:

Las variables base, altura, área permanecen en el espacio de trabajo con los últimos valores
asignados y pueden ser llamadas o modificadas cuantas veces se desee.

Observación: La modificación de la variable altura no cambia el valor de la variable área si ésta no


se vuelve a calcular
Reglas para nombrar variables

 Las letras mayúsculas y minúsculas son distintas a efectos de nombrar variables. Por
ejemplo, son diferentes las variables base, Base, BASE.
 El nombre de una variable puede tener hasta 31 caracteres; si hubiese más serían
ignorados.
 El nombre de una variable debe comenzar obligatoriamente por una letra. Puede contener
letras, números y el guión de subrayado (_); no se permiten espacios en blanco.
 No es conveniente nombrar variables mediante expresiones que tengan un significado
específico en MATLAB: Por ejemplo, no es aconsejable utilizar log como nombre de
variable ya que ésta es la designación de la función logarítmica en MATLAB.

Como regla general es aconsejable que el nombre de una variable sea indicativo de su contenido.

Algunas variables predefinidas en MATLAB

Hay algunas variables que, por defecto, tienen un valor asignado. Podemos citar:

 ans Es la variable que, por defecto, contiene los resultados.


 pi Contiene el valor del número real π.
 eps Es el número positivo más pequeño que sumado a 1 genera un número mayor que 1
en el ordenador.
 Inf o inf Representa el valor infinito. Se obtiene, por ejemplo, en caso de overflow o
división por cero.
0
 NaN o nan (Not a Number) Representa una expresión indeterminada, por ejemplo: .
0
 i o j Representa la unidad imaginaria i = j = √−1

Borrar variables

Para borrar variables se utilizan las órdenes:

 clear x y Borra las variables x e y.


 clear Borra todas las variables de la sesión de trabajo.

Funciones predefinidas

MATLAB incorpora una serie de funciones que se corresponden con las funciones matemáticas
más utilizadas.

Para las funciones elementales en MATLAB se utiliza la siguiente notación:


La correspondencia con la notación que se usa habitualmente en matemáticas es la siguiente:

En particular, exp(1) proporciona el número e=2.7182...

Otras funciones predefinidas en MATLAB de uso frecuente son:

1.2.1 Notación para la representación de vectores y matrices


Notación
Operaciones con matrices

Algunos tipos de matrices


Más tipos de matrices

Matrices invertibles

1.2.2 Operaciones elemento a elemento


Operaciones con Escalares
Las expresiones que contienen escalares y operaciones escalares pueden evaluar y almacenar en
una variable especificada, como en la siguiente instrucción, que especifica que los valores de a y b
se sumen y la suma se almacene en x:
Esta instrucción de asignación debe interpretarse así: el valor que está en a se suma al valor que
está en b y la suma se alacena en x.
Es importante tener presente que una variable solo puede almacenar un valor a la vez.
Las operaciones aritméticas entre dos escalares se muestran en la siguiente tabla:

Operaciones con Arreglos


Las operaciones de arreglos se ejecutan elemento por elemento. Por ejemplo, suponga que A y B
son vectores de fila con cinco elementos. Una forma de generar un nuevo vector de fila C cuyos
valores sean los productos de los valores correspondientes de A y de B es la siguiente:

Estos comandos son en esencia comandos escalares porque cada uno multiplica un solo valor por
otro y almacena el producto en un tercer valor. Para indicar que queremos realizar una
multiplicación elemento por elemento entre dos matrices del mismo tamaño, usamos un asterisco
precedido por un punto. Así, las cinco instrucciones anteriores pueden ser sustituidas por la
siguiente:

No poner el punto antes del asterisco es una omisión grave porque en tal caso la instrucción
especifica una operación de matrices, no una operación elemento por elemento.
En el caso de la suma y la resta, las operaciones de arreglos y las de matrices son iguales, así que
no necesitamos distinguir entre ellas. En cambio; las operaciones de arreglos para multiplicación,
división y exponenciación son diferentes de las operaciones de matrices para multiplicación,
división y exponenciación, así que necesitamos incluir un punto para especificar una operación de
arreglos. Estas reglas se resumen en la siguiente tabla:
Las operaciones elemento por elemento, u operaciones de arreglos, no solo se aplican a
operaciones entro dos matrices del mismo tamaño, sino también a operaciones entre un escalar y
un no escalar. Así, las dos instrucciones de cada uno de los siguientes juegos de instrucciones son
equivalentes para una matriz A:

Las matrices resultantes B y C tendrán el mismo tamaño que A.

1.2.3. Comandos que generan matrices


Matrices en Matlab Para introducir una matriz en Matlab se procede de la forma siguiente. Si por
ejemplo tenemos la matriz
A=12345678 se introduce como:
>>A=[1 2 3 4; 5 6 7 8]
A = 1 2 3 4 5 6 7 8 O bien,
>>A=[1,2,3,4;5,6,7,8];
Observemos que unas matrices especiales son los vectores, de esta forma, el vector fila v = (1.0,
1.1,1.2,1.3, . . . , 1.9,2.0), se escribe en Matlab como
>>v=[1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0]
2. Operaciones y comandos para Matrices Hemos visto cómo se introducen las matrices en
Matlab. Veamos un ejemplo para introducir algunos de los comandos básicos: Ejemplo 1
Operaciones Elementales Definimos dos matrices:
>>A=[2 1;3 2] A = 2 1 3 2
>>B=[3 4;-1 5] B = 3 4 -1 5
• Para sumar las dos matrices:
>>A+B
ans = 5 5 2 7
• Para multiplicar una matriz por un escalar:
>>3*A
ans = 6 3 9 6
• Producto de matrices:
>>C=A*B C = 5 13 7 22
Siempre que los tamaños de las matrices sean los adecuados. Para saber cuál es el tamaño de una
matriz con la que estamos trabajando,
>>size(A)
ans = 2 2 Que quiere decir, evidentemente, 2 filas y 2 columnas.
• Para calcular la matriz transpuesta:
>>A’ ans = 2 3 1 2

1.2.4 Operaciones entre matrices


Declaración de una matriz de 3x3

Dada una matriz:

>> A=[1 -2 3;4 1 -1;2 -1 3];


>> B=[ 11; 4; 10];

A =
2
-3
1

Nota: Se usa "[" para empezar a declarar la matriz; se cierra con "]". Para pasar a la segunda
fila agrego un ";" y cada componente esta separado por un "espacio". Recuerde que si no
quiere ver la salida del comando ingrese ";" al final.
Suma de matrices
Suponga que quiero hacer la siguiente operación entra las matrices a y b. Cabe aclarer que las
matrices tiene que ser de las mismas dimensiones, para este ejemplo se definieron dos matrices
de 2x2.
Código en Matlab:

>> a=[2 .5;1 3];b=[2 1;.5 3]; %Declaración de las matrices.


>> a+b

ans =

4.0000 1.5000
1.5000 6.0000
Multiplicación de matrices
Para multiplicar dos matrices (axb), "a" tiene que tener la misma cantidad columnas que la
cantidad de filas que b. El resultado de la multiplicación sera entonces igual a la cantidad de filas
de "a" y tendra tantas columnas como "b". Dada una matriz A de 3 filas x 3 columnas(3x3) y una
matriz B de 3x2; podemos verificar que el producto es posible y el resultado de la multiplicación
sera de una matriz de 3x2.
Ejemplos en Matlab:

A=[0.1 0.3 0.3;2 3 9;2 4 1];


>> B=[2 3;1 1;1 10];
>> A*B
ans =
0.8000 3.6000
16.0000 99.0000
9.0000 20.0000

Que pasa ahora si le pedimos a Matlab que haga el producto de BxA??


Inversa de una matriz
Dada una matriz A:

Quiero calcular la inversa de dicha matriz:

>> A=[0.1 0.3 0.3;2 3 9;2 4 1];


>> inv(A)
ans =
-15.7143 0.4286 0.8571
7.6190 -0.2381 -0.1429
0.9524 0.0952 -0.1429

Cálculo del determinante


Dada una matriz A, se desea calcular el determinante de dicha matriz.
Código en Matlab:

>> A=[1 2 3;2 3 4;3 4 5]


>> det(A)
ans =
0

Matriz Transpuesta
Para calcular la traspuesta de una matriz en matlab utilizo el carácter especial "'".
Ejemplo en Matlab:
>> A=[2 .5;1 3]

A =

2.0000 0.5000
1.0000 3.0000

>> A'

ans =

2.0000 1.0000
0.5000 3.0000

Selección de un componente de una matriz


Por ejemplo selecciono el componente de la fila 1 columna 2.

>> A=[1 10;2 3];


>> A(1,2)
ans =
10

Selección de toda la fila 1:

>> A(1,:)
ans =
1 10

OPERACIONES CON MATRICES


1.3.1. SUB INDICES DE VECTORES Y MATRICES
Se pueden definir “subvectores” o submatrices muy fácilmente. Si definimos v como:
>> v = [0:2:8]
v=
0 2 4 6 8
Podemos definir un vector e que sean las tres primeras componentes del vector v como:
>> e=v (1:1:3)
e=
0 2 4

Esta orden es equivalente a la siguiente, pues cuando el incremento es la unidad:


>> e=v (1:3)
e=
0 2 4
Como comentamos al principio, la notación usada por Matlab sigue en lo posible la notacion
estandar de ´Algebra Lineal que ya conoc´eis. Es muy sencillo multiplicar matrices y vectores,
teniendo cuidado de que las dimensiones sean las adecuadas.

>> A*v(1:3)
??? Error using == *
Inner matrix dimensions must agree.
>> A*v(1:3)’

ans =
16
28
46

Acostúmbrate a ver ese mensaje de error! Una vez que empiezas a trabajar con vectores y
matrices, es sencillo olvidar los tamaños de los objetos que has creado.

1.3.2. DIMENSION.
Sintaxis
d = size(A)
[m, n] = size(A)
d = size(A, n)
Supongamos que Aes un m-by- nmatriz simbólica o numérica. La declaración d = size(A) devuelve
un vector numérico con dos componentes enteros, d = [m,n].
La instrucción de asignación múltiple [m, n] = size(A) devuelve los dos números enteros en dos
variables independientes.
La declaración d = size(A, n) devuelve la longitud de la dimensión especificada por el escalar n. Por
ejemplo, size(A,1) es el número de filas de Ay size(A,2)es el número de columnas de A.
Ejemplos Las declaraciones abcd syms
A = [abc; abd; DCB; cba];
d = size (A)
r = size (A, 2)
ans.
d=
43
r=
3
1.3.4. Redimensionamiento de matrices

La función reshape

Teniendo en cuenta como se almacena una matriz en MatLab, fácilmente podemos comprender
que el tamaño de una matriz no es importante y que solo es necesario una pequeña función para
dar a una matriz la forma que queramos (siempre que el número de elementos no cambie). La
función MatLab que permite redimensionar una matriz es reshape.
Como con las otras funciones, para obtener ayuda acerca de esta función escribe en la ventana de
MatLab help reshape o doc reshape para obtener ayuda más detallada.
Para comprender la acción de la instrucción reshape, tan solo debemos saber que
redimensionando una matriz T en una matriz M, los elementos de T son tomados en orden
creciente de su indexación lineal y son colocados en M en el mismo orden.
B = reshape(A,sz)
ejemplo
 B = reshape(A,sz1,...,szN)
ejemplo
Descripción
B = reshape(A,sz)forma de nuevo A usando el vector de tamaño, sz para definir size(B). Por
ejemplo, reshape(A,[2,3])forma de nuevo A en una matriz de 2 por 3. Sz debe contener al menos 2
elementos, y prod(sz)debe ser el mismo que numel(A).
B = reshape(A,sz1,...,szN) remodela A en un sz1-by- ...-by- szN matriz en donde sz1,...,szN indica el
tamaño de cada dimensión. Puede especificar una única dimensión del tamaño []para tener el
tamaño de dimensión incluye de forma automática, de manera que el número de elementos en B
coincida con el número de elementos en A. Por ejemplo, si Aes una matriz de 10 por 10,
entonces reshape(A,2,2,[])cambia la forma de los 100 elementos de A en una matriz de 2 por 2-
por-25.
Cambiar la forma de un vector 1-por-10 en una matriz de 5 x 2.
A = 1:10;
B = cambio de forma (A, [5,2])
B=
16
27
38
49
51

1.3.5 Eliminar filas y columnas de la matriz


Usted puede borrar filas y columnas de una matriz mediante la asignación de la matriz vacía []a
esas filas o columnas. Empezar con
A = magic (4)
A=
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
A continuación, elimine la segunda columna de Ausar
A (:, 2) = []
Esto cambia la matriz A de
A=
16 3 13
5 10 8
9 6 12
4 15 1
Si se elimina un solo elemento de una matriz, el resultado no es una matriz más. Así como
expresiones
A (1,2) = []
Resultar en un error. Sin embargo, puede utilizar la indexación lineal para eliminar un solo
elemento, o una secuencia de elementos. Esta nueva forma a los elementos restantes en un
vector fila:
A (2: 2: 10) = []
Resultados en
A=
16 3 6 13 12 1
1.4 Graficas en dos dimensiones
El comando básico para graficar es plot. Cuando es usado con un solo vector como argumento,
gráfica en el eje X el índice del componente del vector, y en el eje Y, el valor de éste.

>> x=[3 2 6 5 3];


>> plot(x)

Lo que nos da como resultado esta imagen:


Si se entregan dos vectores en la función plot (éstos deben ser del mismo tamaño), el
primer vector pasa a ser la lista de coordenadas del eje X, y el segundo, la lista del eje Y.

Gráfico del sen


Este es otro ejemplo de como utilizar la función plot ingresandole las 2 variables x e y. Cabe
notar que también se activo la grilla para poder visualizar con más precisión los detalles de los
cruces por ceros, etc.

>> x=0:0.1:4*pi; %Genero un vector de una dimensión el primer valor


es cero y después se va incrementando a razón de 0.1 hasta 4 pi.
>> plot(x,sin(x)); %Gráfico el seno de x.
>> grid on %Activo la grilla.

Para mayor información, ejecute help plot.


1.5 Graficas y su edición

1.5.1 Elementos y estilos de una grafica


MATLAB tiene un gran potencial de herramientas gráficas. Se pueden dibujar los
valores de un vector frente a otro (de la misma longitud):
>>x=pi*(-1:0.1:1);
>>y=x.*sin(x);
>>plot(x,y) % Por defecto une los puntos (x(i),y(i)) mediante una poligonal

Como se ve, con pocos puntos la gráfica tiene un aspecto demasiado lineal a
trozos. Para "engañar" al ojo, basta tomar más puntos.

>>x=pi*(-1:0.01:1);
>>y=x.*sin(x);
>>plot(x,y)

También pueden dibujarse funciones. Así:


>>fplot(f,[0 2*pi]) % Dibuja la función anónima sin(x) (definida antes) en el
intervalo [0,2*pi]

>>hold on % Mantiene en la ventana gráfica los dibujos anteriores


>>fplot(g,[0 2*pi]) % Dibuja, sobre la gráfica anterior, la función simbólica cos(x)
definida anteriormente

>>hold off % Con esto olvida los dibujos anteriores y dibuja en una ventana
nueva

>>fplot(@(x) x.^2.*sin(1./x),[-0.05 0.05]) % Dibuja la función x^2*sin(1/x)

También puede usarse el versátil comando ezplot (easy-to-use plot) que permite
dibujar funciones definidas mediante cadenas de caracteres,

>>ezplot('exp(x)') % Dibuja la función exponencial en un intervalo adecuado a la


función

curvas en paramétricas,

>>ezplot('sin(t)','cos(t)',[0 pi])

e implícitas

>>ezplot('x^2-y^2-1')

También permite dibujar superficies. La forma más sencilla es mediante el


comando ezsurf,
>>ezsurf('sin(x*y)',[-2 2 -2 2])

aunque se pueden realizar gráficas más sofisticadas:

>>t=0:0.001:0.009;
>>v=900:1025;
>>[T V]=meshgrid(t,v);
>>aux1=16*pi^2*(T.^2).*((V-918).^2).*((V-1011).^2);
>>aux2=aux1+(2*V-1929).^2;
>>w=T./aux2;
>>z=35000000*w;
>>surfl(t,v,z) % Dibuja la superficie creada mediante las órdenes anteriores.
>>shading interp % Este comando y el siguiente sirven para modificar el dibujo
obtenido.
>>colormap(pink)
>>rotate3d % Sirve para girar la figura mediante el ratón.

1.5.3 Graficas superpuestas


.

1.6 Graficas en el espacio


Representación de superficies
a) Representa la superficie de ecuación 2 2 z x y en el rectángulo
R [ 3,3] [ 3,3]. Dibuja en una misma figura seis gráficas
probando los comandos: surf, surfc, mesh, meshc,
contour, contour3 y plot3.
b) Representa la superficie del apartado a) utilizando las
ecuaciones paramétricas,
2 x u v cos , sen , y u v zu
para 0 5, 0 2 uv .

Solución:
Código Matlab:
(a) [X,Y]=meshgrid(-3:.2:3,-3:0.2:3);
Z=X.^2.+Y.^2;
subplot(2,3,1); surf(X,Y,Z)
subplot(2,3,2); mesh(X,Y,Z)
subplot(2,3,4); surfc(X,Y,Z)
subplot(2,3,5); meshc(X,Y,Z)
subplot(2,3,3); plot3(X,Y,Z)
subplot(2,3,6); contour(X,Y,Z,6)
(b) u=0:.1:5;v=0:pi/50:2*pi;;
[U,V]=meshgrid(u,v);
X=U.*cos(V); Y=U.*sin(V); Z=U.^2;
subplot(2,2,1); surf(X,Y,Z)
subplot(2,2,2); mesh(X,Y,Z)
subplot(2,2,3); meshc(X,Y,Z)
subplot(2,2,4); contour3(X,Y,Z,8)
Representación paramétrica de curvas (a) Representar la hélice circular cos sen con 2 x t
yt t t z              (b) Representar la hélice elíptica cos 2sen con 5 x t yt t t
z

Solución: Código Matlab (a) %Se define el rango del parámetro. Se declaran %las
variables en función del mismo y, por la %instrucción ‘plot3’ se dibuja la hélice circular
sobre el %espacio. t=linspace(0,4*pi,1000);x=cos(t);y=sin(t);z=t/(2*pi); plot3(x,y,z); grid
on %Declarando el parámetro simbólicamente podemos %representar la hélice circular
a través de la %instrucción ’ezplot3’ syms t x=cos(t);y=sin(t);z=t/(2*pi);
ezplot3(x,y,z,[0,4*pi]) %Se explicita el dominio del parámetro, ya que %por defecto
MATLAB hubiese tomado el intervalo [0,2*pi] (b) t=linspace(0,4*pi,1000); x=cos(t);
y=2*sin(t); z=t/5; plot3(x,y,z) %Para ver el dibujo con la misma escala en los %tres ejes
sólo necesitamos escribir axis equal

1.7 Edicion y control de graficas


1.7.1 Graficas 3D utilizando el comando EZ
Las librerías de funciones ez contienen las siguientes para realizar graficos 3D.
1. Ezplot3(). Esta función permite graficar curvas paramétricas en el espacio. Supongamos
que una curva paramétrica en el espacio viene dada por las funciones x(t), y(t), z(t)
ezplot3() por defecto asumirá que t ∑(0,2π). Ejemplo.

2. Ezcountour(). Las generación de curvas de nivel de curvas de nivel es sumamente sencilla


con la función ezcontour(). Tan solo especificamos la función de la forma z=f(x,y) y
podemos especificar el dominio de x e y deseando, por defecto x, y ∑(-2π, 2π). Por
ejemplo.
3. Ezsurf(). Para producir sorprendes graficos 3D todo lo que necesitas es especificar la
función a dibujar de forma z=f(x,y) y especificar el dominio para graficar. Por ejemplo

4. Ezsurfc(). Para combinar las curvas de nivel y grafica de una superficie, utilizamos esta
variante de ezsurf(). Por ejemplo

1.7.2 Comando Inline – fuction


Matlab nos proporciona lo que conocemos como ‘inline functions’ o en español como ‘funciones
en linea’ o ‘de linea‘, esto nos permite crear en la misma ventana de comandos, una corta función
que puede ser llamada de forma repetida, supongamos que quiero hacer una función f(x) =
sen(x)/x, entonces la sintaxis es la siguiente.

Como pueden ver, solo basta con poner el nombre la función, seguidamente el signo igual (=) y
luego el comando inline(), dentro de este, el cuerpo de la función debe ser escrito entre comillas
simples ( ‘ ‘ ) como si estuviésemos definiendo una cadena de caracteres. Así cuando ingresemos
un valor, este será evaluado en la función y se retornará el valor respectivo al terminar la
ejecución de la misma, por ejemplo.

Con lo anterior nos ahorramos entonces, tener que reescribir esa expresión cada vez que la
necesitemos evaluar o tener que guardarla como una función genérica en un archivo en disco,
también evitamos tener que usar por ejemplo variables simbólicas, las cuales para ser evaluadas o
manipuladas requieren de una mayor cantidad de procesamiento por parte de Matlab, si tenemos
en cuenta que necesitamos hacer muchas operaciones con dicha función, entonces las
variables simbólicas generarían perdidas de tiempo y un mayor esfuerzo computacional, lo
contrario ocurre si usamos funciones en linea, ya que no necesitamos funciones como subs()
polyval() o feval() para evaluar valores en ellas.
Existen unas reglas básicas para el uso efectivo de este tipo de funciones en Matlab y son las
siguientes:
 La expresión matemática puede contener una o más variables independientes, f(x,y,z…,n).
 Se puede usar cualquier letra como variable independiente excepto i y j (porque son las
constantes complejas de Matlab).
 La expresión matemática puede contener cualquier función de Matlab o las que sean
definidas por el usuario.
 La expresión se debe escribir según la dimensión de los argumentos de entrada (por
ejemplo operaciones elemento a elemento cuando se trabaja con vectores o matrices).
 La expresión no puede incluir variables predefinidas en el workspace (no tiene acceso a
ellas).
 Una vez que se define la función, ésta puede ser usada tecleando su nombre y pasando
sus argumentos de entrada como en el ejemplo anterior.
 Una funciones inline (o de linea), también se puede usar como argumento de entrada en
otras funciones.
A modo de ejemplo vamos a definir la siguiente función de forma ‘inline’.

Entonces procedemos a crear una función que llamaremos por ejemplo F y la


declararemos inline como se ve en la siguiente figura.
Y evaluemos ahora esa función en un valor arbitrario, esto se haría de la siguiente forma (cómo es
de esperarse).

1.7.3 Controloladores de graficas


Los sistemas de control en lazo abierto están compuestospor una señal de entrada que actúa
sobre los elementos quecontrolan el funcionamiento de la máquina o proceso, y a lasalida se
obtiene la señal controlada. En este tipo desistemas de control la señal de salida no tiene efecto
sobrela acción de control ya que en lazo abierto no se mide lasalida ni se realimenta para
compararla con la entrada.Estos sistemas se representan mediante el siguiente esquema:

Fig1 Sistema de control en lazo abierto

1.7.4 Asignando valores a las propiedades


1.7.5 Modificando una grafica existente
Hay varias funciones que se pueden usar de forma combinada para modificar la apariencia de la
superficie resultante.
box on o box off grid on o grid off axis on o axis off
La función box on sólo dibuja una caja si axis on ha sido seleccionada.

1.7.6 Guardar e imprimir una grafica


Omite el punto y coma al final de un comando de MATLAB para provocar que MATLAB de una
salida de los resultados del comando en la ventana de comandos. Esta es una característica básica
de la sintaxis de MATLAB que se aplica a los comandos que ejecutas de forma manual, así como los
comandos de los programas. Dejar de lado el punto y coma con demasiada frecuencia
probablemente hará que la ejecución del programa sea demasiado difícil de seguir, pero recibir la
salida de ciertas líneas clave de código a medida que un proceso se ejecuta es una técnica de
depuración muy útil. Escribe el nombre de una matriz o de otra variable y pulsa Enter para ver la
ventana de comandos.

Guarda una matriz en un archivo utilizando el comando "Guardar". Esto no es una forma de
formatear los datos para la presentación, sino simplemente una manera de almacenar los datos de
salida para su posterior recuperación. He aquí un ejemplo, el cual guarda las matrices "xfactor" y
"yresults" a un archivo llamado "outputfile:"

save outputfile xfactor yresults

Si sólo escribes "save" y el nombre del archivo, todas las variables actualmente en la memoria,
serán guardadas. Utiliza "cargar" con el nombre del archivo para recuperar tu trabajo durante una
sesión posterior de MATLAB.
Utiliza el comando "dlmwrite" para guardar una matriz como un archivo de texto legible. El
ejemplo siguiente guarda la matriz llamada "x" en un archivo llamado "output.txt:"

dlmwrite ('output.txt', x)

Con esta sencilla forma del comando, las entradas de cada fila de la matriz se separarán por comas
y cada fila estará en su propia línea. Utiliza la siguiente sintaxis para utilizar espacios en lugar de
comas:

dlmwrite('output.txt',x,' ')

Puedes utilizar cualquier carácter que desees en lugar del espacio. Este caracter se llama el
delimitador.

1.8 Carpetas y archivos en MatLab


1.8.1 Trabajando con carpetas y archivos
Importar y exportar datos Antes de estudiar opciones más complejas, es interesante
comentar que la opción de copiar y pegar (Copy/Paste) puede ser adecuada en muchos
casos. Por ejemplo, copiar elementos de Excel y depositarlos en Matlab entre corchetes
funciona con frecuencia. Nota: Esta opción puede generar problemas por ejemplo, según
se hayan introducido los números decimales.
Utilizando el Current Directory Si tenemos un fichero .txt, .data,... y lo hemos situado en el
directorio actual de trabajo en Matlab, pinchando sobre él con el botón derecho tenemos
la opción Import Data (figura 28). Se abre entonces un menú donde se nos ofrecen
posibilidades como elegir entre varios separadores de columnas. Si todo está como
queremos la pestaña Next crea una variable con el nombre del fichero y el contenido del
mismo que ya puede ser usada en la sesión de trabajo.
Esta opción de Matlab nos permite trabajar de forma muy simple en caso de ficheros de
datos adecuados.
Comandos Comandos fopen, fclose y fprintf Estos comandos sirven para abrir y cerrar ficheros.
Para abrir un fichero, se utiliza el siguiente comando: variable = fopen(‘fichero’,’permiso’) donde: -
variable es el nombre de la variable que guarda el identificador del fichero. - ‘fichero’ especifica el
nombre externo y la dirección del archivo. - ‘permiso’ indica el modo de apertura del fichero: r
abre un fichero existente para lectura.
r+ abre un fichero existente para lectura y escritura. w crea un fichero nuevo para escritura. w+
crea un fichero nuevo para lectura y escritura. Destacar que este comando lo que hace es poner
en contacto el programa con un fichero, no lo visualiza en pantalla. Para trabajar con ficheros lo
primero será abrirlo y lo último cerrarlo. Para cerrar un fichero se utiliza la función: fclose(fid) que
cierra el fichero de identificador fid y devuelve 1 si el cierre es correcto y 0 si es incorrecto. Para
escribir en un fichero se utiliza el comando: fprintf(fid,’format’,A,….) que escribe los elementos
especificados en A (que en general es una matriz) en el fichero de identificador fid (previamente
abierto) con el formato especificado en ‘format’. Así, la función fprintf dirige su salida a un fichero
indicado por el indicador. Formato de datos: %d Enteros. %f Reales con punto fijo. %e Reales con
formato exponencial. %g Utiliza uno de los formatos anteriores; el que dé la mayor precisión en el
menor espacio. Si se utiliza el comando fprintf(‘format’,A,….) la escritura de datos se realiza en la
pantalla. Ejemplo: Creamos un fichero ASCII de nombre “resultados” que contiene los valores de la
función exponencial para valores de la variable entre 0 y 1 separados una décima y lo
representamos en la pantalla. >>x=0:.1:1 >>y=[x;exp(x)]; >>fid=fopen(‘resultado.txt’,’w’); >>
fprintf(fid,’%6.2f %12.8f \n’, y); Este programa escribiría en el fichero resultado.txt los siguientes
valores: 0.00 1.00000000 0.10 1.10517092 0.20 1.22140276 0.30 1.34985881

1.8.2 Archivos de datos con extensión MAT


Los archivos con la .mat extensión son archivos que están en el formato contenedor de
datos binarios que utiliza el programa MATLAB. La extensión fue desarrollado por
Mathworks y archivos MAT se clasifican como archivos de datos que incluyen variables,
funciones, matrices y otra información. Archivos MAT se pueden guardar en una variedad
de formatos, siempre y cuando los usuarios deciden guardarlos en una versión que
pertenece a las Preferencias de MATLAB. Existen los llamados nivel 4 archivos MAT en
matrices bidimensionales y cadenas de caracteres son compatibles y también hay los
archivos de nivel 5 MAT que varias cosas se incluyen como las células matrices, objetos,
matrices numéricas multidimensionales, estructuras y matrices de caracteres. Archivos
MAT también son útiles cuando se trata de representar audio en varios formatos como
entero con signo de 16 bits, 8 bits entero sin signo y punto flotante de 64 bits. Mathworks
Matlab es el software utilizado para abrir archivos MAT. Se trata de una aplicación
utilizada para desarrollar algoritmo, visualizar y analizar datos, así como para calcular
números.
Los documentos MAT son Archivos 3D asociados con Freelancer Model Textures File
(Microsoft Corporation).
Antes de querer abrir el archivo .mat dentro del software se debe hacer lo siguiente dentro del
área de código de matlab.

>>clear all
>>close all
load ('archivo.mat');

plot(x,y);

1.8.3 Importar archivos de datos


 MATLAB es un software comúnmente utilizado para el análisis de datos experimentales que
pueden provenir de distintas fuentes, incluidos otros programas. La forma de procesar estos
datos externos es importarlos a MATLAB.

 De forma análoga, los datos calculados por MATLAB pueden ser transferidos o exportados a
otras aplicaciones. Aunque existen distintos tipos de datos (números, texto, audio, gráficos e
imágenes).
 Veremos exclusivamente cómo importar y exportar datos numéricos, que es probablemente
el tipo de datos más comúnmente usado en este tipo de transferencias de información. Para
otros tipos de datos puede consultarse la ayuda de MATLAB.

 La importación se puede llevar a cabo mediante comandos o utilizando

 Los comandos son útiles cuando el formato de los datos importados es conocido. MATLAB
posee varios comandos que pueden ser utilizados para importar distintos tipos de datos. Los
comandos de importación se pueden incluir en un archivo script, de forma que los datos se
importen dentro del programa y antes de ser procesados por este.

 El Asistente de Importación de Datos es útil cuando el formato de los datos (o el comando


utilizado para la importación de datos) no es conocido. Este asistente determina el formato
de los datos y posteriormente los importa automáticamente.

 Veamos cómo transferir datos desde/hacia hojas de cálculo Excel. Microsoft Excel es una
herramienta muy utilizada para la gestión de datos, además los datos que maneja esta
aplicación son altamente compatibles con bastantes tipos de dispositivos y aplicaciones
convencionales.

 Para llevar a cabo la importación de datos desde Excel se utiliza el comando xlsread. Este
comando importa los datos de una hoja de cálculo Excel a una variable de tipo array. La
forma más simple de utilizar este comando es:

nombre_variable= xlsread('nombre_archivo')

 La ubicación del archivo debe ser el directorio de trabajo actual o bien estar en la ruta de
búsqueda.

 Si el archivo Excel importado tiene más de una hoja de cálculo sólo se importan los datos
de la primera de las hojas.

 Si un archivo Excel contiene más de una hoja, se puede utilizar otra versión del comando
xlsreadpara decidir cuál de ellas importar:

nombre_variable=xlsread('nombre_archivo','nombre_hoja')

 El nombre de la hoja debe introducirse como cadena.

 Otra opción permite importar sólo una región de una hoja de cálculo determinada a partir de
un archivo Excel:

nombre_variable=xlsread('nombre_archivo','nombre_hoja','rango')
 El 'rango‘, es una región rectangular de la hoja definida por la dirección de las celdas con
respecto a las esquinas opuestas (sup-izq:inf-der) p/e 'C2:E5'

 La utilización del Asistente de Importación de Datos permite importar datos a MATLAB de


una forma sencilla, sin tener que hacer suposiciones previas sobre el formato de los datos.
Este asistente se activa utilizando la opción File→Importdata.

 También se puede activar tecleando el comando uiimport desde la propia Ventana de


Comandos.

 Si usted selecciona un archivo de datos del directorio actual y hace doble clic en el nombre
del archivo, se lanza el lmport Wizard (asistente de importación).

 El lmport Wizard determina qué tipo de datos hay en el archivo y formas de representar los
datos en MATLAB.

 MATLAB no soporta todos los posibles formatos de datos. Puede encontrar una lista
completa al escribir:

Doc fileformats

 El asistente comienza visualizando una ventana de selección de archivos que muestra todos
los archivos y formatos reconocidos por el asistente.

 Cualquier técnica para lanzar el Import Wizard requiere una interacción con el usuario. Si
quiere cargar un archivo de datos desde un programa MATLAB, necesitará usar
forzosamente comandos explícitos para la importación.

 El usuario debe seleccionar el archivo en cuestión que contiene los datos a importar, y
después pulsar Open (Abrir). Seguidamente el asistente abre el archivo y visualiza una parte
de los datos en una ventana de pre-visualización, de forma que el usuario pueda verificar
que los datos son los correctos.

 El asistente tratara de procesar los datos, y si lo consigue entonces visualizará las variables
que ha creado con una parte de los datos. Cuando el usuario pulsa el botón Next (Siguiente),
el asistente muestra los separadores de columnas utilizados para la estructuración de los
datos.

 Si los datos son apropiados, el usuario puede proceder, pulsando de nuevo Next (Siguiente),
o escoger un separador diferente de columnas para los datos.

 En la siguiente ventana, el asistente muestra el nombre y el tamaño de las variables creadas


en MATLAB.

 Cuando los datos son numéricos, las variables tendrán el mismo nombre que el archivo
importado.

 Una vez que el asistente ha finalizado, pulsando el botón Finish (Finalizar), los datos se
importan en MATLAB.
1.8.4 Archivos con extensión M
 Empezando a trabajar con ficheros .m

En Matlab tienen especial importancia los ficheros–M de extensión .m. Contienen conjuntos de
comandos a ejecutar o definición de funciones y se ejecutan al teclear su nombre en la línea de
comandos y pulsar intro (si se encuentra en el Current Directory) o al pinchar sobre él en Current
Directory con el botón derecho del ratón y elegir run. Representan el centro de la programación
en Matlab.

Un fichero .m puede llamar a otros ficheros .m y ficheros de comandos pueden ser llamados desde
ficheros de funciones. En estos casos es importante tener en cuenta la definición de las variables a
utilizar, en la línea de que tengan un tratamiento local o global. Por defecto, Matlab considera las
variables locales, es decir, aunque varias funciones tengan la variable x, ésta es diferente en cada
caso a no ser que haya sido definida como global.

Son ficheros de texto sin formato y que pueden crearse a partir de un editor de textos, no
obstante, lo mejor es utilizar el editor del propio programa al que se accede por defecto al abrir un
nuevo fichero.

 Editor

Para crear un nuevo fichero .m elegimos new M-File del menú File o elegimos el icono
correspondiente. Aparece entonces la pantalla del editor/Debugger donde podemos ir escribiendo
las sentencias.

En el caso de la figura 1 el fichero contiene comentario, dos sentencias y otro comentario. Las
sentencias seguidas de (;) no se mostrarán en pantalla al ejecutar el fichero.
Figura 1

El editor muestra en diferentes colores los diferentes tipos de comandos:

 Verde para los comentarios.


 Rojo para las cadenas de caracteres.
 Negro para las sentencias.

Una posibilidad de ejecutar el fichero es elegir Run del menú Debug (primeramente debe
guardarse con un nombre). Es posible ejecutar el mismo por partes incluyendo breakpoints lo que
puede hacerse con el icono de los puntos rojos. Si se tienen estos puntos de parada se continúa de
uno a otro con la opción de Continue. Es posible visualizar el valor que van tomando los distintos
elementos del fichero posándonos con el ratón sobre ellos (figura 2).

Es interesante ir conociendo los demás botones y menús del editor que nos permite eliminar los
breakpoints, terminar la ejecución,.... Resulta muy útil para detectar errores y corregirlos y en
general para programar
Figura 2

Si se desea modificar o visualizar un fichero .m ya creado, es suficiente con abrirlo desde Open en
el menú File o hacer doble Click en su nombre desde el Current Direcrory. Ambas opciones dan
acceso al editor y al fichero.

Ya se ha introducido que existen dos tipos de ficheros .m. Se comentarán con más detalle cada
uno de ellos.

 Ficheros de comandos. Programas propios del usuario

Estos ficheros, también llamados scripts, contienen listas de comandos que se ejecutan
sucesivamente cuando se ejecuta dicho fichero, es decir cuando se escribe el nombre del fichero
en la línea de comandos y se pulsa intro. Es importante destacar que en estos ficheros, las
variables que se crean pertenecen al espacio base del Matlab, algo que no ocurre en los ficheros
de función donde las variables pertenecen sólo al espacio de trabajo de esa función. Puede
comprobarse esto ejecutando el fichero de la figura 2.

 Definición de funciones

En general, el programa tiene un gran número de funciones incorporadas, bien se trata de


funciones intrínsecas, es decir, del propio código ejecutable lo que las hace muy rápidas y
eficientes, o bien se trata de funciones definidas en ficheros, normalmente .m, que vienen con el
programa. A todo ello se unirán las funciones creadas por el propio usuario. La importante
diferencia de estas últimas es que, para que el programa pueda trabajar con ellas, el
correspondiente fichero .m debe estar en el directorio actual o en el path.
El trabajo con funciones y el propio concepto de función en Matlab es parecido al que se tiene en
C y en otros lenguajes de programación. Toda función tendrá:

 Un nombre. Por ejemplo: f.


 Unos argumentos. Van a continuación del nombre y entre paréntesis, separados por
comas si son más de uno. Por ejemplo: f(x) ó f(x,y).
 Unas salidas o retornos que son el resultado de la función. La ventaja de Matlab es que
pueden ser valores matriciales múltiples que se recogerán en diversas variables que se
agruparán entre corchetes. Por ejemplo: p=f(x) ó [p,q]=f(x).

 Funciones de librería

Ya conocemos, si no puede consultarse la ayuda, los diversos tipos de funciones que tiene el
programa. Se clasifican en:

 Funciones matemáticas elementales.


 Funciones especiales.
 Funciones matriciales elementales.
 Funciones matriciales específicas.
 Funciones para la descomposición y/o factorización de matrices.
 Funciones para análisis estadístico de datos.
 Funciones para análisis de polinomios
 Funciones para integración de ecuaciones diferenciales ordinarias.
 Resolución de ecuaciones no-lineales y optimización.
 Integración numérica.
 Funciones para procesamiento de señales.

Existen funciones (las matemáticas trascendentes y algunas básicas) que actúan sobre escalares o
sobre cada elemento de una matriz. Por ejemplo:

>> sin(0)

ans =

>> A=[1 2 3]

A=

123

>> sin(A)

43

ans =
0.8415 0.9093 0.1411

>>

Existen otras que sólo actúan sobre vectores, no sobre escalares ni matrices. Por ejemplo, max(x),
min(x) devuelve el elemento máximo y mínimo de entre los elementos del vector x. También nos
dan la posición donde se encuentra.

>> A=[1 2 3]

A=

123

>> max(A)

ans =

>> [p,q]=max(A)

p=

q=

>>

De igual forma, otras funciones sólo se aplican sobre matrices. Son las que se encuentran en el
grupo de funciones matriciales elementales, funciones matriciales especiales y funciones de
factorización y/0 descomposición matricial. Por ejemplo trace(A) que nos da la traza de la matriz A,
[p,q]=eig(A) nos da los valores propios y vectores propios asociados a la matriz A.

 Funciones creadas por el usuario

La palabra function escrita al comienzo de un fichero .m nos permite definir una función
constituyendo una de las aplicaciones más importantes del programa. Su sintaxis es la siguiente:

function parámetros de retorno=nombre de la función (argumentos)

cuerpo de la función

Es muy importante incidir en que los argumentos o variables de la función son de carácter local, es
decir, no interfieren con otras variables del mismo nombre que hayan sido definidas en otra parte
del programa, otros ficheros .m o en la ventana de trabajo. Para que una función tenga acceso a
variables que no se hayan definido como parte de sus argumentos, éstas deben definirse como
globales tanto en el programa principal como en los ficheros .m dónde se quiera tener en cuenta.
El comando es global x,y,.....
El siguiente ejemplo, figura 3, define una función f que calcula el cuadrado del valor que se desee:

Figura 3

Es importante destacar:

 En este caso existe un argumento o variable de entrada: x, y un retorno o salida: p.


 Si no ponemos los (;) después de la definición de función y el retorno, al ejecutar desde la
línea de comandos, el resultado saldría por duplicado o triplicado, el valor de f(x), el de p y
el de ans.
 Para finalizar debemos guardar el fichero. Al hacerlo, el programa por defecto nos sugiere
como nombre el de la propia función. Es aconsejable usarlo para evitar confusiones entre
los ficheros y las propias funciones. También debemos acordarnos de guardarlo en el
directorio donde trabajamos para tener acceso inmediato a la función. Si no lo hacemos
así, para utilizarla deberemos antes situarnos en el directorio donde la hayamos grabado.
 Es posible poner todos los comentarios necesarios para, en un futuro recordar lo que hace
esa función. Si tecleamos en la línea de comandos help seguido del nombre de la función,
nos aparecerán los comentarios que en su día escribimos en dicho fichero (figura 4).
Figura 4

 Destacar también que esta función se aplica sobre cualquier tipo de entrada para la que
esté definida la operación. En este caso si lo aplicamos sobre un vector o una matriz no
cuadrada nos dará un mensaje de error. Sí se aplica sobre matrices cuadradas calcula el
producto de dicha matriz por ella misma. Si queremos que la función f se aplique sobre
todo tipo de matrices calculando el cuadrado de cada elemento es suficiente con definir la
operación con el punto delante:

function p=f(x);

p=x.^2

1.8.5 Path en MatLab


 Modificación del PATH de Matlab.

Por defecto, Matlab trabaja con la carpeta “C:\matlab\work” e inicialmente todos los archivos que
no se encuentren en esa carpeta u otras que ya hayan sido configuradas no son reconocidas por el
programa. De ahí que se recomiende al grupo de prácticas que se cree una carpeta dentro de
“C:\matlab\work”, que la active para que la reconozca Matlab, y que a partir de entonces todos
los archivos sobre los que trabaje se encuentre dentro de esta carpeta.

El procedimiento para activar una carpeta en matlab sería el siguiente:

1. Crear una carpeta dentro de la carpeta C:\matlab\work.


2. Dentro de matlab, elegir la opción “Set Path…” (Fig. 5).
3. Aparecerá una ventana de configuración del path (Fig. 6), elegir la carpeta
correspondiente y salvarla.
4. En caso de que pregunte si queremos guardar la configuración para sesiones futuras,
decirle que sí.

Figura 5. Opción de configuración de path.

Figura 6. Ventana de configuración del path.

1.9 Programacion en Matlab


Para escribir un programa con MATLAB habrá que crear un fichero que tenga extensión .m y
contenga las instrucciones. Esto se puede hacer con cualquier editor de textos, pero tiene algunas
ventajas usar el editor propio de MATLAB llamado medit.
MATLAB trabaja con memoria dinámica, por lo que no es necesario declarar las variables que se
van a usar. Por esta misma razón, habrá que tener especial cuidado y cerciorarse de que entre las
variables del espacio de trabajo no hay ninguna que se llame igual que las de nuestro programa
(proveniente, por ejemplo, de un programa previamente ejecutado en la misma sesión), porque
esto podría provocar conflictos. A menudo, es conveniente reservar memoria para las variables
(por ejemplo, si se van a utilizar matrices muy grandes); para ello, basta con asignarles cualquier
valor. Del mismo modo, si se está usando mucha memoria, puede ser conveniente liberar parte de
ella borrando (clear) variables que no se vayan a usar más.
Un programa escrito en MATLAB admite la mayoría de las estructuras de programación al uso y
su sintaxis es bastante estándar. En los siguientes ejemplos se muestra la sintaxis de algunas de
estas estructuras (if, for, while,...).

Ejemplo 1: Calcular la suma de los n primeros términos de la sucesión 1, 2x, 3x^2, 4x^3, ...
n=input('¿Cuántos términos quieres sumar? ');
x=input('Dame el valor del numero x ');
suma=1;
for i=2:n
suma=suma+i*x^(i-1);
end
disp('El valor pedido es')
disp(suma)

Ejemplo 2: Decidir si un número natural es primo.


n=input('Número natural que deseas saber si es primo ');
i=2;
primo=1;
while i<=sqrt(n)
if rem(n,i)==0 % Resto de dividir n entre i
primo=0;
break
end
i=i+1;
end
if primo
disp('El número dado es primo.')
else
disp('El número dado no es primo.')
disp('De hecho, es divisible por:')
disp(i)
end

Ejemplo 3: Escribir un número natural en una base dada (menor que diez).
n=input('Dame el número que quieres cambiar de base ');
base=input('¿En qué base quieres expresarlo? ');
i=1;
while n>0
c(i)=rem(n,base);
n=fix(n/base); % Parte entera de n/base
i=i+1;
end
disp('La expresión en la base dada es:')
i=i-1;
disp(c(i:-1:1))
1.10 Animacion en graficas

Curso: Métodos Numéricos.


Catedrático: Ing. Héctor Samuel López Sosa.
Quinto Ciclo, Sección única.
Carrera: Ingeniería en Sistemas y Ciencias de la Computación.
Ambiente de programa y Comandos Básicos

Miguel Abdias López Bravo 0903-14-11793


Luis Fernando Orozco Pérez 0903-13-21854
Edvin Fernando Figueroa Montiel 0903-14-14320
Alfredo Salvador Ixcolín Dardón 0903-10-1877
Jorge Mario Cifuentes García 0903-13-15688

INTRODUCCION:
A continuación, se le presenta el trabajo de investigación el cual contiene el
entorno gráfico y alguno de los comandos básicos que usan en Matlab,
también abarca lo que se puede hacer usando esta gran herramienta.
Su uso puede ser tanto a nivel de formación académica o para resoluciones
científicas.
MatLab es un programa interactivo para computación numérica y
visualización de datos. Es ampliamente usado por Ingenieros de Control en el
análisis y diseño, posee además una extraordinaria versatilidad y capacidad
para resolver problemas en matemática aplicada, física, química, ingeniería,
finanzas y muchas otras aplicaciones.
MATLAB es un entorno de computación y desarrollo de aplicaciones
totalmente integrado orientado para llevar a cabo proyectos en donde se
encuentren implicados elevados cálculos matemáticos y la visualización
gráfica de los mismos.

CONCLUSION:
Como conclusión podemos decir que Matlab es una herramienta que
responde a las necesidades de resoluciones de problemas que tengamos,
también es un programa fácil de usar (dependiendo grado de los problemas,
si se hace un uso debido de esta herramienta, podemos llegar a resolver
cualquier ecuación que se nos plantee tanto en modo grafico como
numérico.

También podría gustarte