Tema 7: Programación con Matlab



Documentos relacionados
Práctica 7: Programación con Matlab

Tema 4: Empezando a trabajar con ficheros.m

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014

Introducción a la Programación en MATLAB

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

ESTRUCTURAS CONDICIONALES EN PHP: SWITCH, CASE, BREAK. EJEMPLOS DE USO Y EJERCICIOS RESUELTOS. (CU00820B)

PHP y MySQL. Indice: Switch Bucles For While do...while

PRACTICA 6. VECTORES Y MATRICES.

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Práctica 1ª: Introducción a Matlab. 1er curso de Ingeniería Industrial: Ingeniería de Control

Práctica 3: Funciones

Estructuras Repetitivas: SENTENCIA WHILE EN MATLAB INFORMÁTICA T2 INGENIERÍA INDUSTRIAL JORNADA ESPECIAL

Tema 5 Sentencias de control de flujo. Fundamentos de Informática

Herramientas computacionales para la matemática MATLAB: Funciones definidas por el usuario (parte II)

Comenzando con MATLAB

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

Métodos Iterativos para Resolver Sistemas Lineales

Estructuras de Control - Diagrama de Flujo

MATLAB en 30 minutos

Práctica 4: Estructuras selectivas

Algorítmica y Lenguajes de Programación. Ordenación (i)

Algoritmos y Diagramas de Flujo 2

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

INTRODUCCIÓN DÓNDE ENCONTRAR LA CALCULADORA WIRIS

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

Este programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.

Estructuras de Datos y Algoritmos Tecnólogo en Informática

1. DML. Las subconsultas

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas

Introducción a Matlab

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso v1.0 (05.03.

Cómo?: Resolviendo el sistema lineal homógeneo que satisfacen las componentes de cualquier vector de S. x4 = x 1 x 3 = x 2 x 1

Programación: QBASIC

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

>> % suma de dos números reales, el resultado se asigna a ans

Programa Presupuestos de Sevillana de Informática.

Centro de Capacitación en Informática

Elementos de Microsoft Word

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

SOLUCIÓN CASO GESTIÓN DE COMPRAS

Prácticas de programación en C con MinGW Developer Studio

Curso 0 de Informática

1) Como declarar una matriz o un vector.

Centro de Capacitación en Informática

El e-commerce de Grupo JAB es una herramienta que permite a los clientes del Grupo, realizar un amplio conjunto de servicios de consulta, petición y

Hoja1!C4. Hoja1!$C$4. Fila

LINUX - Los archivos de órdenes I

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Soporte lógico de computadoras

Estructuras de Control - Diagrama de Flujo

1. MANEJO DE SUMATORIOS. PROPIEDADES Y EJERCICIOS.

EJERCICIOS DE PROGRAMACIÓN RELACIÓN VII (EJERCICIOS DE REPASO)

Tecnologías de la Información. Apuntes de programación en Visual Basic 6.0

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B)

Ejemplos de conversión de reales a enteros

Definiciones. Tema 21_Módulos Menú 1

Manual de Introducción a SIMULINK

Informática I. While & do While

Manual Impress Impress Impress Impress Impress Draw Impress Impress

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

LAS SUBCONSULTAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Capítulo 3 Usando GUIDE. 3.1 Acerca de GUIDE

ETS Caminos Santander. Curso Ejercicios de introducción a la programación.

CLASE # 5 TÉCNICAS DE CAJA BLANCA

Guía de Aprendizaje No. 1

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

Introducción a Matlab.

Manual SBR. Pero antes de explicar las actividades que principalmente podemos desarrollar vamos a dar una visión global de la aplicación.

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MACROS. Automatizar tareas a través del uso de las macros.

Sistema de Gestión Académica. Mantenimiento de Usuarios. Revisión 1.0. Servicio de Informática Área de Gestión

Características básicas de Matlab

El proceso de edición digital en Artelope y CTCE

Manual básico de Robomid

Formularios. Formularios Diapositiva 1

2º ITT SISTEMAS ELECTRÓNICOS 2º ITT SISTEMAS DE TELECOMUNICACIÓN 3º INGENIERÍA DE TELECOMUNICACIÓN AUTÓMATAS Y SISTEMAS DE CONTROL

Curso de Excel Avanzado

3 ESTRUCTURAS DE CONTROL REPETITIVAS. BUCLES

LibreOffice - curso avanzado

CONCEPTOS BASICOS DEL LENGUAJE JAVA

BREVE MANUAL DE SOLVER

Matrices Invertibles y Elementos de Álgebra Matricial

DIRECTRICES Y ORIENTACIONES GENERALES PARA LAS PRUEBAS DE ACCESO A LA UNIVERSIDAD

ELECTRÓNICA DIGITAL. Una señal es la variación de una magnitud que permite transmitir información. Las señales pueden ser de dos tipos:

1.4.- D E S I G U A L D A D E S

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

Anexo 1: Demostraciones

Se introduce en la Ventana de Álgebra la expresión cuya primitiva queremos calcular. Con la expresión seleccionada

Proyecto de Innovación Docente: Guía multimedia para la elaboración de un modelo econométrico.

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

GENERACIÓN DE CÓDIGO

Comencemos a programar con. Entrega 09

TeleMenú. TeleMenú. Gestión de restaurantes, bares y pizzerías vía radio

Sentencias o instrucciones en Visual BASIC

Introducción a PHP. * No es necesario declarar previamente las variables.

efactura Online La fibra no tiene competencia

Curso Internet Básico - Aularagon

Transcripción:

Tema 7: Programación con Matlab 1. Introducción Matlab puede utilizarse como un lenguaje de programación que incluye todos los elementos necesarios. Añade la gran ventaja de poder incorporar a los programas propios del usuario todas las aplicaciones que ya tiene implementadas, lo cual facilita y simplifica en muchos casos la programación. También será de gran utilidad tener en cuenta la estructura vectorial y matricial del programa. Como ya hemos adelantado, los programas en Matlab suelen escribirse en los ficheros.m (M-ficheros). Lo normal es que sea en ficheros Scrips que resultan los más sencillos. A veces, no tienen argumentos de entrada ni salida y están formados por un conjunto de instrucciones que se ejecutan secuencialmente. Por ejemplo, el fichero de la figura 26 representa una curva cuando se escribe su nombre, en este caso pinta, en la línea de comandos y se pulsa intro. Figura 26 67

Se puede decir que este ya es un programa creado en Matlab. La estructura general de un programa MATLAB es la siguiente: 1) Comentarios: inicialmente, pueden aparecer líneas comentadas en las que se da un título al programa y se realiza una breve descripción del mismo. Esta parte es opcional, pero es útil introducirla ya que se nos permite acceder directamente desde la ventana de comandos a la información comentada mediante la utilización del comando help, en la forma: >> help nombre del programa 2) Entrada de datos si se requiere: los datos necesarios para la resolución del problema deben suministrarse al programa mediante la lectura de sus valores por teclado o desde un fichero de datos. 3) Algoritmo: desarrollo de un procedimiento que permite obtener la solución del problema en función de los datos de entrada. 4) Salida de datos: los datos obtenidos como solución del algoritmo se deben ofrecer al usuario mediante escritura en pantalla o en un fichero de datos. 2. Entrada y salida de datos Existe un comando para introducir información en un programa cuando estamos en modo de ejecución. Este comando es: v=input( Cadena de Caracteres ) input realiza dos tareas: 1) Imprime en pantalla la cadena de caracteres que lleva como argumento. 2) Los datos que el usuario teclea en respuesta al letrero, los introduce en la variable v. Para que un programa en modo de ejecución pueda escribir letreros, avisos, etc. por pantalla, se utiliza el comando: disp( Cadena de Caracteres ) que escribe la cadena de caracteres que tiene como argumento en pantalla. Para escribir el valor de una variable, se utiliza el comando: disp(v) que muestra en pantalla el valor de la variable v. Para escritura de texto y/o datos en pantalla, se puede utilizar la función: sprintf( formato, variables). Ejemplos: >> n=input( teclea el número de elementos ) 68

>>disp( este valor no es adecuado ) 3. Operadores Ya hemos estudiado operadores de tipo aritmético. En este momento puede ser de utilidad conocer otros tipos de operadores: Operadores relacionales: < Menor <= Menor o igual >= Mayor o igual > Mayor == Igualdad ~= Desigualdad find(a) Devuelve los índices de los elementos no nulos find(a condición) Devuelve los índices de los elementos de A que cumplen la condición Operadores lógicos ~A Negación lógica A & B Conjunción lógica (and) A B Disyunción lógica (or) xor(a,b) or exclusivo, vale 1 si A o B, pero no ambos, valen 1 Todos estos operadores actúan elemento a elemento en matrices y vectores. Las dimensiones y número de elementos de las tablas deben coincidir. Ejemplo: >> A=1:9; P=(A>2)&(A<6) P= 0 0 1 1 1 0 0 0 0 4. Sentencias de control El uso de aplicaciones recursivas y condicionales es muy habitual en matemáticas. Para ello si utilizan las bifurcaciones y los bucles. Las bifurcaciones permiten realizar una u otra operación según se cumplan o no ciertas condiciones. Los bucles repiten operaciones sobre datos distintos. Algunas de las sentencias de las que dispone Matlab para este tipo de trabajos son las siguientes: 69

