Inscríbete en nuestro boletín







Monografias | Tutorial de MATLAB

Tutorial de MATLAB

Resumen: ¿Qué es MATLAB?. Toolboxes de MATLAB. Inicio de MATLAB. ¿Cómo funciona MATLAB?. Gráficas en tres dimensiones. Otros comandos. Como hacer un programa en MATLAB. Análisis de datos. Polinomios.

Publicación enviada por Ender José López Méndez




 


Índice

  1. ¿Qué es MATLAB?
  2. Toolboxes de MATLAB
  3. Inicio de MATLAB
  4. ¿Cómo funciona MATLAB?
  5. Gráficas en tres dimensiones.
  6. Otros comandos
  7. Como hacer un programa en MATLAB
  8. Análisis de datos.
  9. Polinomios
  10. Bibliografía

¿Qué es MATLAB?

MATLAB = 'MATrix LABoratory' (LABORATORIO DE MATRICES).

MATLAB es un medio computacional técnico, con un gran desempeño para el cálculonumérico computacional y de visualización.

MATLAB integra análisis numérico, matrices, procesamiento de señales y gráficas,todo esto en un ambiente donde los problemas y soluciones son expresados talcomo se escriben matemáticamente.

Escrito inicialmente como auxiliar en la programación de cálculo conmatrices.

MATLAB fue escrito originalmente en fortran, actualmente está escrito enlenguaje C.

MATLAB es un lenguaje de programación amigable al usuario con característicasmás avanzadas y mucho más fáciles de usar que los lenguajes de programacióncomo basic, pascal o C.

Actualmente van en la versión 5.2.

MATLAB cuenta con paquetes de funciones especializadas llamadas toolboxes.

 

Toolboxes de MATLAB

Control system Toolbox, Robust Control Toolbox

Frequency Domain System Identification Toolbox

Fuzzy Logic Toolbox

Higher Order Spectral Analisys Toolbox

Image Processing Toolbox

Model Predective Control Toolbox

Mu Analisis and Synthesis Toolbox

NAG Foundation Toolbox

Neural Network Toolbox

Nonlinear Control Design Toolbox

Optimization Toolbox

Quantitative Feedback Theory Toolbox

Signal Processing Toolbox

SIMULINK, SIMULINK Real Time Workshop

Spline Toolbox

Statistics Toolbox

Symbolic Math Toolbox

System Identification Toolbox.

Inicio de MATLAB

MATLAB se inicia directamente desde Windows.

Al invocarse MATLAB aparecerá la pantalla de comandos,algunas sugerencias y el símbolo >> , el cual indica la entrada deinstrucciones para ser evaluadas.

>>

>> Comando o instrucción a evaluar < enter >

Para hacer la suma de dos números, escribimos :

>> 5 + 5 < enter > Presionamos la tecla entrar.

ans =

10

El resultado es desplegado y se guarda en la variable ans (answer).

NOTA : En este tutorial el símbolo >> desaparecerá, y seráreemplazado por un par de corchetes con la instrucción dentro de ellos. [ 5 + 5]. La instrucción aparecerá en color verde.

Para poder ver ejecutarse la instrucción, debemos ponernos en el renglóndonde está la instrucción o marcarla con el ratón y presionar al mismo tiempolas teclas.

<Ctrl> <Enter>

Otra forma de evaluar una instrucción, es poner el apuntador del ratónentre los corchetes de la instrucción y presionar el botón derecho del ratón;aparecerá un menú del cual se tiene que escoger evaluar celda.

Hagamos la prueba con el renglón inmediato.

5 + 5 Presionar<Ctrl> <Enter>

La respuesta es desplegada en color azul y entre corchetes.

Help

El comando help proporciona una lista de todos los tópicos que MATLAB puedeproporcionar ayuda.

help

help 'comando' proporciona ayuda sobre el comando especificado.

help sqrt

proporciona ayuda sobre la instrucción sqrt. Ejemplo:

» help sqrt

SQRT Square root.

SQRT(X) is the square root of the elements of X. Complex

