SlideShare una empresa de Scribd logo
Programación
en MATLAB
Dr. J. Abel Mejía M.
FIA-UNALM
PROGRAMACIÓN CON MATLAB
(Aplicaciones en Ingeniería)
Programación en MATLAB
MATLAB puede utilizarse como un lenguaje de
programación de alto nivel que incluye estructuras
de datos, funciones, instrucciones de control de
flujo, manejo de entradas/salidas e incluso
programación orientada a objetos.
Los programas de MATLAB suelen escribirse en
archivos denominados archivos-M. Un archivo-M no
es más que código MATLAB que simplemente
ejecuta una serie de comandos o funciones que
aceptan argumentos y producen una salida. Los
archivos-M se crean utilizando el editor de texto.
Editor de texto y Archivos-M
Para crear un nuevo archivo-M se utiliza el Editor/Debugger,
que se activa haciendo clic en el botón de archivo nuevo de
la barra de herramientas de MATLAB o mediante File →
New → M-file en el escritorio de MATLAB. El
Editor/Debugger se abre con un fichero en blanco en el cual
crearemos el archivo-M, es decir, un archivo con código de
programación MATLAB. Cuando se trate de abrir un archivo-
M ya existente se utiliza File → Open en el escritorio de
MATLAB o, alternativamente, se puede utilizar el comando
Open en la ventana de comandos. También se puede abrir
el Editor/Debugger y eligiendo New→ File en el menú
emergente resultante. La opción Open de este menú abre
un archivo-M existente. Se pueden abrir varios archivos-M
simultáneamente, en cuyo caso aparecerán en ventanas
diferentes.
Funciones
A pesar que el MATLAB dispone de gran variedad de
funciones podemos definir funciones específicos mediante el
comando function. La sintaxis es la siguiente:
Function parámetros de salida = nombre de la función(parámetros de
entrada)
A continuación vamos a definir la función fun1(x)=x3-
2x+cosx, creando el correspondiente archivo-M de nombre
fun1.m:
function p = fun1(x)
p = x^3-2*x+cos(x);
En este caso el parámetro de salida es p; en nombre de la
función fun1 y el parámetro de entrada x.
La evaluación de una función en sus argumentos (o
parámetros de entrada) también puede realizarse a través
del comando feval, cuya sintaxis es la siguiente:
feval(‘F’, arg1, arg2, …, argn) ⇒ evalúa la función F en los
argumentos especificados.
Como ejemplo construimos un archivo-M de nombre
ecuacion2.m que contiene la función ecuacion2, cuyos
argumentos son los tres coeficientes de la ecuación de
segundo grado ax2 + bx + c = 0 y cuyas salidas son sus dos
soluciones:
function[x1,x2]=ecuacion2(a,b,c)
d=b^2-4*a*c;
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
Si ahora queremos resolver la ecuación x2 + 2x + 3 = 0
utilizando feval, escribimos lo siguiente:
>> [x1,x2]=feval('ecuacion2',1,2,3)
x1 =
-1.0000 + 1.4142i
x2 =
-1.0000 - 1.4142i
También se puede resolver la ecuación de 2do grado como:
>> [x1,x2]=ecuacion2(1,2,3)
x1 =
-1.0000 + 1.4142i
x2 =
-1.0000 - 1.4142i
Comando FOR
MATLAB dispone de su propia versión de la sentencia DO
La forma general de un bucle FOR es la siguiente:
for variable = expresión
comandos
end
El bucle siempre empieza con la la sentencia for y termina
con end, e incluye en su interior todo conjunto de
comandos. Veamos el siguiente ejemplo:
for I = 1:N,
for J = 1:N,
A(I,J) = 1/(I+J-1);
end
end
Comando WHILE
Esta sentencia permite ejecutar de forma repetitiva un
comando o grupo de comandos un número determinado de
veces mientras se cumple una condición lógica
especificada. La sintaxis general es la siguiente:
while condición
comandos
end
El bucle siempre empieza con la sentencia while seguida de
una condición, y termina con end, e incluye en su interior
todo un conjunto de comandos como:
while a<b,
a = a+c
b = b-c
end
Comando IF, ELSEIF, ELSE, END
MATLAB, al igual que la mayoría de los lenguajes de
programación estructurada, también incorpora la estructura
IF-ELSEIF-ELSE-END. La sintaxis del bucle es la siguiente:
if condición
comandos
end
En este caso se ejecutan los comandos si la condición es
cierta. Pero la sintaxis de este bucle puede ser más general.
If condición
comandos1
else
comandos2
end
En este caso se ejecutan los comandos1 si la condición es
cierta, y se ejecutan los comandos2 si la condición es falsa.
Las sentencias IF, al igual que las sentencias FOR, pueden
ser anidadas. Cuando se anidan varias sentencias IF se
utiliza la sentencia ELSEIF, cuya sintaxis general es la
siguiente:
if condición 1
comandos1
elseif condición 2
comandos2
elseif condición3
comandos3
.
.
else
end
En este caso se ejecutan los comandos1 y si condición1 es
cierta, se ejecutan los comandos2 si condición1 es falsa y
condición2 es cierta, se ejecutan los comandos3 es cierta, y
así sucesivamente.
La sintaxis anidada anterior es equivalente, pero más rápida
la ejecución, a la sintaxis sin anidar siguiente:
if condición1
comandos1
else
if condición2
comandos2
else
if condición3
comandos3
end
end
end
Comandos SWITCH y CASE
La instrucción switch ejecuta ciertas sentencias basadas en el valor
de una variable o expresión. Su sintaxis básica es la siguiente:
switch expresión (escalar o cadena)
case valor 1
sentencias % Ejecuta si expresión es valor1
case valor 2
sentencias % Ejecuta si expresión es valor2
.
.
.
otherwise
sentencias % Ejecuta si expresión no cumple
% ningún caso
end
Comando CONTINUE
La instrucción continue pasa el control a la iteración siguiente
en el bucle for o while en el cual aparece ignorando las
restantes instrucciones en el cuerpo de bucle. A continuación
se muestra el archivo-M continue.m que cuenta las líneas de
código en el fichero magig.m ignorando las líneas blancas y
los comentarios.
Comando BREAK
La instrucción break finaliza la ejecución de un bucle for o
while en el cual aparece continuando la ejecución en la
siguiente instrucción fuera del bucle. A continuación se
muestra el archivo-M break1.m que lee las líneas de código
en el fichero fft.m saliendo del bucle cuando se encuentre la
primera línea vacía.
Comando TRY ... CATCH
Las intrucciones entre try y catch se ejecutan mientras no ocurra un
error. La instrucción lasterr se utiliza para ver los causa del error. La
sintaxis general de la instrucción es la siguiente:
try:
instrucción,
...,
instrucción,
catch,
instrucción,
...,
instrucción,
end
Comando RETURN
La instrucción return finaliza la secuencia actual de comandos y
devuelve el control a la función invocada o al teclado. A continuación se
presenta un ejemplo que calcula el determinante de una matriz que no
es vacía. Si la matriz es vacía se obtiene el valor 1.
echo on Permite ver en pantalla los literales de los comandos de
las líneas de un Archivo-M mientras se ejecuta
echo off No presenta, en pantalla los literales de los comandos de
la líneas de un Archivo-M (opción por defecto)
pause Causa la interrupción de la ejecución de un Archivo-M
hasta que el usuario pulse una tecla para continuar
pause (n) Causa la interrupción de la ejecución de un Archivo-M
durante n segundos
pause off Deshabilita pause y pause(n)
pause on Habilita pause y pause (n)
Comandos en Archivos-M
MATLAB ofrece ciertos comandos de procedimiento que se utilizan muy a
menudo en la escritura de Archivos-M. Entre ellos tenemos los siguientes:
keyboard Causa la interrupción de la ejecución Archivo-M y pasa el
control al teclado para que el usuario realice otras tareas.
Se vuelve a la ejecución del Archivo-M tecleando sobre la
ventana de comandos el comando return y pulsando Enter.
return Nos devuelve a la ejecución de un Archivo-M
break Causa la interrupción de un bucle prematuramente
clc Limpia la ventana de comandos
home Oculta el cursor
more on Habilita la paginación de la salida de MATLAB en la
ventana de comandos
more off desactiva la paginación de la salida de MATLAB en la
ventana de comandos
more(N) Sitúa el tamaño de paginas en N líneas
menu Permite elegir entre varios tipos de menú para el input del
usuario

