Вы находитесь на странице: 1из 7

7 Prctica.

Matlab

pgina 1

PROGRAMACIN EN MATLAB

PRCTICA 07 ORDENACIN VECTORES Y MATRICES EJERCICIOS REPASO PARA EL EXAMEN


EJERCICIO 1. EJERCICIO 2. EJERCICIO 3. MATRIZ EJERCICIO 4. EJERCICIO 5. ORDENAR UN VECTOR CON EL MTODO DE LA BURBUJA ........................................... 1 CALCULAR EL MXIMO Y MINIMO DE UNA MATRIZ ..................................................... 1 CALCULAR EL NMERO DE ELEMENTOS POSITIVOS Y NEGATIVOS DE UNA 4 CALCULAR EL PRODUCTO DE UNA MATRIZ POR UN VECTOR.................................... 5 DIBUJADO DE FUNCIONES EN 3D ............................................................................................ 6

En primer lugar crea un directorio llamado Practica07en tu directorio G:\Informatica1. En este directorio debers guardar todos los ficheros y todo el trabajo resultante de esta prctica. Despus arranca el programa MATLAB y coloca como directorio de trabajo o directorio activo el directorio creado previamente. EJERCICIO 1. ORDENAR UN VECTOR CON EL MTODO DE LA BURBUJA Construya un nuevo subdirectorio que se llame Ejercicio0101 y site, como siempre, el directorio de trabajo de Matlab dentro. Probar con un ejemplo el programa que ordena un vector de forma ascendente mediante el mtodo de la burbuja. EJERCICIO 2. CALCULAR EL MXIMO Y MINIMO DE UNA MATRIZ Construya un nuevo subdirectorio que se llame Ejercicio0102 y site, como siempre, el directorio de trabajo de Matlab dentro. En este ejercicio se calcularn el mximo y el mnimo elemento de una matriz. Para ello tendremos una funcin principal, una funcin para calcular el mximo elemento, y otra funcin para obtener el mnimo elemento. Este ejercicio tendr una funcin principal llamada MaximoYMinimo, cuyo encabezado ser: function MaximoYMinimo(M) El argumento de entrada de esta funcin principal ser: M: matriz de la que calcularemos el mximo elemento y el mnimo Esta funcin se encargar de:

Escuela Superior de Ingenieros de San Sebastin Universidad de Navarra

Informtica 1 y Fundamentos de Computadores

pgina 2

1. Preguntar al usuario lo siguiente: Qu desea hacer? Teclee 1 para obtener el mximo elemento de la matriz M, 2 para obtener el mnimo elemento de la matriz M y 3 para Terminar: La opcin elegida por el usuario se guardar en una variable que se llame opciones. 2. Si el usuario desea obtener el mximo elemento de la matriz M, es decir, si opciones vale 1, se llamar a una funcin llamada Maximo, donde el argumento de entrada ser la matriz M. 3. Si el usuario desea obtener el mnimo elemento de la matriz M, es decir, si opciones vale 2, se llamar a una funcin llamada Minimo, donde el argumento de entrada ser la matriz M. 4. Si el usuario decide terminar, es decir, si opciones vale 3, se le indicar al usuario el siguiente mensaje: Se termina la aplicacin

La funcin Maximo tendr el siguiente encabezado: function [NumeroMax,Fila,Columna]=Maximo(M) El argumento de entrada de esta funcin ser: M: matriz de dimensin variable Los argumentos de salida de esta funcin sern: NumeroMax: mximo elemento de la matriz M, inicialmente ser el primer elemento de la matriz M Fila: fila que ocupa el mximo elemento de la matriz M, inicialmente ser la fila 1 Columna: columna que ocupa el mximo elemento de la matriz M, inicialmente ser la columna 1 Esta funcin devolver el mximo valor de los elementos de la matriz M, as como la posicin que ocupa dicho elemento dentro de la matriz. De forma que si a la funcin se le pasara la siguiente matriz:

Los argumentos de salida seran: NumeroMax = 59 Fila = 1 Columna = 4


TECNUN

7 Prctica. Matlab

pgina 3

El resultado se le indicar al usuario con el siguiente texto: El elemento mximo de esta matriz es 59 y la posicin que ocupa en la matriz es fila 1 y columna 4. Nota: Para obtener el elemento mximo de una matriz habr que comparar el primer elemento con todos los que estn detrs de l en la matriz hasta encontrar un elemento que sea mayor que el primero. A continuacin, este nuevo elemento se comparar con los siguientes hasta encontrar un nuevo elemento que sea mayor, y as sucesivamente hasta el final. La matriz se recorrer por filas, tal y como se indica en la siguiente figura:

El algoritmo para obtener el elemento mximo de una vector y la posicin que ocupa consiste en comparar el primer elemento del vector con los siguientes hasta que se encuentre un elemento que sea mayor que el primero. La variable NumeroMax ir almacenando en cada caso el mayor elemento obtenido hasta el momento, mientras que las variables Fila y Columna irn almacenando la posicin de ese elemento mximo. En ningn caso podr utilizarse la funcin de librera de Matlab max que nos devuelve el elemento mximo. La funcin Minimo tendr el siguiente encabezado: function [NumeroMin,Fila,Columna]=Minimo(M) El argumento de entrada de esta funcin ser: M: matriz de dimensin variable Los argumentos de salida de esta funcin sern: NumeroMin: mnimo elemento de la matriz M, inicialmente ser el primer elemento de la matriz M Fila: fila que ocupa el mnimo elemento de la matriz M, inicialmente ser la fila 1 Columna: columna que ocupa el mnimo elemento de la matriz M, inicialmente ser la columna 1

Escuela Superior de Ingenieros de San Sebastin Universidad de Navarra

