Práctica I: Breve Introducción a Matlab



Documentos relacionados
Centro de Capacitación en Informática

Recursos de Aprendizaje

Comenzando con MATLAB

La ventana de Microsoft Excel

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.

Una breve introducción a Excel c

APUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows

Instalación del programa PSPP y obtención de una distribución de frecuencias.

Manual de OpenOffice Impress

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

CÓMO CREAR NUESTRO CATÁLOGO

Uso del programa CALC

INSTRUCCIÓN DE SERVICIO NOCIONES BÁSICAS PARA DIAGRAMAS DE FLUJO. MICROSOFT VISIO

Fórmulas y funciones

MATERIAL 2 EXCEL 2007

MATEMÁTICAS CON LA HOJA DE CÁLCULO

Índice general de materias LECCIÓN 7 74

MANEJANDO FICHEROS Y CARPETAS

A continuación, se detalla el uso de los accesorios más comunes:

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

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

PRÁCTICAS DE GESTIÓN GANADERA:

Microsoft Office XP Excel XP (I)

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

Módulo 8: Ofimática básica. Unidad didáctica 4: Introducción y modificación de datos. Access

Manual Impress Impress Impress Impress Impress Draw Impress Impress

NORMA (SEPA) 22/11/2013

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

Qué es y para qué sirve Excel2007?

TEMA 2. HERRAMIENTAS DE GeoGebra

GESTIÓN DE CERTIFICADOS DE HOMOLOGACIÓN A TRAVÉS DE INTERNET.

Combinar comentarios y cambios de varios documentos en un documento

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

Plantilla de texto plano

Gráficos en Matlab

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

MICROSOFT EXCEL Introducción: Qué es y para qué sirve Excel2007? TECNOLOGIA/ INFORMATICA: MS-EXCEL

6.1. Conoce la papelera

Descarga Automática. Manual de Usuario. Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, Madrid

FUNDACION EDUCATIVA OBRERA FUNEDO TECNICO EN SECRETARIADO EJECUTIVO SISTEMATIZADO

Vamos a ver las dos formas básicas de arrancar PowerPoint.

Práctica 1: Introducción a MATLAB.

Para aquellos que tengan conocimientos de Access es lo más parecido a una consulta de referencias cruzadas, pero con más interactividad.

Construcción de Escenarios

Proyectos de Innovación Docente

Para ingresar a la aplicación Microsoft Word 97, los pasos que se deben seguir pueden ser los siguientes:

Capítulo 3: XML Spy como editor de documentos XML. 2. La interfaz de usuario de XML Spy

Teclado sobre una PDA para Personas con Parálisis Cerebral

Ejercicio 1. Desarrollar un pequeño juego para practicar mecanografía.

Tema 6: Introducción a los gráficos en 3 dimensiones

PROGRAMA INFORMÁTICO PARA LA CUMPLIMENTACIÓN DE RECETAS EN FORMATO XML VERSIÓN: 1.0

Unidad 1. Introducción. Elementos de Excel

CORREO ELECTRÓNICO GMAIL. 1 Enviar correo electrónico Acceder a una cuenta de correo electrónico... 2

CLASE 12.-INSERTAR COLUMNAS

Impress : Programa de presentaciones de OpenOffice.

LAS BARRAS. La barra de acceso rápido

Introducción a la Programación en MATLAB

Elementos de Microsoft Word

Instructivo de Microsoft Excel 2003

Tema 4: Empezando a trabajar con ficheros.m

Manual de Introducción a SIMULINK

Centro de Capacitación en Informática

Fórmulas y funciones

Roberto Quejido Cañamero

1. Visualización de datos con Octave

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

GUÍA PGA SISTEMA EXTRANJERO

Operación Microsoft Access 97

ZCARTAS: Iniciación a la suma y resta de números enteros Introducción Actividad 1: Escenario con cartas numeradas desde -2 hasta 2...

reemplaza menú archivo y esta situado en la esquina superior izquierda de estos programas de

1 MANUAL DE INSTALACIÓN

Otros tipos de Consultas

Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 =

Prácticas de Análisis Matricial con MATLAB

GUIA BÁSICA DE ABSYSNET PARA PRINCIPIANTES

Práctica 3: Funciones