Más contenido relacionado

PPTX
Presentación de matlab electromagnetismo ...
PPTX
Clase 10
PDF
Shell script
PDF
Administracion de-sistemas-operativos apuntes-v2-4
PDF
Introduccion matlab
PDF
Matlabteoria 130808215706-phpapp01
PDF
Matlabteoria 130808215706-phpapp01
PDF
Programacion MatLab
Presentación de matlab electromagnetismo ...
Clase 10
Shell script
Administracion de-sistemas-operativos apuntes-v2-4
Introduccion matlab
Matlabteoria 130808215706-phpapp01
Matlabteoria 130808215706-phpapp01
Programacion MatLab

Similar a PROGRAMACION EN MATLAB PARA MÈTODOS NUMÈRICOS (20)

PDF
Matlab teoria
PPT
Diapositivas matlab
PPTX
Programacion Batch
PPTX
Diapositivas matlab
PDF
manual-batch-desde-0
PDF
Manual batch
PDF
Comandos linux
PDF
Quasi - Comandos básicos para UNIX
PDF
Comandos linux unix de manipulación de archivos y directorios
PDF
Comando de linux
PDF
Comandos basicos linux
PDF
tutorial0.pdf
PDF
PDF
Int prog matlab
PPTX
Lectura y-escritura-desde-archivos
PDF
Prac1
PDF
Matlab aplicacione s
PPT
Programacion En Mat Lab
PDF
11 suplemments
PDF
11 suplemments
Matlab teoria
Diapositivas matlab
Programacion Batch
Diapositivas matlab
manual-batch-desde-0
Manual batch
Comandos linux
Quasi - Comandos básicos para UNIX
Comandos linux unix de manipulación de archivos y directorios
Comando de linux
Comandos basicos linux
tutorial0.pdf
Int prog matlab
Lectura y-escritura-desde-archivos
Prac1
Matlab aplicacione s
Programacion En Mat Lab
11 suplemments
11 suplemments
Publicidad

