Descripción

Blog educativo destinado a los alumnos que cursan Álgebra II de las carreras del Profesorado en Informática y Licenciatura en Sistemas de Información en la Facultad de Ciencias Exactas y Tecnologías de la Universidad Nacional de Santiago del Estero – Argentina.


Tu grupo en Facebook

NOTAS Y RECORDATORIOS 

Datos personales

Datos personales
Santiago del Estero - Argentina

Para consultar siempre

 

Publicación de eventos importantes

de la asignatura.

MATLAB y los archivos m

Publicado por María Inés Morales | | | 5 comentarios »

La aparición de las nuevas tecnologías y su vertiginoso avance han modificado la forma de vivir de millones de personas en el mundo y la educación no está exenta. Hoy, se considera a la computadora como un recurso poderoso y motivador en la educación, empleado como un medio para cultivar la imaginación y la comprensión del individuo así como para fomentar el aprendizaje significativo.

El uso de un software matemático como herramienta computacional en cursos de Álgebra Lineal favorece notablemente los procesos de enseñanza y aprendizaje, ya que permite que el alumno manipule los objetos matemáticos, formule conjeturas sobre las propiedades que los caracterizan y las valide o rechace a medida que avanza en su exploración, de este modo es el estudiante quien descubre, apropiándose así del conocimiento, lo que lo lleva a un aprendizaje significativo.

MATLAB reúne, a nuestro criterio, todas las bondades para su empleo en las clases de Algebra Lineal, pues es un sistema de trabajo interactivo cuyo elemento básico de trabajo son las matrices, con él se pueden resolver problemas en los que se encuentren involucrados elevados cálculos matemáticos y la visualización gráfica de los mismos. Por otra parte, MATLAB es un lenguaje de programación que permite la creación de programas o funciones de usuario (archivos .m) posibilitando al alumno integrar sus conocimientos y, lo que es más importante aún, desarrollar su creatividad.

De acuerdo a lo expuesto, los alumnos que cursan Álgebra II (Álgebra Lineal) de las carreras de Licenciatura en Sistemas de Información y Profesorado en Informática presentan, al final del módulo, un trabajo en el que integran los conceptos adquiridos del Álgebra Lineal con las herramientas que los provee el MATLAB. Para ello confeccionan un programa (archivo m de función) que resuelve alguna cuestión de las practicadas en la asignatura. El objetivo de este artículo es mostrar algunos de los programas creados por los alumnos que cursaron en el 2007 y que fueron seleccionados al azar.

El siguiente listado presenta una pequeña descripción de cada uno de ellos y un ejemplo de su funcionamiento. Al archivo se accede haciendo clic en el nombre del archivo.
  • Lazarte.m es un archivo de m función al que su autor lo bautizó con su nombre y que permite, mediante un menú, elegir entre dos opciones: graficar una recta o un plano. En caso de elegir la primera opción Matlab solicita el ingreso de los coeficientes “a” y “b” para graficar la recta de ecuación Y=a.X+b. Si la opción elegida fuera la segunda, se le requerirá el ingreso de los coeficientes “a”, “b” y “d” para graficar un plano de ecuación z=a.X+b.Y+d. En el caso de ingresar cualquier caracter no válido se emitirá un mensaje de error “No es una opción válida”.

Ejemplo de su funcionamiento:

Cuando se teclea:
>> Lazarte

Matlab, devuelve por pantalla lo siguiente:
===========================
| QUE DESEA DIBUJAR? |

| |
| 1 - UNA RECTA |
| 2 - UN PLANO |
| |
===========================

INGRESE UNA OPCION: 2
OP =
2
================================================
| SE DIBUJARA UN PLANO DE LA FORMA Z=aX+bY+d |
================================================

Ingrese el valor del coeficiente "a": 2
Ingrese el valor del coeficiente "b": -1
Ingrese el valor del coeficiente "d": 2














  • diagonalizacion.m es un archivo .m de función que determina si una matriz ingresada por el usuario es o no diagonalizable, para ello se emplean propiedades de diagonalización de matrices. Se trabajó con funciones como eig(matriz), rank(matriz), length(matriz), así como también con operadores lógicos tales como while, if; adoptando su respectiva estructura de algoritmos. Para el caso de algoritmos se usó una estructura de Burbuja como método de búsqueda de elementos repetidos.

Ejemplo de su funcio0namiento:

Cuando se teclea:

>> diagonalizacion([1 1;1 3])

Matlab, devuelve por pantalla lo siguiente:

analizamos la primera propiedad de diagonalizacion
la cual nos dice que A es diagonalizable si A tiene n valores propios distintos
los valores propios son:

Vp =
577/985
1393/408

la matriz A es diagonalizable por ser todos los valores propios distintos
La matriz diagonal semejante a "A" es D=

D =

577/985 0
0 1393/408

matriz que contiene en su diagonal los valores propios de A

son posibles otras alternativas.

  • translineal.m es un archivo .m de función mediante el cual es posible observar que la matriz asociada a una transformación lineal dada, depende de las bases que se tomen en ambos espacios vectoriales. La transformación lineal dada es T de R^3 en R^2 tal que T(x,y,z)=(x+y,x-z)

Ejemplo de su funcionamiento:

