Sei sulla pagina 1di 41

INTRODUCCIÓN

Programación de computadores aplicados a


la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños
Maestría en Ingeniería-estructuras, investigación
osagutierrezbo@unal.edu.co
1
OBJETIVOS
 Que el estudiante desarrolle habilidades lógicas y técnicas
necesarias para resolver problemas prácticos de ingeniería
haciendo uso del computador, mediante el uso de un lenguaje
de programación de alto nivel.
 Que el estudiante aprenda a analizar un problema algorítmico
y diseñar una solución, siguiendo una metodología que le
permita especificarla, programarla y luego probar que
satisface los requerimientos funcionales iniciales.
 Que el estudiante aprenda a hacer uso adecuado de los
principales elementos sintácticos y semánticos propios de un
lenguaje de programación tales como variables, estructuras de
control, estructuras de datos, comandos…

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

2
EVALUACIÓN

4 parciales

30%, 30%, 20%, 20%

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

3
BIBLIOGRAFÍA

 Fundamentos de programación: algoritmos, estructura de


datos y objetos. 3ra Edición. Luis Joyanes Aguilar.

 Aprenda Matlab 7.0 como si estuviera en primero. Javier


García de Jalón, José Ignacio Rodríguez, Jesús Vidal.

 Metodología de la programación. Osvaldo Cairó.

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

4
QUÉ ES UN LENGUAJE DE
PROGRAMACIÓN?
Lenguaje:

1. Capacidad propia del ser humano para expresar


pensamientos y sentimientos por medio de la palabra.
2. Sistema de signos que utiliza una comunidad para
comunicarse oralmente o por escrito.

“El lenguaje de programación es la herramienta de comunicación


entre la maquina y el usuario”

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

5
QUÉ ES UN LENGUAJE DE
PROGRAMACIÓN?

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

6
QUÉ TIPOS DE L.D.P HAY?
Sumar el número
 Lenguaje de máquina
contenido en la posición
- Sistema binario de memoria M al
- Bits número almacenado en
la posición de memoria
- Bytes N y situar el resultado
 Lenguaje de bajo nivel en la posición de
memoria P
Programa - Lenguaje ensamblador (nemotécnico)
ensamblador
- ADD, M, N, P  0110 1010 1011
Conjunto de reglas que se
 Lenguaje de alto nivel deben seguir en el
Compilador o lenguaje de programación
intérprete - Matlab
donde se escribe el
- Sintaxis código fuente
Programación de computadores aplicados
a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños
7
FORTRAN VS MATLAB

Lenguaje de Matlab

Lenguaje de Fortran

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

8
ENTORNO DE TRABAJO DE
MATLAB
1. Matlab desktop (Escritorio de Matlab)
2. Command window
3. Command history browser
4. Workspace browser y array editor
5. Matlab path y search path
6. Current directory browser
7. Editor/debugger

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

9
VARIABLES

Lenguaje de Matlab

Matlab NO requiere declaración de


variables, su tipo y tamaño cambia de forma
dinámica. Además, una variable “a” es
distinta de una variable “A”.
Lenguaje de Fortran

Programación de computadores aplicados a


la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños
10
VARIABLES
 Nombres de las variables, de los programas y subrutinas
1. No pueden comenzar por un número.
2. No pueden coincidir con palabras reservadas como: for, if,
while, else, etc.
3. No pueden contener espacios en blanco.
 Constantes predefinidas
i, j: unidades imaginarias
pi: número 𝝅 = 𝟑. 𝟏𝟒𝟏𝟓𝟗𝟐 … pi()
Inf: infinito, número mayor que el número más grande
que Matlab puede representar
NaN: Not a Number, magnitud no numérica resultado de
cálculos indefinidos. Se produce con cálculos 0/0 o Inf/Inf

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

11
FORMATO DE SALIDAS
NUMÉRICAS
 Desde el Command window
format short: muestra con 4 decimales
format long: muestra con 15 decimales
format bank: muestra con 2 decimales
format short e: notación científica con 4 decimales
format long e: notación científica con 15 decimales
format rat: expresa los números racionales como
cocientes enteros
format: formato de salida a su valor por defecto, short
 Desde de preferencias
Preferences  Command window  Numeric format

Programación de computadores aplicados


a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños
12
OPERADORES LÓGICOS
< menor que
> mayor que
<= menor o igual que A B & (^) | (˅)

>= mayor o igual que


V V V V
== igual que
V F F V
~= distinto que
F V F V
& operación “y”, comando and
F F F F
| operación “o”, comando or
~ operación “no”, comando not
Estos operadores devuelven valores de 0 y 1, NO (falso) y Si
(verdadero) respectivamente. Los operadores relacionales
pueden operar entre: escalar-escalar, escalar-matriz, matriz-
matriz, escalar-vector.
Programación de computadores aplicados
a la Ingeniería Civil.
Oscar Andrés Gutiérrez Bolaños

