Programación en Matlab

Slides:



Advertisements
Presentaciones similares
Capítulo 2 Algoritmos.
Advertisements

Diagramas de flujo Pseudo-código Ejercicios Instalación de C++
Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
Pippy (Python para niños)‏ 1.
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
Valores y Vectores Propios
Estructuras de Repetición Algoritmos
La maquina de Turing La máquina de Turing es una caja negra (tan simple como una máquina de escribir y tan compleja como un ser humano) capaz no sólo de.
Introducción a los Algoritmos
Lenguajes de programación
Conceptos Hoja de cálculo. Concepto.
Resolución de Problemas Algoritmos y Programación
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Estructuras de Control
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Unidad académica: Ingenierías
FORTRAN 90 arreglos.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Curso de Programación I Parte III
Estructuras de control
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
METODOLOGIA DE LA PROGRAMACION
Funciones En MATLAB. FUNCIONES Una función es un programa pero con la particularidad, necesita de uno o varios argumentos de entrada. sin(x), cos(x),
Funciones Como calculadora, Notación f(x), dominio restringido y recorrido o rango.

TÉCNICO EN PROGRAMACIÓN DE SOFTWARE Instructor: Ingeniero Adrián Guerrero Taborda
ESTRUCTURAS DE CONTROL
Programación de Computadores
EXPONENTES Y RADICALES
Arrays (introducción)
Licenciatura en Ciencias de la Computación Álgebra I Clase 1
Ejemplos de Programas Matlab v % Programa sumav1.m % Este programa suma de las diez componentes de un vector (1,10) % Autor: Juan Carlos Gorostizaga.
Desigualdades lineales en una variable
Capítulo 1 “Elementos de Programación”
Algoritmos ¿Que es un algoritmo?
Ciclos (Loops, Repeticiones) Permiten ejecutar una secuencia de sentencias mas de una vez. Hay 2 tipos de loops:  WHILE repite la acción un número indefinido.
Juego de Preguntas y Respuestas
Matemáticas Aplicadas CS I
Programación MATLAB v. 5-3.

Estructuras de Control.
Introducción a la Ingeniería de Sistemas
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió.
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Ecuaciones Algebraicas
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Sesión 13: Python (4) – Estructura Repetición. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
DEV- C++ ·include <iostream> Int x x=x+2(x)
Sesión 11.3 Números complejos.
Elaboración de algoritmos usando lógica de programación
“variables , sentencia if y bucles”
Ecuaciones.
Matemáticas 1º Bachillerato CT
“CURSO PROPEDÉUTICO PARA EL MEJORAMIENTO DEL PENSAMIENTO MATEMÁTICO”
Estructuras de Decisión
Lic. Carla Aguirre Montalvo
Conceptos Generales Programación I Docente: Ing. Marleny Soria M.
Algoritmos en Pseudocódigo
Matrices Pág. 1. Matrices Pág. 2 Se llama matriz traspuesta de A, y se representa por A t a la matriz que resulta de intercambiar las filas y las columnas.
75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Complejidad algorítmica.
Programación I Docente: Ing. Marleny Soria M..  Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar.
Grupo de Modelamiento de Sistemas Programa de Ingeniería Civil UdeA.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Ing. Haydeli del Rosario Roa Lopez
Álgebra, ecuaciones y sistemas
Tema 8: Programación estructurada Introducción La importancia del conocimiento de programación es mucho mayor de lo que se piensa. Aprender a programar.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
Ciclos condicionales y exactos Estructura de control de ciclos
Transcripción de la presentación:

Programación en Matlab Continuación

FUNCIONES Una función es un programa pero con la particularidad, necesita de uno o varios argumentos de entrada. sin(x) , cos(x), tan(x)   x es el argumento de la función seno. Podemos tener funciones con dos, tres o más argumentos: plot(x, y) , es una función interna que posee el Matlab para trazar gráficos bidimensionales, que necesita de dos argumentos, uno para la coordenada x, otro para la y.

Estructura de una función function  [v1, v2] = nombre(x, y, z)         INICIO         BLOQUE GENERAL         FINAL

EJEMPLO Uso de asin2(x) →

Estructura general de las funciones function [ variables de retorno] = nombre(lista de argumentos) Caso más general - function v1 = nombre(lista de argumentos)  - function         nombre(lista de argumentos)

Funciones pre-construidas Funciones trigonométricas:   sin(x)   cos(x)   tan(x)   asin(x)   acos(x)   atan(x)   exp(x)   log(x)   log10(x)  Funciones matemáticas diversas:   abs(x)       : Retorna el valor absoluto de x.   fix(x)         : Retorna la parte entera de x.   rem(x,y)    : Retorna el resto (remainder) de dividir x entre y.   round(x)    : Redondea x al más próximo entero.   sign(x)       : Retorna -1 si x es menor que 0, 0 si x es 0, +1 si x es mayor que 0.   sqrt(x)       : Retorna la raíz cuadrada de x.

VECTORES Y MATRICES Matrices: Una matriz es una tabla ordenada de números, por ejemplo: Para asignar a la variable "A" la matriz anterior, debemos poner en Matlab: A = [2 0 5 8; 1 3 7 4; 6 9 0 2]

OPERACIONES TIPICAS * Producto por un escalar:  5*A  * Suma de matrices:    A + B  (siempre que en B haya almacenada una matriz del mismo orden que A).  * Producto de matrices: A * B (siempre que el orden de B sea el adecuado).    Y para matrices cuadradas :   * Potencias de matrices cuadradas: C^3  (equivale a).   * Transpuesta de una matriz A: A'   * Inversa de una matriz A (si inversible):  inv(A).   * Determinante de A:         det(A).

