Está en la página 1de 4

Prof.

Denis Parra Santander Martes 8 de Mayo de 2007

Programación en Matlab – INFO 095

1. Requisitos

• La programación en Matlab se realiza en archivos cuya extensión es .m.


• Antes de poder ejecutar un archivo .m debe almacenarse el archivo en el
PATH de Matlab, o agregar el directorio donde se almacena el archivo al
PATH de Matlab. Esto se realiza en el Menú File -> Set Path.
• Para ejecutar el archivo simplemente se escribe su nombre en el entorno de
comandos de Matlab.

2. Tabla Comparativa de Instrucciones en Pseudocódigo e Instrucciones en


Matlab (pueden saltarla y pasar al punto 3)

Pseudocódigo MATLAB
x1+2 x=1+2;
leer (var1) var1=input(‛’);
Escribir (‛Ingrese los números:’) disp(‛Ingrese los números’);
Escribir(‛Ud. escribió’, var, ‛números’) fprintf(‛Ud. Escribió %d números’, var);
escribir(‛Ingresa tu nombre’)
nom = input (‛Ingresa tu nombre’);
leer(nom)
Si (x>3) entonces If (x>3)
Escribir(‛hola’) disp(‛hola’);
Fin Si end
Mientras (x<=6) hacer while (x<=6)
Leer(num) num=input(‛’);
xx+1 x=x+1;
Fin mientras end
Para x1 hasta 3 hacer for x=1:3
escribir (‛hola’) disp(‛hola’);
Fin Para end
Para x9 hasta 1 step -1 hacer for x=9 :-1 : 1
factorial  factorial * x factorial=factorial*x;
Fin Para end
Casos (var_estacion) Switch (var_estacion)
‛1’ : escribir(‛primavera’) case ‛1’ disp(‛primavera’);
‛2’ : escribir(‛verano’) case ‛2’ disp(‛verano’)
‛3’ : escribir(‛otoño’) case ‛3’ disp(‛otoño’)
‛4’ : escribir(‛invierno’) case ‛4’ disp(‛invierno’)
Fin Casos end
Prof. Denis Parra Santander Martes 8 de Mayo de 2007

3. Tipos de Archivos .m

El archivo .m no tiene una estructura rígida, puede ser sólo una lista de comandos
Matlab. Por ejemplo para hacer un programa en Matlab que escriba en pantalla la frase
Hola Mundo, basta lo siguiente:

% Programa en Matlab que escribe en Pantalla “Hola, Mundo”

disp ( ‘Hola, Mundo’)

Ahora bien, si el archivo .m realiza unas acciones concretas sobre unas variables de
entrada para generar unas variables de salida es mejor convertirlo en una función de
Matlab.

De esta forma, el resto de las variables que se utilicen en la función serán variables
locales, con lo que no alterarán el contenido de las variables definidas en el entorno de
comandos de Matlab.

Por supuesto, las funciones pueden llamarse también desde otros archivos de comandos
o funciones de Matlab. Para que un archivo .m o archivo de comandos Matlab pueda
considerarse una función de Matlab, basta crear un archivo con nombre
nombre_funcion.m y cuya primera línea (excluyendo comentarios) tenga esta
estructura:

[var_salida_1, var_salida_2] = nombre_funcion


(var_entrada1, var_entrada2)

Por supuesto que al definir la función pueden tenerse tantas variables de entrada como
de salida.

Pero además para que las funciones sean lo más versátiles posibles, a la hora de utilizar
la función se pueden recoger sólo aquellas variables de entrada que necesitemos, y
pasarle menos argumentos de los que estén declarados en la función. Esto último es
muy útil para utilizar parámetros a los que se les pueda asignar valores por defecto
dentro de la función si no se pasa la variable correspondiente.

4. Ejemplo de función en archivo .m:

Abra el editor de Matlab escribiendo en el entorno de comandos edit.

Escriba un archivo potencias.m, en algún directorio accesible por Matlab (es


decir, dentro del PATH de Matlab), con el siguiente contenido:

% POTENCIAS calcula potencias enteras


%
% POTENCIAS(x) genera las potencias segunda, tercera y
Prof. Denis Parra Santander Martes 8 de Mayo de 2007

% cuarta de x
%
% Por defecto x = 2
%
function [x2,x3,x4] = potencias(x)

if (nargin==0)
x2=2;
x3=4;
x4=8;
else
x2=x*x;
x3=x2*x;
x4=x3*x;
end

Si se pasa un argumento numérico se calculan algunas de sus potencias. Si no se pasa


ninguno se asignan las potencias de 2:

Operación (entorno de comandos) Resultado


[cuadrado,cubo]=prueba(3) cuadrado =
9
cubo =
27
[cuadrado,cubo,cuarta]=prueba cuadrado =
2
cubo =
4
cuarta =
8

Este mismo ejemplo nos sirve para comentar la creación de ayudas en las
funciones: Matlab entiende como descripción de la función todas las líneas de
comentario que aparecen en la cabecera antes de la primera línea interpretable (en el
caso de una función la que contiene la palabra function y la descripción de los
argumentos). Al pedir ayuda del comando mostrará todas esas líneas de ayuda. Si la
búsqueda se realiza con lookfor se mostrará sólo la primera línea.

Operación (entorno de comandos) Resultado


help potencias
POTENCIAS calcula potencias enteras

POTENCIAS(x) genera las potencias 2,


3 y 4 de x

Por defecto x=2

lookfor potencias POTENCIAS calcula potencias enteras


Prof. Denis Parra Santander Martes 8 de Mayo de 2007

5. Ejercicios

a) Escriba una función en Matlab cuya entrada sean dos vectores de igual
dimensión y cuya salida sea la suma de los vectores. Si la dimensión de los
vectores no coincide, se debe enviar un mensaje de advertencia.

b) Escriba una función en Matlab cuyas entradas sean dos números x, y. El


primero (x) debe estar entre 1 y 10. El segundo (y) puede ser cualquier valor.
La salida de la función es una matriz cuadrada de dimensión
x cuya diagonal sean valores iguales a y.

c) Escriba una función en Matlab cuya entrada sea un número del 1 al 7 y cuya
salida sea el día de la semana correspondiente. Si no se escribe entrada, por
defecto la salida es “lunes”.

6. Referencias

[1] “Introducción a Matlab”, Fernando Tadeo Rico, Dpto. de Ingeniería de Sistemas y


Automática, Facultad de Ciencias, Universidad de Valladolid.