results are produced if X is not positive.

See also SQRTM

¿Cómo funciona MATLAB?

MATLAB puede almacenar información en variables tales como :

a = 100 "<Ctrl> <ENTER> para evaluar la celda "

Cada vez que capturamos información en MATLAB y presionamos <ENTER> éstaes desplegada inmediatamente ( letras en color azul ), pero si ponemos un puntoy coma al final de la instrucción MATLAB omite el desplegado de información.

Por ejemplo :

b = 50 ;

Si se quiere saber el valor de alguna variable capturada sólo se tiene queponer el nombre de la variable y <ENTER> y MATLAB lo despliega. Estasvariables residen en el espacio de trabajo de MATLAB.

b

Las variables son sensibles a las mayúsculas, por lo que las siguientesvariables son diferentes :

Variable = 1

variable = 1

Las variables pueden contener hasta 19 caracteres. Éstas deben empezar conuna letra, seguida por cualquier número de letras, dígitos o guiones desubrayado.

Los caracteres de puntuación no son permitidos en las variables.

Cuando se trabaja con muchas variables estas son difícil de recodar.

El comando who muestra un desplegado de todas aquellas variables que se hanestado utilizando.

who

whos Muestralas variables con información adicional.

Caracteres especiales

[ ] Son usados para formar vectores y matrices [ 1 2 3 ; 4 5 6 ]

( ) Usados para expresiones matemáticas. sqrt(2)

= Usado para hacer asignaciones. x = 5

' Transpuesta de una matriz A'

Usado para separar texto 'texto'

. Punto decimal 3.1415

... Al final de una línea indican que continua 2,3,4,5,6 ....

en el siguiente renglón. 7,8,9,10 ]

, Para separar elementos [1,2,3,4]

; Para separar filas en las matrices. [ 1 2; 3 4]

Para evitar que se despliegue la información capturada. [3] ;

% Para hacer comentarios % este programa,etc.

! Para ejecutar un comando del Ms-dos !dir

Operaciones básicas

SUMA

C = a + b

RESTA

d = a - b

MULTIPLICACION

e = a * b

DIVISION

F = a / b

F = a \ b

POTENCIA

a ^ 2

Como este último cálculo no tenía variable asignada, la respuesta seguarda en la variable ans (answer ).

Borrado de variables.

Para borrar el valor de una variable simplemente ponemos

clear a Borrala variable " a "

a Checar queeste borrada.

clear a b c Borralas variables " a ", " b " y " c "

" CLEAR " Borra todas las variables y no se pueden recuperar.

Funciones trigonométricas

sin ( 0.5) Senode (0.5)

Así mismo

COS ( X ) TAN ( X )

ASIN ( X ) ACOS ( X ) ATAN ( X ) Inversa

SINH ( X ) COSH ( X ) TANH ( X ) Hiperbólica

ASINH ( X ) ACOSH ( X ) ATANH ( X ) Inversa- Hiperbólica

ATAN2 ( X,Y ) Inversa de la tangente en los cuatro cuadrantes.

LOGARITMOS

log (0.5) Logaritmonatural

LOG10 ( X ) Logaritmo decimal.

Funciones matemáticas especiales.

abs ( -3) Valorabsoluto o magnitud de un número complejo

ceil ( 123.123123) Redondeahacia más infinito

FLOOR ( X ) Redondea hacia menos infinito

FIX ( X ) Redondea hacia cero

ROUND ( X ) Redondea hacia el entero más próximo

imag ( 30 - 5j ) Parte imaginaria deun número complejo

REAL ( X ) Parte real de un número complejo

ANGLE ( X ) Angulo de un número complejo

CONJ ( X ) Complejo conjugado

sign ( -5) Funciónsigno : Devuelve el signo del argumento

(1 si es positivo, -1 si es negativo )

exp ( 1 ) Exponencial: e( x )

REM ( X,Y ) Resto después de la división ( x / y)

sqrt (2) Raízcuadrada

Operaciones Lógicas

