Clase 2 (ayudantia)

  • Uploaded by: Denis Parra Santander
  • 0
  • 0
  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Clase 2 (ayudantia) as PDF for free.

More details

  • Words: 893
  • Pages: 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’) leer(nom) Si (x>3) entonces

nom = input (‛Ingresa tu nombre’); 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 disp(‛hola’);

escribir (‛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] (var_entrada1, var_entrada2)

=

nombre_funcion

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)

[cuadrado,cubo]=prueba(3)

[cuadrado,cubo,cuarta]=prueba

Resultado

cuadrado = 9 cubo = 27 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.

Related Documents

Clase 2 (ayudantia)
October 2019 30
Clase Ayudantia 3
November 2019 29
Ayudantia 2
August 2019 46
Ayudantia 2 Mat024.pdf
April 2020 21
Ayudantia 7
August 2019 48
Ayudantia 3
November 2019 30

More Documents from ""

Clase 2 (ayudantia)
October 2019 30
Clase 3 Matlab
October 2019 20
Tise2005 2cols
August 2019 15
Intro Matlab
October 2019 31
Sieci 2004 R6
August 2019 26