Último (20)

PPTX
Presentacion_Palcoma_Alta energia solar eolica
PDF
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
PDF
1132-2018 espectrofotometro uv visible.pdf
PDF
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
PDF
Perfilaje de Pozos _20250624_222013_0000.pdf
PDF
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
PDF
prg2_t01_p01_Fundamentos POO - parte1.pdf
PDF
Durabilidad del concreto en zonas costeras
PDF
SISTEMAS DE PUESTA A TIERRA: Una introducción a los fundamentos de los sistem...
PDF
LIBRO UNIVERSITARIO SOFTWARE PARA INGENIERIA BN.pdf
PPT
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
PDF
Informe Estudio Final Apagon del 25 de febrero
PPTX
DEBL Presentación PG 23.pptx [Autoguardado].pptx
PDF
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
PDF
Pensamiento Politico Siglo XXI Peru y Mundo.pdf
PPTX
Software para la educación instituciones superiores
PDF
Curso Introductorio de Cristales Liquidos
PPT
Sustancias Peligrosas de empresas para su correcto manejo
PDF
LIBRO UNIVERSITARIO SISTEMAS PRODUCTIVOS BN.pdf
PPTX
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
Presentacion_Palcoma_Alta energia solar eolica
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
1132-2018 espectrofotometro uv visible.pdf
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
Perfilaje de Pozos _20250624_222013_0000.pdf
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
prg2_t01_p01_Fundamentos POO - parte1.pdf
Durabilidad del concreto en zonas costeras
SISTEMAS DE PUESTA A TIERRA: Una introducción a los fundamentos de los sistem...
LIBRO UNIVERSITARIO SOFTWARE PARA INGENIERIA BN.pdf
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
Informe Estudio Final Apagon del 25 de febrero
DEBL Presentación PG 23.pptx [Autoguardado].pptx
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
Pensamiento Politico Siglo XXI Peru y Mundo.pdf
Software para la educación instituciones superiores
Curso Introductorio de Cristales Liquidos
Sustancias Peligrosas de empresas para su correcto manejo
LIBRO UNIVERSITARIO SISTEMAS PRODUCTIVOS BN.pdf
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
Publicidad

