PDF de programación - Programación en MatLab

Imágen de pdf Programación en MatLab

Programación en MatLabgráfica de visualizaciones

Publicado el 17 de Marzo del 2020
1.365 visualizaciones desde el 17 de Marzo del 2020
2,0 MB
202 paginas
Creado hace 8a (15/07/2015)
UNIVERSIDAD DE JA ÉN

Departamento de Informática

PROGRAMACI ÓN EN MATLAB

Francisco Martínez del Río

2

Copyright © 2015 Francisco Martínez del Río
Licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License
(the “License”). You may not use this file except in compliance with the License. You may
obtain a copy of the License at http://creativecommons.org/ licenses/by-nc/3.0. Unless
required by applicable law or agreed to in writing, software distributed under the License is
distributed on an “as is” basis, without warranties or conditions of any kind, either express
or implied. See the License for the specific language governing permissions and limitations
under the License.

El objetivo de estos apuntes de la asignatura “Complementos de Informática”, del Máster
en Ingeniería Industrial de la Universidad de Jaén, es avanzar en el estudio de las herra-
mientas que proporciona un lenguaje de programación para resolver problemas, siguiendo
la tarea empezada en la asignatura “Informática” del primer curso del grado.

Como lenguaje de programación se ha optado por MATLAB por varios motivos. En
primer lugar, todos aquellos estudiantes que han cursado la asignatura “Informática” ya lo
conocen, por lo que no es necesario explicar el lenguaje desde cero. No obstante, en estos
apuntes se presupone poco conocimiento inicial del lenguaje; aunque se obvian algunos
detalles, especialmente en el primer tema, donde no se describen los men ús, las ventanas
del entorno de ejecución de MATLAB, los tipos de datos básicos o el concepto de guión. En
segundo lugar, MATLAB es uno de los lenguajes más utilizados en entornos científicos y de
ingeniería, destacando especialmente por sus facilidades para el trabajo con matrices y para
la visualización gráfica de datos.

En cuanto a los contenidos de los apuntes, los temas primero y tercero cubren las es-
tructuras de control secuenciales, condicionales e iterativas comunes a todos los lenguajes
que permiten expresar el flujo de control del programa. El tema segundo trata exhausti-
vamente la estructura de datos central de MATLAB: el array. Los temas cuarto y noveno
describen cómo generar gráficos en MATLAB. Aquí se destacan las características usadas
más frecuentemente pues, dada su amplitud, no es posible un estudio sistemático de todas
las posibilidades gráficas de MATLAB. El tema quinto describe las funciones en detalle; las
funciones permiten organizar el código, facilitando el desarrollo de aplicaciones más estruc-
turadas que son más fáciles de desarrollar, comprender y mantener. El tema décimo describe
la recursividad, que consisten en desarrollar funciones que se invocan a sí mismas. Por últi-
mo, los temas sexto, séptimo y octavo describen tres estructuras de datos: las cadenas de
caracteres, los arrays de celdas y las estructuras. A diferencia de los arrays numéricos, estas
estructuras de datos no están especializadas en la realización de cálculos aritméticos, sir-
viendo para representar información genérica como el historial de un paciente o los detalles
de la realización de un experimento.

A lo largo de todos los apuntes se detalla cómo se puede almacenar el contenido de las
distintas estructuras de datos en archivos para su almacenamiento permanente. Se trabaja
con archivos de texto y archivos binarios nativos de MATLAB, no describiéndose el trabajo
general con archivos binarios.

Índice general

1. Variables y estructuras de programación secuenciales

1.1. Asignación de valores a variables . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1. Consultas sobre variables . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2. Borrado de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.3. Nombre de una variable . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Almacenamiento de variables en archivos . . . . . . . . . . . . . . . . . . . . .
1.3. Entrada o lectura de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4. Salida o escritura de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5. Ejemplo de guión .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
1.6. Ejercicios .

.

.

.

.

.

2. Arrays

2.1. Vectores .

2.2. Matrices

.

.

.

.

.

.

.

.

.