13
OPERADORES ARITMÉTICOS
+ Suma o adición
- Resta o sustracción
* Multiplicación
‘ Traspuesta
^ Potenciación
\ División-izquierda
/ División-derecha
.* Producto elem. a elem.
.\ , ./ División elem. a elem.
.^ Potenciación elem. a elem.

Los tamaños matriciales deben ser con las correspondientes


operaciones matriciales.
Programación de computadores aplicados
a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

14
FUNCIONES MATEMÁTICAS
ELEMENTALES DE MATLAB
Comando: help elfun

abs(x): valor absoluto


log10(x): logaritmo de base 10
exp(x): función exponencial
sqrt(x): raíz cuadrara
mod(x,y): resto de la división
real(x): parte real; imag(x): parte imaginaria
floor: entero más próximo hacia –inf; ceil: +inf
sin(x); cos(x); tan(x)…

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

15
VECTORES Y MATRICES
 Creación de vectores
Vector fila o columna: espacios o comas entre elementos

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

16
VECTORES Y MATRICES
 Creación de matrices

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

17
VECTORES Y MATRICES
 Funciones especiales para definir matrices y vectores sin
necesidad de definir cada uno de sus elementos
linspace (a, b, n): vector con n valores igualmente
espaciados entre a y b
zeros (m, n): matriz de ceros de tamaño m x n
ones (m, n): matriz de unos de tamaño m x n
eye (m, n): matriz con elementos en su diagonal iguales a 1.
Por lo tanto, eye(n) genera la matriz identidad
rand (m, n): matriz de números aleatorios de tamaño m x n,
cuyos elementos están entre 0 y 1, con distribución uniforme
randi ([a b], m, n): matriz cuyos elementos son números
aleatorios enteros y distribuidos uniformemente entre a y b
a:k:b: vector que va desde a hasta b con incremento de k,
siendo a<b. b:-k:a, vector que decrece, con b>a
Programación de computadores aplicados
a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

18
VECTORES Y MATRICES
 Tamaño de las matrices y de los vectores

length (A): número de elementos del vector A o la mayor


dimensión de la matriz A
[m n]=size (A): número de filas y columnas, respectivamente,
de las matriz A
size (A,1): número de filas de las matriz A
size (A,2): número de columnas de las matriz A

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

19
VECTORES Y MATRICES
 Creación de matrices a partir de otras
A=diag (x): siendo x un vector ya existente, diag genera una
matriz A con sus elementos diagonales iguales a los
elementos del vector x, y los elementos fuera de la diagonal
iguales a 0
x= diag (A): siendo A una matriz ya existente, diag genera
un vector x con sus elementos iguales a los elementos de la
diagonal de la matriz A
reshape (A, m, n): cambia el tamaño de la matriz A,
devolviendo una matriz de tamaño m x n igual a la cantidad
de elementos de la matriz A. Las columnas de esta nueva
matriz se obtienen a partir del vector A(:)
E=[A B C]: la matriz E se genera a partir de las submatrices
A, B, y C, las cuales deben tener dimensionamiento
coherente. L=[P; Q; R]
Programación de computadores aplicados
a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

20
VECTORES Y MATRICES
 Funciones relacionales en matrices y vectores

find (x): siendo x una condición especificada,


find encuentra los índices de los elementos
que cumplen tal condición

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

21
VECTORES Y MATRICES
 Funciones relacionales en matrices y vectores

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

22
VECTORES Y MATRICES
 Funciones relacionales en matrices y vectores

isequal (a,b): siendo a y b escalares, vectores o matrices de tamaños


iguales, isequal devuelve 1 si tienen los mismos valores, de lo
contrario devuelve 0.

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

23
VECTORES Y MATRICES
 Funciones relacionales en matrices y vectores

any (x): siendo x una condición especificada, any devuelve 1 si por lo


menos un elemento cumple con la condición, de lo contrario devuelve 0.

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

24
VECTORES Y MATRICES
 Funciones relacionales en matrices y vectores

all (x): siendo x una condición especificada, all devuelve 1 si todos los
elementos cumplen con la condición, de lo contrario devuelve 0.

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

25
VECTORES Y MATRICES
 Otras funciones útiles que operan sobre matrices y vectores

sum (x): siendo x un vector o una matriz, sum devuelve la suma de los
elementos del vector o la suma por columna de la matriz.

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

26
VECTORES Y MATRICES
 Otras funciones útiles que operan sobre matrices y vectores

prod (x): siendo x un vector o una matriz, prod devuelve el producto de


los elementos del vector o el producto por columna de la matriz.

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

27
VECTORES Y MATRICES
 Otras funciones útiles que operan sobre matrices y vectores

max (x): siendo x un vector o una matriz, max devuelve el máximo de