Cuando se teclea:
>> translineal
Matlab, devuelve por pantalla lo siguiente:

En todos los casos los vectores deben ser ingresados como una matriz fila
Ingrese el 1er vector de la 1er base en R^3: [0 2 0]
Ingrese el 2do vector de la 1er base en R^3: [1 0 1]
Ingrese el 3ro vector de la 1er base en R^3: [1 0 0]

B =
0 1 1
2 0 0
0 1 0

Ingrese el 1er vector de la 2da base en R^2: [1 0]
Ingrese el 2do vector de la 2da base en R^2: [0 3]

La matriz asociada a la transformacion lineal es:

MASOC =
2 1 1
0 0 1/3

  • trabajo_final.m es un archivo de función que permite, mediante un menú de opciones y para dos vectores ingresados por el usuario, calcular el producto escalar, la norma de cada uno de ellos, la medida del ángulo que forman y la proyección de un vector sobre el otro. En el caso que las dimensiones de los vectores ingresados sean distintas, el programa devuelve un error.
En el mismo archivo se muestran ejemplos de funcionamiento.
  • ortonormalizar.m Este archivo evalúa si dos vectores n-dimensionales o dos matrices de orden n, ingresadas desde el teclado, constituyen una base ortonormal. En el caso de que así no sea, obtiene a partir de los datos ingresados una base ortonormal aplicando el proceso de ortogonalización de Gram-Schmidt y luego normaliza los vectores obtenidos.

Ejemplo de su funcio0namiento:

Cuando se teclea:

>> ortonormalizar

Matlab, devuelve por pantalla lo siguiente:
=============================================
=====================================
==== 1- ingrese vectores(2) =====
==== 2- ingrese matrices(2) =====

======================================
=============================================

****** ingrese opcion= 1

Ingrese el vector A=[0 1 0]
Ingrese el vector B=[-1 0 0]

****************************************************
** Estos vectores constituyen una base ortonormal **
****************************************************

otro ejemplo:

>> ortonormalizar
=============================================
========================= ============
==== 1- ingrese vectores(2) =====
==== 2- ingrese matrices(2) =====
======================================

=============================================

****** ingrese opcion= 1
Ingrese el vector A=[-2 0 0]
Ingrese el vector B=[-2 3 5]
Esta no es una base ortonormal la ortonormalizamos aplicando Gram-Schmidt y normalizando los vectores

******** Gram-Schmidt: *******

-2 0 0
0 3 5

El producto interior de estos nuevos vectores es:
0

******* Versor del vector: *******
J`:
-1 0 0
K`:
0 1260/2449 2100/2449

******* La norma de estos nuevos vectores es: ******
J`:
1
K`:
1

  • transformaciones.m permite visualizar el efecto que se produce cuando se aplica a una figura del plano una transformación lineal. En este caso la figura está dada, es un cuadrilátero de vértices A=[0,1],B=[2,4],C=[4,4],D=[6,1] y el programa permite al usuario seleccionar entre tres tipos de transformaciones lineales: expansión por un factor k a lo largo del eje x, contracción por un factor k en ambas direcciones, reflexión respecto del eje X, mostrando en cada caso la figura original y la transformada.

Ejemplo de su funcio0namiento:

Cuando se teclea:

>> transformaciones

Matlab, devuelve por pantalla lo siguiente:

Programa para graficar un Cuadrilatero y aplicarle una Transformacion Lineal.

1: Formar la figura y su transformacion lineal
0: Salir

ingrese su opcion: 1
1paso:Visualizar el grafico de la figura.


2paso:Seleccionar una Transformacion Lineal.
1-Expansion por un factor k,a lo largo del eje x,si k>1
2-Contraccion por un factor k,en ambas direcciones,si 0<1
3-Reflexion respecto del eje x


Ingrese su opcion: 2
TL:Contraccion por un factor k, en ambas direcciones
ingrese factor:
3
k =
3
intentelo nuevamente
ingrese factor:
1/2
k =
1/2


5 comentarios

  1. Anónimo // 26 junio, 2008  

    hola, aca encontre este manual de matlab, es para la version MatLab 5.3
    pero supongo que sirve para cualquiera, dejo el link de descarga directa.
    http://rapidshare.com/files/125280706/Manual.rar.html
    (copiar y pegar asi como esta en la barra de direccion)
    saludos ارييل ماكسيميليانو

  2. María Inés Morales // 27 junio, 2008  

    Gracias por tu aporte ;)

  3. surutopia // 05 diciembre, 2012  

    Hola, tengo un problema en el codigo de diagonalizacion de la matriz, pues tengo que:

    " function diagonalizacion(A)
    |
    Error: Function definitions are not permitted at the prompt or in
    scripts."

    Podrias decirme que error estoy cometiendo? gracias

  4. María Inés Morales // 05 diciembre, 2012  

    Hola, la sintaxis de la línea que permite definir una función en Matlab
    es:
    function [variables de salida]= nombre_de_función(variables de entrada)
    En tu código falta el signo igual y la o las variables de salida.
    Espero haber solucionado tu problema.
    Saludos

  5. Vilma // 19 diciembre, 2013  

    Hola María Inés,

    Excelente trabajo, gracias y muchas felicitaciones.
    Buen aporte.

    Saludos,

    Vilma Fajardo