.

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1. Longitud de un vector . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2. Acceso a los elementos de un vector . . . . . . . . . . . . . . . . . . .
.
2.1.3. Borrado de elementos de un vector . . . . . . . . . . . . . . . . . . . . .
2.1.4. Concatenación de vectores
. . . . . . . . . . . . . . . . . . . . . . . . .
2.1.5. Operaciones con vectores . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1. Tama ño de una matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2. Acceso a los elementos de una matriz . . . . . . . . . . . . . . . . . .
.
2.2.3. Borrado de elementos de una matriz . . . . . . . . . . . . . . . . . . . .
2.2.4. Concatenación de matrices
. . . . . . . . . . . . . . . . . . . . . . . . .
2.2.5. Operaciones con matrices . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.6. Acceso lineal a matrices . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

.

.

7
7
9
10
10
12
13
14
18
18

21
21
22
23
26
27
27
32
32
34
35
36
36
40

2

ÍNDICE GENERAL

2.3. Escritura y lectura de matrices en archivos de texto . . . . . . . . . . . .
.
2.4. Visualización de matrices en la pantalla . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5. Matrices dispersas
2.6. Generación de n úmeros aleatorios
. . . . . . . . . . . . . . . . . . . . . . .
2.6.1. N úmeros aleatorios enteros . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.7. Ejercicios .

.

.

.

.

.
.
.
.
.
.

.
.
.
.
.
.

3. Estructuras condicionales y repetitivas

3.1. Expresiones lógicas . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Estructuras condicionales
3.3. Expresiones aritméticas como expresiones lógicas . . . . . . . . . . .
. . .
3.4. Un error muy com ún . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Estructuras repetitivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
3.5.1. Las instrucciones break y continue . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
. .
.
.

3.6. Crecimiento dinámico de un vector . . . . . . . . . . . . . . . . . . . . . .
.
3.7. Código vectorizado frente a ciclos
. . . . . . . . . . . . . . . . . . . . . . .
3.8. Preasignación de memoria y toma de tiempos . . . . . . . . . . . . . . . .
.
3.9. Uso de men ús .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10. Iterar por los elementos de una matriz . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11. Ejercicios .

.

.

.

.

.

4. Gráficos sencillos

.

4.1. La función plot

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1. Gráficos paramétricos . . . . . . . . . . . . . . . . . . . . . . . . .
.
4.1.2. Entrada gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. Funciones para configurar la visualización de un gráfico . . . . . . . . . .
4.3. Varios gráficos en una figura: subplot
. . . . . . . . . . . . . . . . . . . . .
4.4. Gestión de varias figuras: figure . . . . . . . . . . . . . . . . . . . . . . . . .
4.5. Distribuciones de frecuencias: bar, stem, pie e hist
. . . . . . . . . . . . . .
4.6. Otras funciones que generan gráficos 2D . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7. Ejercicios .

.

.

.

.

.
.
.
.
.
.
.
.
.
.
.
.
. .
.
.
.
.

5. Funciones

5.1. Formato de una función . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2. Uso de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.

.
.
. .

40
43
44
46
47
48

51
51
52
55
55
56
58
61
62
64
65
66
69

73
73
75
76
76
78
79
80
83
84

91
91
93

ÍNDICE GENERAL

3

.

Invocación de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
94
5.3.
94
5.4. La sentencia return .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5. N úmero variable de parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . .
96
98
5.6. Argumentos que toman valores de distintos tipos
. . . . . . . . . . . . . . . .
Ámbito y tiempo de vida de una variable. Variables locales . . . . . . . . . . .
99
5.7.
. 100
5.8. Funciones con memoria: variables persistentes . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.9. Funciones auxiliares
5.10. Funciones anónimas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.11. Uso de punteros a funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.12. Funciones que trabajan con matrices . . . . . . . . . . . . . . . . . . . . . . . . 107
5.13. Dualidad orden/función . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . 109
5.14. Paso de parámetros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
.
5.15. Variables globales .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
.
5.16. Ejercicios .

.

.

.

.

6. Cadenas de caracteres

117
6.1. Representación interna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.2. Concatenación de cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.3. Comparac
  • Links de descarga
http://lwp-l.com/pdf17412

Comentarios de: Programación en MatLab (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad