Señales y Sistemas (66.74) Práctica 0 : Introducción a MATLAB/OCTAVE



Documentos relacionados
1. Visualización de datos con Octave

Introducción a la Programación en MATLAB

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

Introducción a Matlab.

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

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

Capítulo 9. Archivos de sintaxis

Acronis License Server. Guía del usuario

Curso PHP Módulo 1 R-Luis

Introducción a Matlab

Práctica 3: Funciones

TEMA 5. INTRODUCCIÓN AL MANEJO DE ORIGIN 6.1

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: Fax.:

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

Comenzando con MATLAB

Tema 7: Programación con Matlab

Modulo 1 El lenguaje Java

Tema 4: Empezando a trabajar con ficheros.m

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

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.

GENERACIÓN DE TRANSFERENCIAS

Procesado de datos con MATLAB

Operación de Microsoft Word

GENERACIÓN DE ANTICIPOS DE CRÉDITO

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

Gráficos en Matlab

1) Como declarar una matriz o un vector.

PROGRAMA DE CONTROL DE CALIDAD

Preliminares. Tipos de variables y Expresiones

Guardar y abrir documentos

Ecuaciones de primer grado con dos incógnitas

SIIGO Pyme. Templates. Cartilla I

El programa Minitab: breve introducción a su funcionamiento. Para mostrar la facilidad con la que se pueden realizar los gráficos y cálculos

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de

Características básicas de Matlab

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

Sistemas Inteligentes de Gestión. Relación de ejercicios CLIPS. Sistemas expertos basados en reglas con encadenamiento hacia adelante

Introducción a la plataforma Moodle Aníbal de la Torre Plataforma Moodle. Accediendo a los contenidos

Charla N 6: Utilidades de Consulta de datos.

MATLAB en 30 minutos

Soporte y mantenimiento de base de datos y aplicativos

Formularios. Formularios Diapositiva 1

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

Creación y administración de grupos locales

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.

MANUAL COPIAS DE SEGURIDAD

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Matlab para Análisis Dinámico de Sistemas

Operación Microsoft Access 97

SESIÓN 1: POWER POINT 2013

Matrices equivalentes. El método de Gauss

ARREGLOS DEFINICION GENERAL DE ARREGLO

ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas.

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS

Operación de Microsoft Excel

Roberto Quejido Cañamero

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

LAS CONSULTAS ACCESS Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

Manual de Introducción a SIMULINK

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.

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Tutorial Básico de vbscript

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

Tutorial: Cómo realizar tu primer programa en C++ En el Sistema Operativo Windows

Una vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón.

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Internet Information Server

Manual Ingreso Notas y Acta Electrónica

Entre los más conocidos editores con interfaz de desarrollo tenemos:

Guía N 1: Fundamentos básicos(i)

2_trabajar con calc I

UNIVERSIDAD DE PUERTO RICO

Manual de rol gestor de GAV para moodle 2.5

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

MÓDULO 2: TRATAMIENTO DE DATOS CON HOJA DE CÁLCULO. Tema 1: Gestión de listas de datos y tablas dinámicas. Leire Aldaz, Begoña Eguía y Leire Urcola

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

Práctica 0: Introducción a Matlab. Series Temporales. Diplomatura en Estadística. 2009/2010

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS

5.4. Manual de usuario

Introducción a la Estadística con Excel

Trey-SAT Pag. 1. Manual de usuario

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina

Subespacios vectoriales en R n

Instructivo de Instalación y Uso de software MasterControl

Manual Oficina Web de Clubes (FBM)

Manual Consultas Web - PC Sistel Ver 486R4+ - USUARIO JEFATURA

Fórmulas. Objetivos y Definición. Definir fórmulas nos brinda una forma clave de compartir conocimiento y obtener código generado optimizado

COMBINAR CORRESPONDENCIA EN MICROSOFT WORD

Funciones. Funciones Diapositiva 1

ELEMENTOS BÁSICOS DE MATHEMATICA

Actividades con GeoGebra

MATERIAL 2 EXCEL 2007

facilidades para cálculo matemático y Dispone de toolboxes especializados: Control Systems, Neural Netword, Optimization, etc.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

PowerPoint 2010 Modificar el diseño de las diapositivas

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

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

Gesfincas. INSTALACIÓN DE LA APLICACIÓN (Monopuesto y Red Local)

Transcripción:

Last modified: Tue Mar 13 09:42:53 ART 2007 Señales y Sistemas (66.74) Práctica 0 : Introducción a MATLAB/OCTAVE El objetivo de esta práctica es proveer al alumno con una breve guía sobre la utilización básica de MATLAB necesaria para el desarrollo de esta materia, mediante descripción de los aspectos básicos de manejo de este programa, funciones, archivos, etc. y una serie corta de ejercicios que cubrirían los aspectos más elementales expuestos. Una mas amplia cobertura de estos tema se puede encontrar en: Eds. The Student Edition of MATLAB, The MATLAB Curriculum Series, Prentice Hall También se puede utilizar el Octave como alternativa al MATLAB. El Octave es un paquete GNU inspirado en el paquete comercial MATLAB, con el cual es prácticamente compatible hasta las versiones 4. Está disponible en las máquinas de los laboratorios entrando en linux. Desde una xterm tipear octave. Esto abrirá la ventana de comandos del programa en la misma terminal. El Octave está disponible para las distribuciones de linux más importantes. Depende del Gnuplot para poder representar gráficos. Al ser un software acogido a la GPL (licencia publica general) su código fuente esta disponible y puede ser ampliado y mejorado por cualquier usuario. Manual: http://www.octave.org/doc/octave_toc.html http://www.cyc.ull.es/asignaturas/octave/apuntesoctave/index.html myprimer_tc.pdf Variables en MATLAB/OCTAVE Los objetos con los que nos manejaremos principalmente en esta materia son los escalares y vectores. Para MATLAB/OCTAVE estos dos tipos serán simplemente un caso particular de matrices que son los objetos básicos en este lenguaje. La definición de una variable escalar se realiza mediante la asignación de una constante o una expresión que involucre operaciones entre constantes u otras variables. Ej.:

A = 20; a = A/20 + 3 Los nombres de variables son sensibles a mayúsculas y minúsculas. En MATLAB/OCTAVE el punto y coma no tiene significado sintáctico como en PASCAL o C, sino que simplemente indica si la operación a realizar debe mostrar o no el resultado en pantalla. Para definir una variable vector las ideas anteriores son aplicables, sin embargo hay que tener presente que un vector es una secuencia de números. La manera más simple de especificar esto es mediante la escritura de la secuencia, separando los elementos de ésta por blancos, entre corchetes: Ej: X = [1 2 3 4] No hay diferencia entre los nombres de escalares y vectores, MATLAB/OCTAVE los distingue por el contexto. No es posible definir un tipo para las variables con en los lenguajes C o Pascal, porque para Matlab cualquier variable es siempre un double (8 bytes), excepto las strings, que son cadenas de caracteres. Ej: la variable X anterior ocupa 32 bytes. En cambio la variable definida como Y = 'hola'; solo ocupa 4 bytes. Es posible ver el listado de todas las variables definidas en el "workspace" de Matlab (o espacio de trabajo) con el comando whos. Es posible borrar una variable del "workspace" con el comando: clear X El comando clear all borra todas las variables presentes en el espacio de trabajo. Tampoco es necesario inicializar los vectores con la dimensión que tendrán, puesto que el programa actualiza automáticamente la dimensión si esta se agranda: Ej: después de ejecutar la sentencia anterior es válido hacer X(5) = 5; Referencia a elementos de un vector:

La instrucción anterior muestra además la manera de acceder a un elemento de un vector: el nombre del vector debe ser seguido de el índice del elemento en cuestión entre paréntesis. Observar que el primer elemento tiene un valor de índice igual a 1. Secuencias: el operador dos puntos Existen operadores y funciones en MATLAB/OCTAVE que permiten definir secuencias de formas más amigables que este tipo de definición explícita: el operador : genera secuencias de números igualmente espaciados, ascendentes o descendentes: Ej. 1: Y = 1:5; genera el mismo contenido que el del vector X del ejemplo anterior. La sintaxis completa de este operador es inicio:paso:fin que genera una secuencia de números que comienza en inicio, se incrementa en paso hasta alcanzar el valor fin. Ej. 2: compruebe qué secuencias se forman en los siguientes casos: 10: 1:1 1: 1:10 y = 0:pi/4:pi Variables especiales MATLAB/OCTAVE dispone de una serie de variables muy útiles para operaciones aritméticas: pi, Inf, NaN, eps, i, j Probar las siguientes expresiones: pi eps i j