En MATLAB se pueden hacer operaciones lógicas, por ejemplo.

1 < 2

Como 1 es menor que 2, la respuesta es cierta por lo que obtenemos un 1.

1 < 1

Obtenemos un 0, porque 1 no es menor que 1.

Como se puede observar las únicas respuestas posibles con las operaciones lógicasson :

Cierto = 1 y Falso = 0.

Operadores relaciónales :

> Mayor que

< Menor que

>= Mayor o igual a

<= Menor o igual a

== Igual a

~= No igual a

Existen tres operadores lógicos : AND &

OR |

NOT ~

Para que la operación AND sea verdadera las dos relaciones deben serverdaderas.

Recordemos AND = 0 0 | 0 Falso

0 1 | 0 Falso

1 0 | 0 Falso

1 1 | 1 Verdadero

( 1 < 2 ) & ( 2 < 3) Verdadero.

( 1 < 2) & ( 2 < 1 ) Falso.

Para la operación OR : 0 0 | 0

0 1 | 1

1 0 | 1

1 1 | 1

( 1 < 2 ) | ( 2 < 1 ) Verdadero.

Para la operación NOT : ~ 0 | 1

~ 1 | 0

~ ( 2 < 1) Verdadero.

La variable NaN (Not a Number)

Cuando en un lenguaje de programación como basic, pascal o C, se da unasituación que el programa no pueda manejar, como una división como 0/0 elprograma se detiene, marcando un error.

Cuando en MATLAB se presenta una situación similar el programa no sedetiene, sólo da una pequeña advertencia de que se presentó una divisiónentre cero. Y el resultado es un NaN, que es una variable interna no es un número).

0/ 0

Ejemplo: defina a=[1 2 0] y b=[1 2 0] ahora pida la división elemento aelemento (comando "./")

a ./ b

Solución de ecuaciones de segundo grado.

MATLAB se puede resolver fácilmente ecuaciones del tipo ax²+ bx + c = 0, haciéndolo como si fuera una sola instrucción. La förmula pararesolver una ecuación de segundo grado de este tipo es :

 

Si tenemos los siguientes valores :

a = 1, b = 2, c = 3

Escribimos la formula para x1 :

x1 = ( -b + sqrt ( b ^ 2 - 4 * a * c )) / 2 * a

Para x2 :

x2 = ( -b - sqrt ( b ^ 2 - 4 * a * c )) / 2 * a

Podemos hacer la comprobación para x1.

a * x1^ 2 + b * x1 + c Comprobaciónx1

Arreglos (Arrays) ó Vectores.

Si se desea calcular el seno de " 0 a 1 " con incrementos de 0.25,se pueden capturar los valores y después mandar llamar el seno de la función.

Seno de 0 a 1 con incrementos de 0.25

x = [ 0, 0.25, 0.5, 0.75, 1 ]

Se pueden omitir las comas cuando se capturan los números.

Con los números capturados, se obtiene el seno de la variable x escribiendosimplemente :

sin (x)

MATLAB opera en radianes, donde 2P= 360 grados.

Ahora se requiere obtener el coseno de cero a uno con incrementos de 0.01; loque equivale a capturar 101 elementos.

Para evitar capturarlos a mano, MATLAB nos permite crear un vector de lasiguiente manera :

Variable = ( Valor inicial : Con incrementos de : Valor final )

R = (0 : 0.01 : 1)

COS ( R ) Ahora se puede obtener el coseno de la variable R.

Hagamos el siguiente vector :

Y = ( 0 : 1 : 10)

Si queremos saber cual es el cuarto elemento del vector ponemos :

Y (4)

Si nos interesan los elementos 5 al 10 :

Y( 5 : 10 )

Otras opciones son :

Y( 1 : 2 : 9) Tomalos elementos del 1 al 9 con incrementos de 2

Y([ 1, 3, 7,10]) Tomalos elementos 1, 3, 7 y 10 del array

Modificaciones de los arreglos

Si el noveno elemento del array debió ser el número 20 en vez de 8,corregimos de la siguiente manera :