Informtica 1 y Fundamentos de Computadores

pgina 4

Esta funcin devolver el mnimo valor de los elementos de la matriz M, as como la posicin que ocupa dicho elemento dentro de la matriz. De forma que si a la funcin se le pasara la siguiente matriz:

Los argumentos de salida seran: NumeroMin = 1 Fila = 3 Columna = 2 El resultado se le indicar al usuario con el siguiente texto: El elemento mnimo de esta matriz es 1 y la posicin que ocupa en la matriz es fila 3 y columna 2. Nota: Para obtener el elemento mnimo de una matriz habr que comparar el primer elemento con todos los que estn detrs de l en la matriz hasta encontrar un elemento que sea menor que el primero. A continuacin, este nuevo elemento se comparar con los siguientes hasta encontrar un nuevo elemento que sea menor, y as sucesivamente hasta el final. El algoritmo para obtener el elemento mnimo de una vector y la posicin que ocupa consiste en comparar el primer elemento del vector con los siguientes hasta que se encuentre un elemento que sea menor que el primero. La variable NumeroMin ir almacenando en cada caso el menor elemento obtenido hasta el momento, mientras que las variables Fila y Columna irn almacenando la posicin de ese elemento mnimo. En ningn caso podr utilizarse la funcin de librera de Matlab min que nos devuelve el elemento mnimo. EJERCICIO 3. CALCULAR EL NEGATIVOS DE UNA MATRIZ NMERO DE ELEMENTOS POSITIVOS Y

Construya un nuevo subdirectorio que se llame Ejercicio0103 y site, como siempre, el directorio de trabajo de Matlab dentro. En este ejercicio se crear una funcin que, utilizando bucles y bifurcaciones, contar cuntos elementos positivos y cuntos elementos negativos tiene una matriz. La funcin que debe programarse se llamar NegativosYPositivos, y su encabezado ser:
TECNUN

7 Prctica. Matlab

pgina 5

function [neg,pos]=NegativosYPositivos(A) El argumento de entrada de esta funcin ser: A: matriz de elementos positivos y negativos Los argumentos de salida de esta funcin sern: neg: nmero de elementos negativos que tiene la matriz A pos: nmero de elementos positivos que tiene la matriz A Esta funcin se encargar de contar cuntos elementos negativos y positivos tiene la matriz A. De modo que si la matriz A es:

El resultado se le indicar al usuario con el siguiente texto: La matriz A contiene 5 elementos negativos y 20 elementos positivos. EJERCICIO 4. CALCULAR EL PRODUCTO DE UNA MATRIZ POR UN VECTOR Construya un nuevo subdirectorio que se llame Ejercicio0104 y site, como siempre, el directorio de trabajo de Matlab dentro. En este ejercicio se programar una funcin que multiplique una matriz por un vector.Este ejercicio tendr una funcin principal llamada MatrizPorVector, cuyo encabezado ser: function MatrizPorVector(A,v) Los argumentos de entrada de esta funcin principal sern: A: matriz a multiplicar por el vector v v: vector a multiplicar por la matriz A Esta funcin se encargar de: 5. Si la matriz A se puede multiplicar por el vector v, se llamar a la funcin Multiplicar, donde los argumentos de entrada sern la matriz A y el vector v. 6. Si no se pueden multiplicar se le indicar al usuario el siguiente mensaje: La matriz A no se puede multiplicar por el vector v. Las dimensiones no son correctas. La funcin Multiplicar tendr el siguiente encabezado: function b=Multiplicar(A,v)
Escuela Superior de Ingenieros de San Sebastin Universidad de Navarra

Informtica 1 y Fundamentos de Computadores

pgina 6

Los argumentos de entrada de esta funcin principal sern: A: matriz a multiplicar por el vector v v: vector a multiplicar por la matriz A El argumento de salida de esta funcin ser: b: matriz A por vector v De modo que si yo multiplico la siguiente matriz A, por el vector v:

EJERCICIO 5. DIBUJADO DE FUNCIONES EN 3D Construya un nuevo subdirectorio que se llame Ejercicio0105 y site, como siempre, el directorio de trabajo de Matlab dentro. El programa que debe desarrollar a continuacin debe guardarlo dentro de un fichero de instrucciones llamado surf1.m. Utilizando el comando Surf, debe dibujar las funciones tridimensionales Z1 y Z2:

Z1 = 5 x 2 + 3 y 2

Z 2 = x2 y2

Para ello deber seguir los siguientes pasos: 1. Crear un vector x1, cuyo valor inicial y final sean -1 y 1 respectivamente, y con un paso de 0.1. 2. rear un vector y1, cuyo valor inicial y final sean -1 y 1 respectivamente, y con un paso de 0.1. 3. Crear la matriz Z1, cuyos valores se correspondan con los valores de la funcin matemtica concretados para los valores definidos en los vectores x1 e y1. 4. Crear un vector x2, cuyo valor inicial y final sean -2 y 2 respectivamente, y con un paso de 0.03. 5. Crear un vector y2, cuyo valor inicial y final sean -2 y 2 respectivamente, y con un paso de 0.03. 6. Crear la matriz Z2, cuyos valores se correspondan con los valores de la funcin matemtica concretados para los valores definidos en los vectores x2 e y2. 7. Utilizando la funcin surf dibujar las matrices Z1 y Z2 en una misma grfica.
TECNUN

7 Prctica. Matlab

pgina 7

La figura que debe obtenerse es la siguiente, incluyendo en azul ttulo y lbeles para los ejes x,y,z:

Figura 2: Z1 y Z2 utilizando la funcin surf

Escuela Superior de Ingenieros de San Sebastin Universidad de Navarra

Вам также может понравиться