El significado de la variable NaN es Not a Number. La variable eps muestra la resolucion numerica de Matlab, mientras que las variables i y j toman por defecto el valor de sqrt( 1). Existen funciones en MATLAB/OCTAVE apropiadas para definir casos comunes de vectores. Por ejemplo para definir un vector de 10 ceros: a1 = zeros(1,10); % Define un vector fila de 10 elementos a2 = zeros(10,1); % Define un vector columna de 10 elementos (el símbolo % es utilizado como comentario). La instrucción help seguida del nombre de la función proporciona una descripción bastante completa de las funciones incluidas. Utilícela para entender el porqué de las definiciones anteriores, y para conocer la manera de usar estas otras funciones: ones Vector de elementos 1 rand linspace logspace Vector de elementos aleatorios Secuencia de N elementos linealmente espaciados Secuencia de N elementos logarítmicamente espaciados Es posible combinar también secuencias de vectores para formar otros vectores mayores: Ej: x = [9: 1:1] y = [0:10] z = [y x y x] Conociendo el funcionamiento del operador : podemos también acceder a más de un elemento del vector por vez: Ej: x = 10:10:50 % Da como respuesta: 10 20 30 40 50 x(1) % Da como respuesta: 10 x(1) = 0 % Da como respuesta: 0 20 30 40 50 (muestra todo el vector)

x(1:4) = zeros(1,4) % Da como respuesta: 0 0 0 0 50 Ejercicios: Generar el vector que contenga las señales representadas en los gráficos siguientes: Operaciones entre vectores: Las operaciones básicas entre vectores incluyen: Suma y Resta: Se debe tener la precaución que los vectores sean de las mismas dimensiones. La excepción a esta regla es que se puede sumar o restar un escalar a todo un vector, lo que sería una simplificación a generar un vector constante de amplitud igual a la del escalar y luego sumarlo o restarlo. Las funciones siguientes se usan para determinar las dimensiones de un vector, y son muy útiles a la hora de determinar el error cometido cuando hay dos vectores involucrados en una operación: Size Length indica la cantidad de filas y columnas de una matriz indica la longitud de un vector Multiplicación:

El operador * en MATLAB/OCTAVE tiene el sentido de multiplicación entre matrices. Entre vectores es posible efectuar este producto sólo entre un vector fila y otro columna, que tendrá el sentido de un producto escalar entre ambos, o que dará una matriz en el caso de multiplicar un vector columna por uno fila. Igual que en el caso de la suma y resta, es posible efectuar la multiplicación (o división) de un vector por un escalar, pero aquí tiene el significado usual. Al utilizar MATLAB/OCTAVE en nuestra materia frecuentemente haremos la suposición de que un vector es la secuencia de los elementos de una función de variable discreta. Y puesto que los vectores serán utilizados como si fuesen funciones, nos interesará más la multiplicación elemento a elemento, es decir como si multiplicáramos funciones. Para esto se debe utilizar el operador.* (multiplicación precedido de punto). En general para cualquier operador es posible precederlo de punto, cambiándole el sentido a operador elemento a elemento. En este caso es necesario que las dimensiones de ambos vectores concuerden exactamente. Como ejemplo de la diferencia entre ambas operaciones mencionaremos que es posible hacer x.^2 pero no x^2. Operadores relacionales: Es posible comparar dos vectores de iguales dimensiones o un vector contra un escalar, utilizando los siguientes operadores: < menor <= menor o igual > mayor >= mayor o igual == igual ~= distinto El resultado es un vector de igual dimensión cuyos elementos son 1 donde la comparación es verdadera o 0 donde es falsa. Las comparaciones se efectúan elemento a elemento. Existe una función que pueden utilizarse asociada a estas operaciones: la función find(x) devuelve como resultado un vector cuyos elementos serán los índices del vector x para los elementos distintos de cero. Ej.: i = find(x < 0);

x(i) = ( 1)*x(i); Las operaciones anteriores "rectifican" al vector x. Operaciones con numeros complejos Los numeros complejos están permitidos en todas las operaciones y funciones de Matlab. Probar: X = [1 2; 3 4] +i * [5 6 ; 7 8] Nota: los valores de i y j pueden ser redefinidos, aunque en ese momento perderán su valor de sqrt( 1) ademas el valor sqrt( 1) puede ser asignado a otra variable: ii=sqrt( 1) Otras operaciones aplicables a los vectores: A continuación se presenta el listado de las funciones que más comúnmente utilizaremos en la materia: Max Min Sum Prod Cumsum Cumprod valor máximo valor mínimo suma de los elementos Producto de los elementos suma acumulativa de los elementos Producto acumulativo de los elementos Listados de librerías de funciones: Utilizando la instrucción help help se puede obtener un listado de todas las categorías de funciones de MATLAB. Por ejemplo si se ejecuta help elfun se obtiene el listado de las funciones elementales disponibles en MATLAB. En OCTAVE mediante la instrucción help i se ingresa en un help de texto pero interactivo (una "info page"). En dicha página los textos que aparecen marcados con "*" tienen referencias cruzadas, es decir que apretando sobre ellos, es posible ingresar en un submenú. En los submenús, la línea superior también tiene referencias cruzadas: apretando "P", "N" o "U" es posible