los elementos del vector o el máximo por columna de la matriz.

min (x): este comando hace lo propio,


pero para valores mínimos.

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

28
VECTORES Y MATRICES
 Otras funciones útiles que operan sobre matrices y vectores

[valmax pos]=max (x): siendo x un vector o una matriz, este comando


devuelve el máximo de los elementos del vector en una variable valmax
y su posición en una variable pos o el máximo por columna de la matriz
en el vector-variable valmax y sus posiciones en el vector-variable pos.

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

29
VECTORES Y MATRICES
 Otras funciones útiles que operan sobre matrices y vectores

[orden posant]=sort (x): siendo x un vector o una matriz, este comando


devuelve en el vector orden los elementos ordenados de menor a
mayor y sus posiciones iniciales en el vector posant. En matrices, hace
lo propio por columna.

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

30
DIRECCIONAMIENTO EN
VECTORES Y MATRICES
 Extracción de vectores y matrices
Supongamos:

1. Vectores x y v con p y q elementos, respectivamente. Donde


p>=q. v debe ser un vector de números enteros positivos.
2. Una matriz A de nxm
3. a, b números enteros <=n
4. c y d números enteros <=m
5. Vectores u y t con elementos positivos <=n y <=m,
respectivamente

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

31
DIRECCIONAMIENTO EN
VECTORES Y MATRICES
 Extracción de vectores
NOTA: Si el vector x es un vector fila o columna, el vector resultante s
será un vector fila o columna, sin importar que v sea un vector fila o
columna.

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

32
DIRECCIONAMIENTO EN
VECTORES Y MATRICES
 Extracción de vectores
s = A(a, c) =
s = A([a b], c) =
s = A(b, [c d]) =
s = A(a:b, c) =
s = A(b, c:d) =
s = A(b, :) =
s = A(: ,c) =
s = A(u, a) =
s = A(a, t) =
s = A(:) =
Programación de computadores aplicados
a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

33
DIRECCIONAMIENTO EN
VECTORES Y MATRICES
 Extracción de matrices
s = A([a b], [c d]) =
s = A(a:b, c:d) =
s = A([a b], :) =
s = A(:, [c d]) =
s = A(a:b, :) =
s = A(:, c:d) =
s = A(: ,t) =
s = A(u, :) =
s = A(u, t) =

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

34
DIRECCIONAMIENTO EN
VECTORES Y MATRICES
 Modificación de vectores y matrices
Supongamos:

1. Vectores x y v con p y q elementos, respectivamente. Donde


p>=q. v debe ser un vector de números enteros positivos.
2. Una matriz A de nxm
3. a, b números enteros <=n
4. c y d números enteros <=m
5. Vectores u y t con elementos positivos <=n y <=m,
respectivamente
6. Escalar r
7. Escalar o vector q de dimensiones coherentes
8. Escalar o matriz z de dimensiones coherentes
Programación de computadores aplicados
a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

35
DIRECCIONAMIENTO EN
VECTORES Y MATRICES
 Modificación de vectores

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

36
DIRECCIONAMIENTO EN
VECTORES Y MATRICES
 Modificación de matrices debido a un escalar o vector q

A(a, c) = r
A([a b], c) = q
A(b, [c d]) = q
A(a:b, c) = q
A(b, c:d) =
A(b, :) = q
A(: ,c) = q

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

37
DIRECCIONAMIENTO EN
VECTORES Y MATRICES
 Modificación de matrices debido a un escalar o matriz z
A([a b], [c d]) = z
A(a:b, c:d) = z
A([a b], :) = z
A(:, [c d]) = z
A(a:b, :) = z
A(:, c:d) = z
A(u, a) = z
A(a, t) = z
A(:, t) = z
A(u, :) = z A(:) = z
Programación de computadores aplicados
a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

38
ELIMINACIÓN DE ELEMENTOS
EN VECTORES Y MATRICES
 Eliminación de elementos en vectores y matrices
Supongamos:

1. Vectores x y v con p y q elementos, respectivamente. Donde


p>=q. v debe ser un vector de números enteros positivos.
2. Una matriz A de nxm
3. a, b números enteros <=n y <=m, respectivamente
4. p y q deben ser menores a n y m, respectivamente

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

39
ELIMINACIÓN DE ELEMENTOS
EN VECTORES Y MATRICES
 Eliminación de elementos en vectores
x(a) = [ ]
x(v) = [ ]

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

40
ELIMINACIÓN DE ELEMENTOS
EN VECTORES Y MATRICES
 Eliminación de elementos en matrices
A(a, :) = [ ]
A(:, b) = [ ]
A(v, :) = [ ]
A(:, v) = [ ]

Programación de computadores aplicados


a la Ingeniería Civil. 2019-I
Oscar Andrés Gutiérrez Bolaños

41

Potrebbero piacerti anche