PROGRAMACION EN MATLAB PARA MÈTODOS NUMÈRICOS

  • 1. Programación en MATLAB Dr. J. Abel Mejía M. FIA-UNALM PROGRAMACIÓN CON MATLAB (Aplicaciones en Ingeniería)
  • 2. Programación en MATLAB MATLAB puede utilizarse como un lenguaje de programación de alto nivel que incluye estructuras de datos, funciones, instrucciones de control de flujo, manejo de entradas/salidas e incluso programación orientada a objetos. Los programas de MATLAB suelen escribirse en archivos denominados archivos-M. Un archivo-M no es más que código MATLAB que simplemente ejecuta una serie de comandos o funciones que aceptan argumentos y producen una salida. Los archivos-M se crean utilizando el editor de texto.
  • 3. Editor de texto y Archivos-M Para crear un nuevo archivo-M se utiliza el Editor/Debugger, que se activa haciendo clic en el botón de archivo nuevo de la barra de herramientas de MATLAB o mediante File → New → M-file en el escritorio de MATLAB. El Editor/Debugger se abre con un fichero en blanco en el cual crearemos el archivo-M, es decir, un archivo con código de programación MATLAB. Cuando se trate de abrir un archivo- M ya existente se utiliza File → Open en el escritorio de MATLAB o, alternativamente, se puede utilizar el comando Open en la ventana de comandos. También se puede abrir el Editor/Debugger y eligiendo New→ File en el menú emergente resultante. La opción Open de este menú abre un archivo-M existente. Se pueden abrir varios archivos-M simultáneamente, en cuyo caso aparecerán en ventanas diferentes.
  • 4. Funciones A pesar que el MATLAB dispone de gran variedad de funciones podemos definir funciones específicos mediante el comando function. La sintaxis es la siguiente: Function parámetros de salida = nombre de la función(parámetros de entrada) A continuación vamos a definir la función fun1(x)=x3- 2x+cosx, creando el correspondiente archivo-M de nombre fun1.m: function p = fun1(x) p = x^3-2*x+cos(x); En este caso el parámetro de salida es p; en nombre de la función fun1 y el parámetro de entrada x.
  • 5. La evaluación de una función en sus argumentos (o parámetros de entrada) también puede realizarse a través del comando feval, cuya sintaxis es la siguiente: feval(‘F’, arg1, arg2, …, argn) ⇒ evalúa la función F en los argumentos especificados. Como ejemplo construimos un archivo-M de nombre ecuacion2.m que contiene la función ecuacion2, cuyos argumentos son los tres coeficientes de la ecuación de segundo grado ax2 + bx + c = 0 y cuyas salidas son sus dos soluciones: function[x1,x2]=ecuacion2(a,b,c) d=b^2-4*a*c; x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a);
  • 6. Si ahora queremos resolver la ecuación x2 + 2x + 3 = 0 utilizando feval, escribimos lo siguiente: >> [x1,x2]=feval('ecuacion2',1,2,3) x1 = -1.0000 + 1.4142i x2 = -1.0000 - 1.4142i También se puede resolver la ecuación de 2do grado como: >> [x1,x2]=ecuacion2(1,2,3) x1 = -1.0000 + 1.4142i x2 = -1.0000 - 1.4142i
  • 7. Comando FOR MATLAB dispone de su propia versión de la sentencia DO La forma general de un bucle FOR es la siguiente: for variable = expresión comandos end El bucle siempre empieza con la la sentencia for y termina con end, e incluye en su interior todo conjunto de comandos. Veamos el siguiente ejemplo: for I = 1:N, for J = 1:N, A(I,J) = 1/(I+J-1); end end
  • 8. Comando WHILE Esta sentencia permite ejecutar de forma repetitiva un comando o grupo de comandos un número determinado de veces mientras se cumple una condición lógica especificada. La sintaxis general es la siguiente: while condición comandos end El bucle siempre empieza con la sentencia while seguida de una condición, y termina con end, e incluye en su interior todo un conjunto de comandos como: while a<b, a = a+c b = b-c end
  • 9. Comando IF, ELSEIF, ELSE, END MATLAB, al igual que la mayoría de los lenguajes de programación estructurada, también incorpora la estructura IF-ELSEIF-ELSE-END. La sintaxis del bucle es la siguiente: if condición comandos end En este caso se ejecutan los comandos si la condición es cierta. Pero la sintaxis de este bucle puede ser más general. If condición comandos1 else comandos2 end En este caso se ejecutan los comandos1 si la condición es cierta, y se ejecutan los comandos2 si la condición es falsa.
  • 10. Las sentencias IF, al igual que las sentencias FOR, pueden ser anidadas. Cuando se anidan varias sentencias IF se utiliza la sentencia ELSEIF, cuya sintaxis general es la siguiente: if condición 1 comandos1 elseif condición 2 comandos2 elseif condición3 comandos3 . . else end En este caso se ejecutan los comandos1 y si condición1 es cierta, se ejecutan los comandos2 si condición1 es falsa y condición2 es cierta, se ejecutan los comandos3 es cierta, y así sucesivamente.
  • 11. La sintaxis anidada anterior es equivalente, pero más rápida la ejecución, a la sintaxis sin anidar siguiente: if condición1 comandos1 else if condición2 comandos2 else if condición3 comandos3 end end end
  • 12. Comandos SWITCH y CASE La instrucción switch ejecuta ciertas sentencias basadas en el valor de una variable o expresión. Su sintaxis básica es la siguiente: switch expresión (escalar o cadena) case valor 1 sentencias % Ejecuta si expresión es valor1 case valor 2 sentencias % Ejecuta si expresión es valor2 . . . otherwise sentencias % Ejecuta si expresión no cumple % ningún caso end
  • 13. Comando CONTINUE La instrucción continue pasa el control a la iteración siguiente en el bucle for o while en el cual aparece ignorando las restantes instrucciones en el cuerpo de bucle. A continuación se muestra el archivo-M continue.m que cuenta las líneas de código en el fichero magig.m ignorando las líneas blancas y los comentarios. Comando BREAK La instrucción break finaliza la ejecución de un bucle for o while en el cual aparece continuando la ejecución en la siguiente instrucción fuera del bucle. A continuación se muestra el archivo-M break1.m que lee las líneas de código en el fichero fft.m saliendo del bucle cuando se encuentre la primera línea vacía.
  • 14. Comando TRY ... CATCH Las intrucciones entre try y catch se ejecutan mientras no ocurra un error. La instrucción lasterr se utiliza para ver los causa del error. La sintaxis general de la instrucción es la siguiente: try: instrucción, ..., instrucción, catch, instrucción, ..., instrucción, end Comando RETURN La instrucción return finaliza la secuencia actual de comandos y devuelve el control a la función invocada o al teclado. A continuación se presenta un ejemplo que calcula el determinante de una matriz que no es vacía. Si la matriz es vacía se obtiene el valor 1.
  • 15. echo on Permite ver en pantalla los literales de los comandos de las líneas de un Archivo-M mientras se ejecuta echo off No presenta, en pantalla los literales de los comandos de la líneas de un Archivo-M (opción por defecto) pause Causa la interrupción de la ejecución de un Archivo-M hasta que el usuario pulse una tecla para continuar pause (n) Causa la interrupción de la ejecución de un Archivo-M durante n segundos pause off Deshabilita pause y pause(n) pause on Habilita pause y pause (n) Comandos en Archivos-M MATLAB ofrece ciertos comandos de procedimiento que se utilizan muy a menudo en la escritura de Archivos-M. Entre ellos tenemos los siguientes:
  • 16. keyboard Causa la interrupción de la ejecución Archivo-M y pasa el control al teclado para que el usuario realice otras tareas. Se vuelve a la ejecución del Archivo-M tecleando sobre la ventana de comandos el comando return y pulsando Enter. return Nos devuelve a la ejecución de un Archivo-M break Causa la interrupción de un bucle prematuramente clc Limpia la ventana de comandos home Oculta el cursor more on Habilita la paginación de la salida de MATLAB en la ventana de comandos more off desactiva la paginación de la salida de MATLAB en la ventana de comandos more(N) Sitúa el tamaño de paginas en N líneas menu Permite elegir entre varios tipos de menú para el input del usuario