Elementos de una matriz: Para referirnos a el elemento concreto de A que se halla en la fila i, y columna j, pondremos: A(i, j) Por ejemplo, el elemento A(2, 3) es el número 7:

De esta forma podemos operar con elementos específicos de una matriz, o podemos, por ejemplo, cambiar un elemento de la matriz A, asignándole un nuevo valor numérico. Por ejemplo, si ahora ponemos A(2, 3) = 6, lo que hacemos es cambiar el 7 que había antes por el nuevo valor de 6. Entonces la matriz A quedará modificada:

Ejemplos de asignación: Vectores Un vector fila de cinco componentes (por ejemplo), no es más que una matriz de orden (1x5), mientras que un vector columna de cinco componentes es una matriz de orden (5x1). Ejemplos de asignación: Vector fila: v1 = [2 0 -3 5 -8].   Vector columna: v2 = [2; 0; -3; 5; -8].

Rangos numéricos Por rango numérico entendemos los valores numéricos comprendidos entre a y b, recorrido con un paso de p. Por ejemplo, el rango entre 1 y 10 (con paso de 1) es: 1, 2, 3 , 4, 5, 6, 7, 8, 9, 10. En Matlab un rango numérico se expresa así: a: p : b   Equivale al rango que va desde a hasta b con un paso de p. Si no expresamos el paso p, esto es a : b, equivale a un paso de 1.

Ejemplos: Expresión Equivale a . . . . 1: 0.5 :5 → 1,   1.5,   2,   2.5,  3,  3.5,  4,  4.5.  5. 1 : 10 → 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. -1: 0.1: 1 → -1, -0.9, -0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. 10: -1 : 1 → 10, 9, 8, 7, 6, 5, 4, 3, 2, 1.

Diagramas de flujo   Un diagrama de flujo es un esquema gráfico que sirve para describir un algoritmo sin necesidad de escribir el código de programación. Su utilidad fundamental es mostrar que el algoritmo que tenemos previsto programar funciona . Una vez que el diagrama de flujo es coherente, podemos pasar a codificarlo en Matlab o en cualquier otro lenguaje.

Símbolos más comunes

Ejemplo 1:   Queremos construir un algoritmo para resolver ecuaciones de segundo grado. Como sabemos, dado una ecuación del tipo a x2 + b x + c = 0, las dos raíces vienen expresadas por la fórmula: Para que haya raíces reales la cantidad b2 - 4ac, llamada "discriminante", debe ser positiva.  Podemos diseñar un programa que tenga el siguiente diagrama de flujo:

Forma de introducir datos iniciales 1. Por asignación directa de datos iniciales al comienzo del programa.

Forma de introducir datos iniciales 2. Por medio de la instrucción “input” de asignación diferida de datos. variable = input(“mensaje de texto”); En nuestro ejemplo:

Bifurcaciones condicionales Es muy común que necesitamos hacer una bifurcación condicional: Si se cumple una condición hacer una cosa, si no se cumple hacer otra.  Para ello colocaremos las llamadas "bifurcaciones", que las hay de tres tipos: Bifurcación simple. Bifurcación completa. Bifurcación múltiple.

Bifurcación simple if  (condición)              comandos; end;

Ejemplo:

Bifurcación completa else comandos(2); end; if  (condición)              comandos(1); else comandos(2); end;

EJEMPLO:

Bifurcación multiple  if  (condición1)                       comandos(1);          elseif (condición2)                        comandos(2); else                        comandos(3); end;

EJEMPLO:

Forma de presentación de resultados finales o intermedios. 1. Por medio del comando disp(), ya utilizado. Colocando como argumento una frase o una variable. disp(‘la solución es = ‘); disp(x); 2. Por medio del comando fprintf(), ya utilizado. Colocando como argumento una frase o una variable. fprintf('Dos raíces reales: Raiz1 = %14.8f\n', Raiz1); fprintf(' Raiz2 = %14.8g\n', Raiz2);

Ejecución del programa cuadratica.m (con el disp)

Ejecución del programa cuadratica.m (con el fprintf)

Bucle while Bucle for Bucles iterativos Sirven para realizar una tarea –de forma repetitiva - una cantidad "n" de veces (Mientras la condición , dependiente de un parámetro, sea verdad) Bucle while Bucle for (ambos son equivalentes)

while condición comandos; end Bucle while while condición comandos; end               Como condición podemos poner p. ejemp.: i < 100 . Siempre debemos tener la doble precaución: a) Inicializar (i = 1) el parámetro ántes del bucle. b) colocar dentro del bucle while el comando, i = i + 1, que nos asegura que la iteración va recorriendo los valores desde el 1 hasta el 99.      

Un ejemplo: Este bucle obtiene el “valor doble” de todos los números entre 1 y 99.

for i = rango_numérico comandos; end Bucle for for  i = rango_numérico comandos; end                               La condición es el rango numérico que se ha de completar para que el bucle termine, y pueden ser expresados rangos tales como:  1: 100,     1:0.2:1000,      -5:0.25:100,

Un ejemplo:

for i = rango_numérico1 for j = rango_numérico2 comandos; end ; end; Bucles "for" anidados:    Se pueden colocar dos, o incluso más, ciclos for, unos en el interior de otros, lo cual es muy útil en la programación. La estructura de dos ciclos for, por ejemplo, es: for  i = rango_numérico1        for  j = rango_numérico2 comandos; end ;                               end;                         

EJEMPLO: Supongamos la matriz: A = zeros(3, 5); La siguiente secuencia:

Poduce el siguiente resultado: 0  -1  -2  -3  -4 1   0  -1  -2  -3 2   1   0  -1  -2 Es decir, por cada paso que da el bucle externo (el "i" en este caso) se completa el bucle interno (el "j" en este caso).