EMPLEO NTIC`S II SEGUNDO SEMESTRE

A25. Informática aplicada a la gestión Curso 2005/2006 Excel Tema 7. Funciones avanzadas de Excel II

GEOMETRÍA CON LA CLASSPAD 300

MACROS Y FORMULARIOS

MANUAL DE USO DEL PROGRAMA ARKITOOL 2012

Instituto Mar de Cortés Elaborar Documentos en Procesador de Texto

Traslaciones, Homotecias, Giros y Simetrías

Operación de Microsoft Word

Guía de uso de Moodle para participantes

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

SESIÓN 6 INTRODUCCIÓN A WORD.

TEMA 5: HOJAS DE CÁLCULO. Edición de hojas de cálculo con OpenOffice Calc

Manual GeoGebra. Manual GEOGEBRA. José Aurelio Pina Romero Página 1

Modulo 1 El lenguaje Java

1. La nueva interfaz del programa

Tutorial de Introducción a la Informática Tema 0 Windows. Windows. 1. Objetivos

Manual del Profesor Campus Virtual UNIVO

Informática I Notas del curso

EDWIN KÄMMERER ORCASITA INGENIERO ELECTRÓNICO

Programación: QBASIC

Mapas colaborativos en línea

Microsoft Excel Unidad 6. La Hoja de Cálculo

Tema 7: Programación con Matlab

Transcripción:

AMPLIACIÓN DE MATEMÁTICAS (2 o Ingeniería de Telecomunicación y Aeronáutico) Departamento de Matemática Aplicada II. Universidad de Sevilla CURSO ACADÉMICO 2008-2009 Práctica I: Breve Introducción a Matlab Aspectos Generales de Matlab Acceso a Matlab. En las clases de laboratorio se utilizará la versión de Matlab instalada en el Centro de Cálculo de nuestra escuela. Las presentes notas deben entenderse sólo como una sencilla introducción a aquellos aspectos de este programa que van a ser utilizados repetidamente durante el curso. Es muy recomendable profundizar en algunos de los temas aquí tratados, especialmente, en todo lo relacionado con el manejo de archivos *.m y con la programación. Para ello puede, por ejemplo, consultarse el excelente manual de Javier García de Jalón, José Ignacio Rodríguez y Jesús Vidal, "Aprenda Matlab 7.0 como si estuviera en primero", disponible en la página WEB http://mat21.etsii.upm.es/matesp/docs/tutoriales/matlab70primero.pdf Para empezar a trabajar con Matlab, debe arrancarse el ordenador en el modo Matlab siguiendo las correspondientes instrucciones del Centro de Cálculo de la Escuela. Posteriormente, para abrir una ventana y comenzar una sesión, basta buscar el icono correspondiente a Matlab en el escritorio de Windows, situarnos sobre él con el ratón y pulsar dos veces su botón izquierdo. El símbolo >> (prompt) nosindicaqueel programa está a la espera de nuestras instrucciones. Para salir de Matlab basta teclear exit o quit y para ejecutar cualquier instrucción la tecla Return. Hemos de tener en cuenta que una instrucción termina al cambiar de línea. Si necesitamos escribir más de una línea, debemos poner el símbolo... (tres puntos) al final de la misma y continuar en la siguiente. Si lo que queremos es escribir varias instrucciones dentro de la misma línea basta separarlas por comas. El cursor se posiciona con las flechas izquierda/derecha, y para borrar caracteres pueden usarse las teclas Backspace o Supr. Siloquesedeseaesborrartodala línea de edición puede usarse la tecla Esc. También son accesibles otras posibilidades de edición en línea (de significado completamente intuitivo) con las teclas Inicio, Fin

o Insert. Otra opción muy útil es usar las flechas arriba/abajo, para recuperar las órdenes previas. Por tanto, se puede recuperar una línea anterior de órdenes, editarla y ejecutarla revisada. Para limpiar completamente la pantalla se utiliza la orden clc. Funciones implementadas en Matlab. ElprogramaMatlab lleva implementadas la inmensa mayoría de las funciones matemáticas más utilizadas, las cuales suelen admitir argumentos escalares y vectoriales. Además, Matlab maneja con facilidad números complejos y, utiliza indistintamente la i ylaj para representar el número imaginario unidad. Conviene precisar que los paréntesis ( ) y los corchetes [ ] tienen significados bien distintos en Matlab. Los primeros se utilizan para evaluar funciones y los segundos para definir vectores o matrices. La orden help permite obtener ayuda de las distintas funciones que Matlab tiene implementadas. Por ejemplo, >> help log permite conocer el funcionamiento de la función logaritmo (variables de las que depende,...). Ejercicio resuelto 1. (a) Determine el valor de la raíz cuadrada del logaritmo neperiano del seno de cinco. (b) Compruebe que 3-4-5 son las dimensiones de un triángulo rectángulo. >> sqrt(log(sin(5))) >> sqrt(3^2+4^2)-5 Ejercicio 2. Evalúe la expresión para s =0.5, 0.95 y 1. tan ³ ³ π s 2 2sen +1, 5 Ejercicio 3. Ejecute las órdenes clock, date y calendar. Interprete las respuestas proporcionadas por Matlab y limpie posteriormente la pantalla. Formatos numéricos. Para visualizar los resultados, Matlab ofrece varias posibilidades aunque, por defecto, representa los números en pantalla con redondeo a cuatro cifras decimales. También decide si representa un número en notación convencional (coma fija) o en notación científica (coma flotante). Los números enteros que tengan menos de nueve cifras siempre se representan en coma fija. La orden para la representación en pantalla es format y admite, entre otras, las siguientes opciones: format long: 16 dígitos. format short: 4 dígitos. Equivale a escribir sólo format. 2

format long e: 16 dígitos más exponente. format short e: 4 dígitos más exponente. Es fundamental entender que Matlab no cambia la representación interna de un número cuando se escogen diferentes formatos, sólo se modifica su visualización. Ejercicio resuelto 4. Escriba en los cuatro formatos anteriores el número π. >> pi >> format long, pi >> format long e, pi >> format short e, pi Ejercicio 5. Ejecute las órdenes realmax y realmin para conocer exactamente el rango real en el que se mueven los números que maneja Matlab. Variables. Una variable es simplemente una etiqueta que se asigna temporalmente a un dato. El modo de definir una variable cualquiera en Matlab es variable=expresión. Por ejemplo, >> a=7*pi Para saber el valor actual de una variable sólo hay que escribirla y pulsar la tecla Return. El resultado de ejecutar en Matlab cualquier expresión matemática se guarda, por defecto, en una variable denominada ans, que sale inmediatamente en pantalla y que toma como valor el correspondiente resultado. Si deseamos que esta variable no aparezca en pantalla, basta teclear al final de la expresión el símbolo ; (punto y coma). Ejercicio 6. Cree dos variables que almacenen los valores y calcule su suma y su producto. π 2 3 23 e, log(37 + cos(7 3 )) 6ch(5) Ejercicio 7. Consulte la ayuda sobre la variable predeterminada i ycalculei 2. Posteriormente, defina la variable i como dos y vuelva a calcular i 2. Qué regla práctica debe concluirse? El Entorno de Trabajo de Matlab El entorno de trabajo. A partir de la versión 5.0, el entorno de Matlab ha mejorado mucho, haciéndose mucho más gráfico e intuitivo. Los principales componentes de dicho entorno son el explorador de caminos de búsqueda (Path Browser), el editor y depurador de errores (Editor/Debugger) y el visualizador del espacio de trabajo (Workspace Browser). 3

Path Browser. Matlab puede llamar a una gran variedad de funciones, tanto propias como programadas por los usuarios. A veces, puede haber funciones distintas que tengan el mismo nombre. Por tanto, es interesante saber cómo Matlab busca cualquier función queselepidaqueejecute. Laclaveeselcaminodebúsqueda(search path) queel programa utiliza cuando encuentra el nombre de una función. El search path es una lista de directorios que se puede ver y modificar mediante la orden path, o utilizando el Path Browser (Submenú Set Path en el menú File). El directorio actual. El concepto de directorio actual o de trabajo es crucial en Matlab. Es el directorio donde el usuario debe guardarlosdiferentesarchivosquegenereen las sesiones, para que Matlab pueda detectarlos. Puede consultar el directorio en que se encuentra con la orden pwd. El contenido de dicho directorio puede obtenerse con la orden dir. Para cambiar el directorio actual se utiliza la orden cd (Change Directory) seguido del nombre del nuevo directorio. Ejecutando cd.., se sube un nivel en la jerarquía de directorios. Editor/Debbuger. En Matlab tienen particular importancia los M-archivos, esto es, archivos con la extensión *.m, los cuales son archivos de texto ASCII que contienen un cierto conjunto de órdenes de Matlab. La importancia de estos archivos es que al teclear su nombre en la línea de órdenes de Matlab ypulsar Return,seejecutantodas las órdenes contenidas en dicho archivo. Matlab dispone de un editor propio que permite tanto crear y modificar estos archivos (proceso de edición-editor), como ejecutarlos paso a paso para detectar errores (proceso de depuración-debugger). Workspace Browser. El espacio de trabajo (Workspace) de Matlab es el conjunto de variables que en un determinado momento están definidas en la memoria del programa. Para obtener información sobre el workspace se pueden utilizar las órdenes who y whos. La segunda proporciona una información más detallada que la primera. Copias completas de una sesión de trabajo. Matlab incorpora la orden diary para guardar sesiones completas de trabajo con Matlab. Esta orden puede ser de gran utilidad en el desarrollo de las clases prácticas, pues permite guardar en un archivo de texto todos los resultados obtenidos en la sesión, los comentarios realizados en la clase y, en general, todo lo que el programavapresentandoenpantalla. La forma natural de proceder es la siguiente: se teclea diary nombre1.txt. De este modo, se crea el archivo nombre1.txt en el directorio actual y todo aquello que aparezca en pantalla, a partir de ese momento, se graba en dicho archivo. Para que dejen de grabarse las instrucciones que aparecen en pantalla hay que teclear diary off ypara volver a abrir el archivo diary on. Matrices y Vectores 4

Matrices y vectores. En Matlab se trabaja fundamentalmente con matrices. De hecho, para Matlab, los números son simplementes matrices cuadradas de orden uno. Lasmatricespuedendefinirsedelassiguientesformas: Escribir la matriz entre corchetes, colocando las filas una a continuación de otra, separadas por el simbolo ;. Entre los elementos de una misma fila podemos colocar una coma o dejar un espacio en blanco. Escribir la matriz entre corchetes, colocando cada fila en un renglón. La matriz vacía se representa por []. Como es natural, si sólo introducimos una fila tenemos un vector fila. Matlab incluye una orden muy útil para generar vectores cuyas coordenadas están en progresión aritmética. En concreto, la estructura a:b:c crea un vector entre los números a y c, incrementando cada coordenada con el número b. Si sólo se escribe a:c se considera que b es igual a uno. Ejercicio resuelto 8. Genere tres vectores cuyos elementos representen una partición del intervalo [-1,1] en cinco, ocho y diez subintervalos iguales. Con las tres primeras coordenadas de cada uno de ellos, genere las tres filasdeunamatriz3 3 y calcule el determinante de dicha matriz y de su traspuesta. >> u=-1:2/5:1, v=-1:2/8:1, w=-1:2/10:1 >> A=[-1, -0.6, -0.2-1, -0.75, -0.5-1, -0.8, -0.6] >> B=A >> det(a), det(b) Ejercicio 9. Considere la matriz mágica de orden cuatro 16 5 9 4 3 10 6 15 2 11 7 14. 13 8 12 1 Utilizando la orden sum, explique la razón de denominarla mágica. Direccionamiento y manipulación de matrices. Para seleccionar un elemento determinadodeunamatrizseescribeelnombredelamatrizseguidodelnúmerodefila y columna separados por una coma y entre paréntesis. Si se desea extraer una submatriz basta colocar, en vez de números, vectores cuyas componentes son los números de las correspondientes filas y columnas. El símbolo dos puntos es muy útil para crear submatrices. Cuando no se le dan valores a derecha e 5

izquierda recorre, por defecto, todos las filas o columnas. Si colocamos datos fuera del rango actual de una matriz se rellenan con ceros las zonas no especificadas. Ejercicio resuelto 10. Obtenga de cuatro maneras distintas la submatriz formada por la segunda y la tercera fila de la siguiente matriz 1 1 1 1 A = 1 2 2 2 1 2 3 3. 1 2 3 4 >> A =[1111; 1222; 1233; 1234] >> A(2:3,1:4) >> A(2:3,:) >> A([23],[1234]) >> A([1 4],:)=[] Ejercicio 11. Defina la matriz A cuadrada de orden 15 tal que todos sus elementos son nulos, salvo la primera fila y la primera columna, las cuales toman los valores, respectivamente de la columna o fila en que se encuentran. Ejercicio 12. Escriba las matrices A y B definidas por A(i, j) = 10(i j)+1; i, j =1,..., 10. ½ 1, i j =1 B(i, j) =, i,j =1,..., 20 0, en otro caso Gráficas en Matlab La ventana gráfica de Matlab. Para mostrar las correspondientes gráficas, Matlab abre una nueva ventana, la denominada ventana de figura. Si ya hubiera una ventana de figura, se borra la ventana de figuraactualysedibujaenellalanuevagráfica. Para utilizar dos o más gráficas en diferentes ventanas de figura, se usa la orden figure. La orden figure(n) muestra o crea,si no la hay,la ventana de figura n-ésima y ésta pasa a ser la ventana de figura activa. La orden close cierra la ventana gráfica activa. Gráficas bidimensionales. Para obtener gráficas 2-D, Matlab admite cuatro opciones: gráficas en coordenadas cartesianas, gráficas en coordenadas polares, gráficas de barras y gráficas de escaleras. La orden para representar datos bidimensionales en coordenadas cartesianas es plot, para crear gráficas en coordenadas polares es polar y, finalmente, los gráficos de barras y escaleras se generan usando las ordenes bar y stairs, respectivamente. 6

La orden plot escala los ejes para ajustar los datos, representa los puntos y, a continuación, conecta los puntos con una línea recta. También añade una escala numérica y coloca de forma automática marcas en ambos ejes. Conviene aclarar que lo primero que se hace al ejecutar la orden plot es eliminar toda la información (líneas, ejes,...) sobre la gráfica anterior, si la hubiere. Ejercicio resuelto 13. Dibuje la gráfica de la función exponencial en el intervalo [-2,2]. Obtenga una segunda gráfica donde a la curva anterior se le añada la recta tangente en x =0. >> x=-2:0.01:2; y=exp(x); plot(x,y) >> z= x+1; plot(x,y,x,z) Ejercicio 14. Resuelva el ejercicio anterior usando la orden hold. Ejercicio 15. Dibuje la gráfica de la elipse centrada en el origen y de semiejes 3 y 5. Ejercicio 16. Dibuje un polígono regular de 20 lados que pueda inscribirse en una circunferencia de radio uno. (Indicación: Evalue plot sobre un vector cuyas componentes sean números complejos). Gráficas tridimensionales. Para obtener gráficas 3-D, Matlab admite tres opciones: gráficas de líneas, gráficas de superficies y gráficas de contorno. La orden básica para realizar gráficas de líneas es plot3, las órdenes para gráficas de superficies son mesh y surf y, finalmente, para gráficas de contorno es contour. Gráficas de líneas. La función plot3 es análoga a su homóloga bidimensional plot. Su forma más sencilla es plot3(x,y,z) la cual dibuja una línea que une los puntos (x(1),y(1),z(1)), (x(2),y(2),z(2)), (x(3),y(3),z(3)), etc, y la proyecta sobre un plano para poderla representar en pantalla. Ejercicio resuelto 17. Dibuje en verde un trozo de una espiral cilíndrica. >> fi=[0:pi/20:6*pi]; >> plot3(cos(fi),sin(fi),fi, g ) Ejercicio resuelto 18. Una forma alternativa de obtener el anterior vector fi es usar la orden linspace. Pide ayuda a Matlab sobre tal función y obtén de nuevo dicho vector. Ejercicio 19. Dibuje la curva alabeada de ecuaciones paramétricas x(t) =cos(t 2 ),y=cos(t)sen(t), z=sen(t), t [ 4π, 4π]. Gráficas de superficies. La idea es dibujar una función de dos variables sobre un dominio rectangular. Supongamos que x e y son dos vectores que contienen las coordenadas 7

en una y otra dirección de la retícula sobre la que se va a dibujar la función. Se comienza generando dos matrices X (cuyas filas son copias de x) ey (cuyas columnas son copias de y) con la orden meshgrid, las cuales representan las coordenadas de todos los puntos del reticulado. Posteriormente, se calcula la matriz gráfica de datos Z a partir de las matrices de coordenadas X e Y, teniendo en cuenta la función de que se trate. Finalmente, la matriz Z se dibuja con la orden mesh olaordensurf. Ambas órdenes dibujan la función en perspectiva y la diferencia entre ellas está en el llenado de color de las células generadas por el mallado. Ejercicio resuelto 20. Dibuje en un cuadrado la función sombrero z =sen( p x 2 + y 2 )/ p x 2 + y 2. >> u=-8:0.5:8;v=u; >> [U,V]=meshgrid(u,v); >> r=sqrt(u.^2+v.^2)+eps;w=sin(r)./r; >> mesh(w) Ejercicio 21. Represente la superficie en paramétricas donde t [ π, π] y r [ 2π, 2π]. x =4cos(r)sec(t), y=2sen(r)sen(t), z=tan(t), En las versiones recientes de Matlab, hay un grupo de funciones que permite realizar gráficos de forma más sencilla. Ejemplos de ellas son ezplot y ezsurf. Archivos en Matlab Comentarios generales. Para trabajar con datos de gran tamaño, o bien para diseñar nuevas funciones en Matlab, es completamente imprescindible trabajar con archivos y, por tanto, con el editor de texto de Matlab. Los archivos adicionales que Matlab utiliza básicamente son aquellos con extensión *.m y una parte importante de cada sesión con Matlab es crear y refinar este tipo de archivos. Atendiendo a su uso, los M-archivos suelen dividirse en dos grandes grupos: archivos de instrucciones o tipo script y archivos de funciones. Como se comentó, Matlab dispone de un editor excelente que facilita enormemente el trabajo con los M-archivos. En concreto, el editor muestra con diferentes colores los diferentes tipos o elementos constituyentes de las órdenes (en verde los comentarios, en rojo las cadenas de caracteres,...). Además, el editor se preocupa también de que las comillas o paréntesis que se abran tengan el correspondiente elemento de cierre. Para acceder al editor desde la ventana principal de Matlab, basta pulsar el menú File ydespuésnew/ M-file (si se desea crear un archivo nuevo), o bien pulsar el menú File y después Open M-file... (si se desea abrir un archivo ya existente). El manejo de esta nueva ventana es totalmente intuitivo. Otra opción para abrir el editor es la orden edit. 8

Ejercicio resuelto 22. Abra un archivo usando el editor de Matlab, escriba en él una matriz cuadrada de orden 2 y guarde dicho archivo con el nombre prueba.m. Pulsar: File New M-file Escribir: A=[1 2; 2 1] Pulsar Guardar como En Nombre de Archivo escribir prueba.m Con la pestaña Guardar en, situarse en el directorio donde uno quiera almacenarlo y pulsar Guardar. Archivos de instrucciones. Un M-archivo de este tipo consiste en una sucesión de instrucciones de Matlab. Para ejecutarlas y ver el correspondiente resultado en pantalla, basta escribir el nombre del archivo (sin la extensión) y pulsar Return. Lasvariablesen un archivo de instrucciones son globales y, por tanto, pueden afectar a los valores de las variables que se hayan creado durante la sesión de trabajo con Matlab. Los archivos de instrucciones son básicamente utilizados para introducir datos en matrices de grandes dimensiones, pues en un archivo de este tipo es fácil corregir errores sin repetir todo el trabajo. Ejercicio resuelto 23. Escriba y guarde en un archivo de nombre datos.m la matriz cuadrada de orden veinte tal que los elementos de su diagonal son todos iguales a 3 y las dos subdiagonales principales están formadas por unos. Calcule su determinante. Posteriormente cambie la diagonal por el vector cuyas coordenadas son los primeros veinte números naturales y vuelva a calcular el determinante de la nueva matriz. Escribir en un archivo: A=diag(3*ones(20,1)); A=A+diag(ones(19,1),1); A=A+diag(ones(19,1),-1); Guardar en datos.m Ejecutar el archivo y escribir en Matlab >> det(a) Abrir datos.m A=A-diag(3*ones(20,1)); A=A+diag(1:20); Guardar datos.m Ejecutar el archivo y escribir en Matlab >> det(a) Archivos de funciones. Los M-archivos de funciones son los que permiten incrementar la colección de funciones que ejecuta Matlab. Es decir, se pueden crear funciones específicas para algún problema concreto y, a partir de su introducción, dichas funciones tienen el mismo rango que las funciones del sistema y se ejecutan de igual forma. Las variables en los archivos de funciones son locales, es decir, no afectan a los valores de las variables que se hayan creado durante la sesión de trabajo con Matlab. 9

Se aconseja que el nombre de un archivo de función sea el nombre de la función seguido, obviamente, de la extensión.m. La estructura de un archivo de este tipo es la siguiente: la primera línea comienza con la orden de Matlab function seguida del nombre de la función que queramos definir junto con los argumentos de entrada y salida separados por comas. Es decir, function [argumentos de salida]=nombre de la función(argumentos de entrada). A continuación, puede haber diversas líneas de comentario que han de estar precedidas necesariamente por el símbolo %. Conviene decir que son precisamente estas líneas las que aparecerán en pantalla al usar la orden help. Finalmente aparece el programa, esto es, las instrucciones necesarias para poder evaluar la función. Tanto los argumentos de entrada como los de salida no son obligatorios y, si no aparecen, no hace falta escribir los correspondientes corchetes o paréntesis. Ejercicio resuelto 24. Diseñe una función que muestre la gráfica de la función y = x n en [ 2, 2] [ 4, 12] y cuyo argumento de entrada sea el número n. La gráfica debe tener un mallado y deben situarse los ejes de coordenadas. function graf(n) x=-2:0.01:2; y=x.^n; plot(x,y);axis([-2 2-4 12]); hold on plot([-2.2 2.2],[0 0], w, [0 0], [12-4], w ); grid; hold off; Ejercicio 25. Diseñe una función que devuelva el producto escalar de dos vectores x e y de R n. Los argumentos de entrada deben ser los vectores x e y. Además, el correspondiente archivo debe incluir algunas líneas de comentario. Ejercicio 26. Diseñe una función que calcule el factorial de un número natural n. El argumento de entrada debe ser dicho número n. Programación en Matlab La orden for. La sintaxis para la utilización de esta orden de control es for variable = vector instrucciones sobre la variable. end El significado es el siguiente: mientras la variable recorre los valores del vector, se realizan las instrucciones descritas, con la variable tomando dichos valores. Matlab permite anidar varias órdenes for. 10

Ejercicio resuelto 27. Diseñe una función que devuelva el término n-ésimo de la iteración Obtenga x 1,x 15 y x 50. Crear un archivo iter.m function z=iter(n) x=4; for k=1:n x=x^2-2*x; end z=x; En Matlab >> iter(1) >> iter(15) >> iter(50) x n+1 = x 2 n 2x n, x 0 =4. Ejercicio 28. Dada una matriz cuadrada de orden n, diseñe una función usando la instrucción for, que sume los elementos de mayor módulo de cada una de las columnas de dicha matriz. Ejercicio 29. Usando dos instrucciones for anidadas, genere la matriz cuadrada A, definida por A(i, j) =i 2 j, i, j =1,..., 10. Sabría generar A sin usar ninguna instrucción for? La orden if. La sintaxis habitual para la utilización de esta orden de control es if relación lógica P 1 instrucciones Q 1 else. instrucciones Q 2 end El significado es el siguiente: si P 1 es cierto se ejecutan las instrucciones Q 1 ysip 1 es falso se ejecutan las instrucciones Q 2. Las líneas tres y cuatro anteriores pueden suprimirse y, en este caso, cuando P 1 sea falso, no se ejecuta ninguna instrucción. Ejercicio resuelto 30. Diseñe una función sobre los números enteros que asigna el valor 1 a los números pares y positivos, el valor -1 a los números impares y positivos y el valor cero a los números restantes. function paridad=paridad(n) if n<=0 11

paridad=0; elseif rem(n,2)==0 paridad=1; else paridad=-1; end Ejercicio 31. Diseñe una función que calcule todos los divisores de un número natural dado. Ejercicio 32. Diseñe una función que calcule todos los números naturales perfectos menores que uno dado. Un número natural se dice perfecto si dicho número es la suma de todos sus divisores menos él. La orden while. La sintaxis para la utilización de esta orden de control es while relación lógica(contador) instrucciones(contador). end El significado de este esquema es que las instrucciones se irán ejecutando mientras la relación lógica sea cierta. Ejercicio resuelto 33. Determine el valor de la precisión de la máquina usando un bucle while. Compare el valor obtenido con la variable predefinida eps de Matlab. function precmaq precmaq=1; while (1+precmaq)>1 precmaq=precmaq/2; end precmaq =2*precmaq Ejercicio 34. Calcule el primer término de la sucesión de Fibonacci que supere 10 6. x n+1 = x n + x n 1, x 1 = x 2 =1; Ejercicio 35. Un conocido resultado de L. Euler (1707-1783) afirma que P n=1 1 n 2 = π2 6. Obtenga el menor número de sumandos de la serie anterior, de modo que la correspondiente suma finita aproxime π2 6 con un error menor o igual que 10 4 yque10 6. 12