Y(9) = 20

Otra forma de hacer arreglos, es con linspace :

Linspace ( Valor inicial , Valor final , Número de elementos )

Regresando al ejemplo del coseno de 0 a 1 con incremento de 0.01 escribimos :

Note el uso de comas (#, #, #)

Z = linspace(0 , 10, 101)

Linspace describe una relación lineal de espaciado entre sus elementos.

Logspace describe una relación de espaciado " logarítmica ".

Logspace ( Primer exponente , Último exponente , Cantidad de valores )

Logspace (0 , 2 , 10 )

Hemos creamos un arreglo que comienza en 10 0 y termina en 10 2,conteniendo 10 valores.

Otra forma de crear arreglos es :

x1 = 1 : 5 Arreglode 1 a 5, con incremento de 1

x2 = 10 : 5 : 100 Arreglode 10 a 100, con incrementos de 5.

Si se quiere concatenar x1 y x2

C = [ x1 x2 ]

Matemáticas con arreglos.

a = 1 : 6 Defineun vector de seis elementos con incrementos de 1

b = 1 : 2 : 12 Vectorde seis elementos con incremento de 2

Arreglos con escalares

Se le puede sumar o multiplicar un número a todo el arreglo, por ejemplo

a + 10 Suma deun escalar con un arreglo

a * 10 Multiplicaciónde un escalar con un arreglo

Operaciones con arreglos

Para hacer la suma de los arreglos a y b, solamente escribimos :

a + b Larespuesta se guarda en ans :

Se pueden hacer operaciones como :

Z = 100 - 2 * a + b

La multiplicación de arreglos se hace con ( . * ), ya que cuando se utilizael asterisco sin punto indica multiplicación matricial, y además provoca unerror.

Z = a .* b

La división también lleva un punto antes del signo, porque sino se utilizael punto nos referimos a la división matricial que es muy diferente.

Z = a ./ b

La siguiente operación obtiene el cuadrado del arreglo " a ".

Z = a .^ 2

Orientación de arreglos

Si separamos cada elemento del arreglo con punto y coma tenemos un arreglo deuna sola columna :

a = [ 1; 2; 3; 4; 5; 6 ]

Es necesario usar los corchetes, porque si no los usamos obtenemos el últimovalor que capturamos :

d = 1 ; 2; 30 ; 40 ; 50 ; 600 ; 1000

Para crear una columna con 20 elementos hacemos lo siguiente :

d = ( 1 : 1 : 20 )

y trasponemos el renglón a columna, es decir buscamos la transpuesta. ( ' )

e = d'

¿ Que pasa si hacemos lo siguiente : ?

e'

Matrices

Se utiliza el punto y coma ( ; ) hacer una matriz.

Para formar la matriz 1 2 3

3 2 1

2 1 3

Escribimos :

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

Ecuaciones Simultáneas

Con MATLAB se pueden resolver sistemas de ecuaciones simultáneas fácilmente.

Por ejemplo para resolver el siguiente sistema de ecuaciones.

2x + 0y + 5z = 100

3x + 5y + 9z = 251

1x + 5y + 7z = 301

Capturamos los valores de x, y, z ; formando una matriz.

A = [ 2 0 5; 3 5 9; 1 5 7]

Después capturamos el valor al cual están igualadas las ecuacionesen otra matriz.

b = [ 100 ; 251; 301 ]

Una forma de solucionar las ecuaciones es obteniendo el inverso de la matriz,es decir : A -1 ( menos uno )

El asterisco indica multiplicación matricial.

c = inv (A)* b

Otra forma de resolverlo, es utilizando la división matricial.

c = A \ b

Es también posible obtener la determinante de una matriz.

det ( A )

Operaciones con Matrices

Definamos las siguientes matrices ' g ' y ' h '.

g = [ 1 2 3; 4 5 6; 7 8 9]

h = [ 1 0 2 ; 11 2 3 ; 3 5 12 ]

La suma de las matrices g y h se muestra enseguida :

k = g + h

k = g * h Multiplicaciónde dos matrices.

[L, U ] = lu (k) Calculala factorización LU de la matriz cuadrada k

[d,e]= qr (k) Calculala factorización QR de la matriz k.

Calcula la descomposición en valores singulares de la matriz k.

rank(k) Devuelveel rango de la matriz k.

cond(k) Devuelveel número de condición de la matriz k.

Modificación de las matrices.

A = [ 1 2 3; 4 5 7; 7 8 9 ]

Si nos equivocamos al capturar la matriz, por ejemplo si el número 7 delsegundo renglón, tercer columna debió ser 6 en vez de 7, tendríamos quecapturar de nuevo la matriz.

Pero con MATLAB es posible modificarla de la siguiente manera :

A(2,3)= 6 Variable( renglón, columna)= nuevo valor

Si tenemos la matriz identidad de 4 x 4 :

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

A = [ 1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1]

Pero por algún error la matriz identidad debió de haber sido de 5 x 5.

¿ Hay que capturar de nuevo la matriz ?. La respuesta es no.

A(5,5) = 1

Agregamos un 1 en el renglón 5 columna 5, y como este no existíanpreviamente, las columnas y renglones se completan agregando ceros.

¿ Que pasa ahora si queremos sólo una matriz identidad de 3 x 3 y tenemoscapturada una de 5 x 5.

Podemos utilizar :

Matriz ("Renglón" inicio : Fin , "Columna" inicio : Fin)

B = A ( 1 : 3, 1: 3)

Ahora si queremos que la matriz identidad sea : 0 0 1

0 1 0

1 0 0

C = B ( 3 : -1 : 1 , 1 : 3 )

Poner dos puntos ( : ) indica que se deben tomar todas las columnas

(1 : 5). Esto es valido también para los renglones.

C = A ( : , [ 1 3 5 ] )

Toma todos los renglones, pero sólo toma las columnas 1, 3 y 5.

Si creamos las siguientes matrices A y B :

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

B = [ 6 7 8; 6 7 8; 6 7 8; 6 7 8 ]

Podemos construir una matriz C uniendo las dos anteriores

c = [ A B ]

A partir de la matriz A queremos tomar las columnas 1, 2 y 5, y de la matrizB queremos tomar las columnas 1 y 3, para formar una matriz D.

D = [ A(:,[ 1 2 5]) B(:, [ 1 3])]

D( :,1)=[] Eliminala columna número uno.

Matrices especiales

ones(2) Haceuna matriz de unos, de 2 x 2.

zeros(5,4) Haceuna matriz de ceros, de 5 x 4.

rand(3) Haceuna matriz de 3 x 3,

eye(4) Haceuna matriz identidad de 4 x 4.

Gráficas

En MATLAB se pueden crear gráficas tan simples como :

D = [ 1 2 3 5 4 7 6 8 9 8 6 3 1 3];plot (D)

o se pueden crear gráficas tan complejas como :

cplxroot(3,10) Superficiede una raíz cubica.

Como se vió en el primer ejemplo es posible gráficar una serie de puntos yMATLAB automáticamente ajusta los ejes donde se gráfica.

Por ejemplo, para gráficar la función seno se pueden crear un rango devalores

x = 0 : 0.1 : 20; x= vector de cero a veinte con incrementos de 0.1

y = sin(x); Senodel vector (x)

plot (x,y) Gráficadel seno

z = cos(x); Cosenodel vector anterior

plot (x,z) Gráficadel coseno de x.

plot ( x,y,x,z) Gráficadel seno y coseno en la misma pantalla

plot (x,z,'*') Gráficadel coseno con los signos ' * '

Hace la gráfica en azul, y los signos ' + ', intercambiando los ejes.

plot ( z, x,'b+')

 

Como se ve es posible gráficar en Matlab con símbolos y además escoger elcolor, tal como se muestra en la tabla inferior.

 

Símbolo

Color

Símbolo

Estilo de línea

y

amarillo

.

punto

m

magenta

o

circulo

c

cían

x

equis

r

rojo

+

más

g

verde

*

asterisco

b

azul

-

menos

w

blanco

:

dos puntos

k

negro

- .

menos punto

 

 

- -

menos menos

Es posible agregar un cuadriculado a la gráfica, para tener más precisión,con el comando.

grid

Se pueden agregar títulos a las gráficas y etiquetas en los ejes con loscomandos siguientes.

title(' Gráfica del coseno de x')

Para ponerle etiquetas a los ejes se puede utilizar los comandos

ylabel ('etiqueta')

xlabel('etiqueta')

axis off Desaparecelos ejes.

Subplot

El comando subplot nos permite desplegar en pantalla varias gráficas.

subplot(m,n,a)

'm' y 'n' son una matriz que representa las cantidades de gráficas que sevan desplegar; 'a' indicaría el lugar que ocuparía la gráfica en el subplot.

Hagamos la gráfica de los siguientes puntos. La desplegaremos en cuatropuntos diferentes en pantalla para ver las características de subplot.

a=[ 1 ,2 ,3 9 ,8 ,7 ,4, 5, 6, 8, 7, 5];

plot (a)

Vamos hacer una matriz de 2 x 2 para gráficar, cuatro posibles ventanas o gráficas.Y queremos que la primera gráfica ocupe el lugar (1,1) de la matriz. entoncesescribimos.

subplot(2,2,1) ,plot(a)

subplot(2,2,2) , plot(a)

subplot(2,2,4), plot(a)

CLF borra todos los objetos de la gráfica.

CLF RESET Borra todo lo que hay en la gráfica y resetea todas laspropiedades de la figura.

clf

Gráficas en tres dimensiones.

El comando plot se puede extender a 3 dimensiones con el comando plot3 .

El siguiente ejemplo hace una gráfica de una espiral en tres dimensiones.

t=0:pi/50:10*pi;

plot3(sin(t),cos(t),t)

 

zlabel ('etiqueta')

Se utiliza para dar etiquetas al eje z, en las gráficas en tres dimensiones.

 

Gráficos de malla y superficie.

z = peaks(10)

El comando peaks crea un conjunto de valores que al ser gráficados, se vende la siguiente manera.

plot(z)

Se tomará como base la gráfica anterior para demostraralgunas funciones de graficación en tres dimensiones.

mesh(z)

contour(z,10)

surf(z)

Es posible cambiar el sentido de orientación de las gráficascon el comando view(x,y)

view(0,0)

view(90,0)

 

Gráficas en el plano complejo

Ahora vamos a crear un conjunto de valores para gráficar en el planocomplejo, en tres dimensiones.

z= cplxgrid(5)

cplxmap(z,z)

cplxmap(z,z.^z)

cplxroot(2,10) Raízcuadrada

Se pueden crear gráficos en coordenadas polares con elcomando Polar (t,r,s) donde t es el vector en ángulos en radianes, r es elradio del vector y s es la cadena de caracteres que describe , color, símbolodel estilo del línea.

t=0:0.1:2*pi;

r = sin(2*t).*cos(2*t);

polar(t,r)

gtext( ‘ texto ’ )

Se utiliza para colocar texto en una gráfica, con la ayudadel mouse. Simplemente se ejecuta el comando y con el mouse se selecciona lacoordenada deseada y se presiona el botón derecho del mouse, quedando fijo eltexto en la pantalla.

Copiar una gráfica

Cuando se quiera realizar algún reporte formal en unprocesador de palabras como en este caso Word, es posible copiar las gráficashechas en Matlab por medio de la orden copy to bitmap.

El procedimiento sería :

 

  • En Matlab, en el menú de la ventana principal de la gráfica, se escoge el menú ‘edit’ y de este se escoge copy to ‘bitmap’;
  • Se minimiza Matlab y se pasa al procesador de palabras escogido
  • Se localiza la posición en la cual estará la gráfica, y del menú edit se escoge ‘paste o pegar’.

 

La gráfica aparecerá en el procesador de palabras.

Existe un pequeño inconveniente ya que la gráfica aparecerásobre un fondo de color negro que Matlab tiene por default, si se imprime estedocumento obviamente la gráfica aparecerá sobre un fondo negro lo cual haráque la impresora gaste tinta en exceso.

Para remediar esto se puede cambiar el color de fondo de lasgráficas a blanco con el comando.

Whitebg

después se hace procedimiento mencionado anteriormente.

Imprimir una gráfica.

Se puede imprimir una gráfica directamente desde el menú dela ventana de la gráfica, seleccionando la opción print.

 

Otros comandos

 

  • What : Listado de todos los archivos *.m en el directorio actual
  • dir : Lista todos los archivos en el directorio actual
  • type nombre_archivo : Lista el programa, (Programas con terminación*.M).
  • Which nombre_archivo : Da el path en el cual esta el archivo.

 

Se pueden utilizar comandos de Unix tales como Ls, pwd.

Como hacer un programa en MATLAB

Es posible realizar un programa en Matlab tal como se hace enotros lenguajes como el basic, pascal o el lenguaje C. Es necesario utilizar uneditor para escribir el código.

 

  • Para cargar un editor, se puede hacer desde la ventana options, escogiendo editor preference, y cargando el editor que se desee utilizar.
  • Para escribir código, requerimos crear un archivo *.M. Para esto necesitamos abrir new M.file en la ventana file.
  • Ahora escribimos el código y salvamos el archivo utilizando la terminación archivo.M.
  • Se puede correr el programa desde Matlab simplemente escribiendo el nombre del archivo que fue creado.
  • Es posible abrir programas con la terminación *.M desde Matlab, en el menú file, open M.file.

 

Bucles For

Tal como en otros programas de programación en Matlab esposible crear programas con estructura con ciclos for.

For x = Número incial : número final

Instrucción

End.

for x = 1 : 10

x = x + 1

end

También se pueden hacer operaciones como la siguiente :

matriz = [ 1 2 3 4; 1 2 3 4; 1 2 3 4; 1 2 3 4]

for x = matriz

x = n(1)*n(2)*n(3)*n(4)

end

Bucles while

While permite que ciertas instrucciones sean repetidas un númeroindefinido de veces bajo el control de una condición lógica.

Por ejemplo, ¿ Cual es primer entero n para el cual n!(factorial) es un número de 100 dígitos ?.

n = 1;

while prod(1:n)<1.e100,n=n+1;end

n

IF ELSE END

Se pueden utilizar estructuras como:

If expresión (verdadero)

acción

End.

If expresión (verdadero)

acción 1

else (Falso)

acción 2

End.

If expresión (verdadero)

acción 1

elseif expresión (verdadero)

acción 2

. . .

else (Falso)

acción "n"

End

 

Análisis de datos.

En Matlab podemos hacer análisis de datos estadísticamenteo probabilisticamente. Entre estos análisis están cálculos de medias, máximos,mínimos, desviaciones estándar, etc.

Inventemos un conjunto de datos, los cuales podremos análizar.

x =[ 9 1 ;23 34; 16 28 ;12 33 ;5 7; 9 4 ;12 34 ;5 14 ;436 ;3 6 ;12 9; 2 30 ;3 2; 2 4]

plot (x) Larepresentación gráfica de los puntos anteriores.

A continuación se hace una análisis de los datospresentados, habrá dos respuestas porque tenemos dos columnas.

media=mean(x) Obtenciónde la media

max(x) El máximode los valores.

min(x) El mínimode los todos los valores

std(x) Ladesviación estándar

hist(x) Histograma.

Interpolación

Matlab tiene varios comandos que nos permiten hacerinterpolaciones, uno de los métodos es por medio de mínimos cuadrados.

Mínimos cuadrados

Se crean varios puntos.

x = [ 0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1 ];

y =[ 0.09 .12 .24 .27 .4 .45 .61 .67 .71 .63 .59];

se muestra los puntos a los cuales se les va a interpolar

plot (x,y,'*')

Se utiliza una aproximación de segundo orden, porque lafunción es no lineal.

n=2 ; Segundoorden.

p=polyfit(x,y,n)Crea los elementos del polinomio quehará la interpolación.

El polinomio es del tipo ax2 + bx + c = 0

f=linspace(0, 1, 100); Formamosuna serie de puntos para gráficar.

z=polyval(p,f); Evaluaciónpolinomial.

plot(x,y,'*',x,y,f,z,':') Hacemosla gráfica de la interpolación.

Podemos ver que la interpolación es pobre. Ahora tratemos dehacerla con un polinomio de quinto grado, el procedimiento es el mismo que elanterior.

n = 5 ;

p = polyfit(x,y,n)

z = polyval(p,f);

plot(x,y,'*',x,y,f,z,':')

Otra forma de interpolar, es con el comando interp1.

g=interp1(x,y,f)

Se puede observar en la gráfica resultante, que parece comouna aproximación lineal entre cada punto.

plot(x,y,'*',f,g)

Para una aproximación más suave es recomendable usar el comando spline, quehace una interpolación tipo cubic spline.

g=spline(x,y,f)

plot(x,y,'*',f,g)

 

Polinomios

MATLAB puede sacar ls raíces de un polinomio. Para capturar el polinomio deabajo, solamente ponemos el valor de cada variable, respetando su lugar. Como nohay termino x1 ,de todos modos se captura como cero.

X3 + 5x2 - 2

p = [1 5 0 -2]

Para sacar las raíces escribimos.

r=roots(p)

 

Tips de memoria.

Para obtener la máxima velocidad en Matlab debemos tratar de vectorizar losalgoritmos, por ejemplo :

a = 0

for a = 0:.0.1:10

a = a + 1;

y(a)=sin(t)

end

La versión vectorizada sería :

t= 0:0.01:10;

y = sin(t)

El primer ejemplo en MATLAB toma aproximadamente 15 segundos,mientras que el segundo toma sólo 0.6 segundos.

Se recomienda ver los tutoriales propios de MATLAB como el intro, expo, elmanual de MATLAB y otros libros de consulta.

 

 

Bibliografía

Resumen realizado a partir del tutorial electrónico del paquete Matlab porEnder José López Méndez (Estudiante de la Escuela de Petróleo de la Facultadde Ingeniería de la Universidad del Zulia Maracaibo Venezuela, Abril de 2003

 

 

Autor:

Ender José López Méndez

tioender@msn.com

Compartir Enviar a menéame  Añadir a tus marcadores de Google  Enviar a noticias Top    Añadir a del.icio.us     Añadir a tus marcadores en Yahoo! 


Publicación enviada por Ender José López Méndez
Contactar mailto:tioender@msn.com


Código ISPN de la Publicación EpypVZkuFyQsFkinXA
Publicado Sunday 10 de August de 2003

Ultimas Publicaciones en ilustrados.com


ilustrados.com nace con el fin difundir el conocimiento publicando trabajos de investigación, monografias, tesis, presentaciones powerpoint y afines. Publicar trabajos en ilustrados.com ha alcanzado prestigio y reconocimiento internacional siendo cada vez más el número de académicos, empresas, investigadores, científicos que consultan las publicaciones de nuestro portal.


Administración y Finanzas
Agricultura y Ganadería
Anatomía
Antropología
Arqueología y Paleontología
Arquitectura
Arte y Cultura
Astronomía
Biografías
Biología
Ciencia y Tecnología
Computación e Informática
Comunicaciones
Contabilidad
Deportes y Educación Física
Derecho
Derechos Humanos
Ecología
Economía
Educación
Enfermedades
Estadística
Filosofía y Ontología
Física
Geografía
Hardware
Historia
Ingeniería
Internet
Lenguaje y Literatura
Marketing y Publicidad
Mitología
Matemática y Lógica
Música
Nutrición y Ciencias Alimentarias
Política
Programación
Psicología
Química
Recursos Humanos
Redes
Religión
Salud y Medicina
Sistemas Operativos
Sociología
Software
Turismo
Zoología