Sentencia for: Permite ejecutar de forma repetitiva un comando o grupo de comandos. La forma general de un bucle for es: for variable=expresión comandos Por ejemplo: for i=1:3;v(i)=1;;v 1 1 1 >> Así, un bucle for siempre empieza por la sentencia for y termina con la. En su interior incluye todo un conjunto de comandos que se separan por comas. En algunos casos es bueno poner puntos y comas para evitar repeticiones en las salidas. Por supuesto puede utilizarse en ficheros.m (figura 27). Figura 27 Sentencia if: 70

Mediante esta estructura se pueden ejecutar secuencias de comandos si se cumplen determinadas condiciones. Su sintaxis es: If condición comandos De forma más general: If condición comandos 1 else comandos 2 que ejecuta comandos 1 si la condición 1 es cierta y comandos 2 si es falsa. Como en el caso de for, se pueden anidar sentencias if: If condición 1 comandos 1 elseif condición 2 comandos 2 elseif condición 3 comandos 3... else Mediante el siguiente ejemplo se imprime en pantalla una frase, de tres posibles, según sea el valor de la variable n: N=input( introduce un número natural ) If n=0, disp( n es cero ) elseif rem(n,2)==0 disp( n es par ) else disp ( n es impar ) Sentencia while: 71

También dispone de la sentencia haz mientras que ejecuta un bucle mientras una condición sea cierta. Su sintaxis es: while condición comandos en el interior (comandos) se incluyen todo tipo de comandos que se separan por comas y que se ejecutan mientras la condición sea cierta. Como ejemplo calcularemos el mayor número factorial que no esceda a 10 100 : n=1; while prod(1:n)<1.e100, n=n+1;, n Este otro ejemplo tiene como salida el vector 1 2 3 4 5 6. v=1:9; i=1; while v(i)<7 disp(v(i)) i=i+1; Continue Esta sentencia hace que se pase inmediatamente a la siguiente iteración del bucle for o while, saltándose todas las sentencias que existan entre el continue y el final del bucle en esa iteración. Break Hace que se termine la ejecución de un bucle for o while. Nota: existen otras sentencias que pueden ser de interés y que pueden consultarse en: matlab\lang - Programming language constructs. 72

Práctica 7: Programación con Matlab 1. Se pide: a) Definir la función f x x) = x ( 1 2 1 si si 2 x 2 x < 2 ó x > 2 b) Diseñar un programa que obtenga f(x) si x es un escalar, pero si es un intervalo (vector de dos componentes) dibuje la función en ese intervalo; en caso contrario debe aparecer un aviso en pantalla. c) Realizar la llamada al programa para: 1: Evaluar la función en los valores 1 y 8. 2: Obtener la gráfica de la función en el intervalo [-15,15]. d) Arreglar el apartado a) para que f se pueda aplicar sobre vectores y nos de las salidas de la aplicación de la función sobre cada componente. 2. Construir un programa que calcule los cubos de los números naturales cuyo cuadrado sea menor que un número m (que se pide al usuario) y los introduzca en un vector v. 3. Construir una función r(a,b,c) que calcule las raíces de un ecuación de 2º grado ax 2 +bx+c y que indique: a. La ecuación no es de 2º grado si a=0. b. Que existen 2 raíces reales distintas. c. Que existe una raíz real doble. d. Que existen dos raíces complejas. 4. Construir un programa que nos de los n primeros números de la sucesión a(n)=n 2-4n+3. Añadir una sentencia al programa que permita representar los términos en el plano. 5. Crear un programa que calcula la matriz A de elementos a ij =i 2 +j. 6. Dado un plano ax+by+c=0, crear un programa que nos diga si un punto (x,y) pertenece a dicho plano, está por encima o por debajo de él. 73

7. Crear un programa que detecte si en un determinado intervalo [a,b] existe una raíz de una función continua f(x). 8. En un comercio se ven cajas de tornillos. Su precio depe del número de cajas comprados: hasta 100 cajas el precio de la caja es de 2 euros, desde 101 a 200 cajas el precio es 1,5 euros y, a partir de 201 cajas el precio es de 1 euro. Elaborar un programa que pregunte el número de cajas demandadas y que indique el precio de la unidad y el coste total del pedido. 9. Realiza una tabla que incorpore el valor de los números enteros menores que 20, sus inversos, sus cuadrados y sus raíces cuadradas. Hacerlo primeramente con el comando while y luego con el comando for. 10. Programar el método de la bisección y el de Newton para aproximar raíces de funciones. 74