ejecutar Previous, Next o Up. Las categorías de OCTAVE son similares (pero no exactamente iguales) a las de MATLAB. Ejercicios: 1. Hallar el valor medio de un vector. (También ver la función mean). 2. Hallar el desvío standard de un vector. 3. Generar una onda triangular a partir de una cuadrada (ayuda: utilizar cumsum). Graficación: MATLAB/OCTAVE es muy amigable en este sentido. El siguiente es un listado de las funciones que más a menudo utilizaremos en la materia: Plot Stem Loglog Semilogx Semilogy axis figure close Grafica los puntos de un vector uniéndolos con líneas Grafica los puntos de un vector como señal discreta. En OCTAVE es otra opción del plot Idem plot, pero ambos ejes tendrán escalas logarítmicas Eje x logarítmico, eje y lineal Inverso del anterior Define los límites de los ejes Inicializa una nueva figura. Con un argumento numérico, se posiciona en una dada figura ya existente Cierra una figura Cada una de estas funciones admiten 1 o 2 argumentos: en el caso de utilizar sólo un argumento, por ejemplo plot(x), se grafican los elementos del vector en cuestión vs. sus índices. En un gráfico de este estilo el eje x siempre tendrá como primer elemento el 1. En cambio si se grafica plot(t,x) se graficarán los puntos correspondientes a los pares ordenados en t y x, pudiendo entonces representarse funciones para valores de t<1. Ejercicio: Grafique, para. Utilice pasos de x en el gráfico tales que la función aparezca lo más continua posible. Funciones adicionales para graficación:

Títulos y nombres de ejes: Después que se ha dibujado el gráfico es posible rotular las variables involucradas y darle un título general, mediante las funciones title xlabel ylabel En Octave hace falta un comando adicional para representar los titulos de los ejes sobre un grafico que ya está en pantalla: replot. También es posible fijar el rango de los valores de los ejes con el que se muestra un dibujo mediante axis. Distintos tipos de trazos: es posible realizar gráficos con trazos distintos, como por ejemplo punteado, circulos, asteriscos, etc. Por ejemplo, plot(t,x, o ) graficará los puntos correspondientes a los pares ordenados en t y x como circulitos no unidos por ninguna línea. help plot proporciona más información sobre este tercer argumento opcional de la función. Ejercicio: Grafique las 8 raíces de la ecuación raíces de un polinomio).. (Ayuda: la función roots calcula las Subplot: Es en general necesario mostrar más de un gráfico en la misma figura para su comparación. Esto se puede realizar mediante la función subplot. Esta instrucción, que debe ejecutarse antes de la graficación, nos permite crear una matriz de gráficos en la figura y posicionar el siguiente dibujo en uno de ellos. Ejercicio: Realice 4 gráficos en la misma figura de las funciones, con ; y Más de 1 figura:.

Para que los gráficos se realicen cada vez en una figura diferente, antes de ejecutar las instrucciones correspondientes se debe ejecutar la instrucción figure. La instrucción close all cierra todas las figuras existentes. Mediante la funcion hold podremos superponer más de un trazado en la pantalla. Se desactiva con hold off. Archivos.m y.mat, y sentencias de control de flujo: Cuando la complejidad de las instrucciones necesarias para realizar una operación aumenta, es mejor agruparlas en unidades lógicas o archivos ejecutables por MATLAB/OCTAVE como una única instrucción. Esto se logra mediante los archivos *.m, los cuales deben ser escritos mediante un editor de texto y salvados con un nombre y la extensión.m. El programa es invocado mediante el nombre con el que fue salvado (sin extensión). Nota 1: En la barra de tareas de MATLAB la opción: File, New, M file invoca a un editor de texto. En la versión 4.x, es el Notepad de Windows, mientras que en la versión 5.x el editor viene incorporado al Matlab. Nota 2: Los archivos creados de esta manera sólo pueden ser invocados desde el directorio en el que fueron salvados. Es altamente recomendable organizar una estructura de directorios coherente, por ejemplo guardar todos los archivos *.m en un directorio C:\usu\matlab. Para que MATLAB tome este directorio como directorio actual de trabajo debe ejecutarse la instrucción cd c:\usu\matlab. Archivos.m y funciones Es posible definir que un archivo que contiene una pieza de código de Matlab se considere una función si dicho codigo comienza con el encabezado function. En dicho encabezado estará además definida la sintaxis de la función, es decir, sus entradas y salidas. Por ejemplo la función siguiente: function [suma] = sumar(x,y) suma = x + y; return; devolverá la suma de dos numeros, los que se ingresan entre parentesis en la llamada a la funcion. Este código debe salvarse como sumar.m para poder ser ejecutado. La diferencia entre un script que no es función y uno que sí lo es, está principalmente en que en las funciones las varibles son internas (no forman parte del workspace), y son automáticas (desaparecen después de ejecutada la función). En cambio un script que no

está encapsulado en una función deja los valores finales que toman las variables en el workspace al terminar. Sentencias de control de flujo: En este lenguaje se disponen de 3 estructuras básicas de control de flujo: 1. Ciclos for: La estructura básica de esta instrucción es: for i = expresión end Ejercicio: sentencias; Realice mediante esta estructura la definición de un vector x de 10 elementos todos ceros. Nota: El ejercicio anterior sería equivalente a ejecutar la instrucción única x = zeros(1,10); que es mucho más rápida que el ciclo propuesto en el ejercicio (por ejemplo probar el mismo ejercicio con 10000 elementos). Esto nos muestra que en lo posible hay que tratar de evitar la utilización de ciclos y estructuras si existe una función vecotrial ya predefinida que permite hacer lo mismo. 2. Ciclos while: La forma general es la siguiente: while expresión end sentencias Este tipo de ciclo es abierto, es decir el fin del lazo queda determinado en el momento de la ejecución de las sentencias correspondientes. Ejercicio: Calcular la función mediante su desarrollo en serie, sumando términos mientras cada término no sea menor que. Ingrese el punto en el cual realizar el cálculo mediante la instrucción input.

3. Sentencias if: Siguen la siguiente estructura: if expresión1 sentencias1 elseif expresión2 else end sentencias2 sentencias3 Los puntos suspensivos significan que las sentencias elseif pueden repetirse tantas veces como sea necesario. Estas sentencias o el else pueden estar ausentes, pero no el end final. Instrucciones save y load : Es posible despues de haber generado una variable salvar su valor en un archivo para volver a cargarlo más tarde: save tmp x guarda la variable x en un archivo llamado tmp.mat. Si no se indica nombre de variables a continuación del nombre del archivo, todas las variables son salvadas. Con load tmp se vuelve a recuperar la información que fue salvada en tmp.mat. Los archivos de datos (.mat en MATLAB) en OCTAVE tienen la extension.oct y son archivos de texto. Algunos comandos generales: A continuación se listan una serie de comandos generales útiles. Los tres primeros conforman las herramientas básicas para seguir aprendiendo más sobre Matlab. Los últimos son necesarios para la ubicación de los archivos y de los directorios de trabajo, etc.

lookfor help which cd dir (ls) pwd path Busca todas las funciones que contienen una cierta palabra Breve descripcion de uso de una funcion. Indica el directorio donde se encuentra una función Cambia de directorio Lista el contenido de un directorio Da el nombre del directorio corriente Listado de todos los directorios que están en el path de Matlab Directorio de trabajo en linux desde octave: Algunos comandos del shell de Unix están implementados en OCTAVE/MATLAB. El comando pwd indica el path completo del directorio actual de trabajo; ls muestra un listado de todos los ficheros de ese directorio; y cd.. cambia al directorio inmediatamente superior al actual (u otro cualquiera que se especifique en lugar de los dos puntos). Hay que tener en cuenta que el directorio actual para OCTAVE/MATLAB será aquel desde el cual se invocó octave si no se ha hecho ninguna operación de cambio de directorios. Sitio web de Señales y sistemas: Durante el transcurso de la materia varios tipos de datos necesarios para realizar los trabajos prácticos, o informativos (como los textos de estas guías, parciales y coloquios anteriores) están disponibles en: http://www.fi.uba.ar/materias/6607 Se recomienda consultarlo periódicamente para enterarse noticias, modificaciones de calendario, últimas actualizaciones de las guías, notas de parciales y finales, etc, etc, etc.