Descripción
Aprender a programar una computadora en un lenguaje moderno con capacidades gráficas serias es hacerse con una herramienta de notable flexibilidad que tiene el poder de proporcionar una visión profunda. Este texto está destinado principalmente a ser un primer curso de programación y está orientado hacia la integración con las ciencias, las matemáticas y la ingeniería. También es útil para estudiantes e investigadores más avanzados que desean adquirir rápidamente la capacidad de construir fácilmente herramientas gráficas útiles para explorar modelos computacionales. El lenguaje de programación MATLAB proporciona un lenguaje introductorio excelente, con capacidades gráficas, matemáticas y de interfaz de usuario integradas. El objetivo es que el estudiante aprenda a construir modelos computacionales con interfaces gráficas de usuario $GUI$ que permitan la exploración del comportamiento del modelo. Este enfoque de creación de herramientas GUI se ha utilizado en múltiples niveles educativos: cursos de posgrado, cursos de pregrado intermedios, un curso de introducción a la ingeniería para estudiantes universitarios de primer año y cursos de nivel junior y senior de escuela secundaria.
El lenguaje de programación MATLAB, descendiente de FORTRAN, ha evolucionado para incluir muchas herramientas gráficas y de análisis poderosas y convenientes. Se ha convertido en una plataforma importante para la educación en ingeniería y ciencias, así como para la investigación. MATLAB es un primer lenguaje de programación muy valioso, y para muchos será el lenguaje preferido para la mayoría, si no todo, del trabajo computacional que realizan. Por supuesto, C++, Java, Python y muchos otros lenguajes juegan papeles cruciales en otros dominios. Varias funciones del lenguaje hacen que el lenguaje MATLAB sea más fácil para los principiantes que muchas alternativas: se interpreta en lugar de compilarse, los tipos de variables y los tamaños de matriz no necesitan declararse por adelantado, no está fuertemente tipado, el vector, la matriz, la matriz multidimensional y los números complejos son tipos de datos básicos, existe un sofisticado entorno integrado de desarrollo y depuración, y se proporciona un amplio conjunto de funciones matemáticas y gráficas.
Si bien los programas de computadora se pueden usar de muchas maneras, el énfasis aquí está en la construcción de modelos computacionales, principalmente de fenómenos físicos $aunque las técnicas se pueden extender fácilmente a otros sistemas$. Un sistema físico se modela primero conceptualmente, utilizando ideas como cantidad de movimiento, fuerza, energía, reacciones, campos, etc. Estos conceptos se expresan matemáticamente y se aplican a una clase particular de problema. Tal clase podría ser, por ejemplo, el movimiento de proyectiles, el flujo de fluidos, la evolución cuántica, los campos electromagnéticos, las ecuaciones de circuitos o las leyes de Newton. Normalmente, el modelo implica un conjunto de parámetros que describen el sistema físico y un conjunto de relaciones matemáticas $sistemas de ecuaciones, integrales, ecuaciones diferenciales, sistemas propios, etc.$.
El proceso de solución matemática debe realizarse a través de un algoritmo computacional, un procedimiento paso a paso para calcular las cantidades deseadas a partir de los parámetros de entrada. Luego, el comportamiento del modelo generalmente se visualiza gráficamente, por ejemplo, uno o más gráficos, gráficos de barras o animaciones.
Una herramienta GUI consta de un modelo computacional y una interfaz gráfica de usuario que permite al usuario ajustar fácil y naturalmente los parámetros del modelo, volver a ejecutar el cálculo y ver los nuevos resultados. La experiencia que condujo a este texto fue la observación de que el aprendizaje de los estudiantes mejora si los propios estudiantes construyen la herramienta GUI: construyen el modelo computacional, implementan la visualización de resultados y diseñan la GUI. La GUI es valiosa por varias razones. Lo más importante es que explorar el comportamiento del modelo, mediante la manipulación de controles deslizantes, botones, casillas de verificación y similares, fomenta un enfoque en el desarrollo de una visión intuitiva del comportamiento del modelo. La percepción es el objetivo principal.
Ejecutando el modelo muchas veces con diferentes entradas, el usuario puede comenzar a ver el comportamiento característico del sistema físico representado por el modelo. Además, se debe reconocer que las herramientas impulsadas gráficamente son a lo que los estudiantes están acostumbrados cuando manejan computadoras. Una interfaz de línea de comandos parece tosca y retrógrada. Además, particularmente para los estudiantes de ingeniería, la disciplina de envolver el modelo en una forma que otra persona pueda usar fomenta una mentalidad orientada al diseño. Finalmente, construir y entregar un modelo matemático sofisticado que se opera a través de una interfaz GUI es simplemente más gratificante y divertido. La orientación de la herramienta GUI guía la estructura del texto. La Parte I $Capítulos 1 a 8$ cubre los fundamentos de la programación y los gráficos básicos de MATLAB. Está diseñado para ser lo que uno necesita saber antes de construir la GUI real. El objetivo es preparar al estudiante para la construcción de GUI lo más rápido posible $pero no más rápido$. En este contexto, el Capítulo 4 $matrices$ y el Capítulo 6 $animación$ merecen un comentario.
Preface
I MATLAB Programming
1 Getting Started
1.1 Running the MATLAB IDE
Manipulating windows
1.2 MATLAB variables
Variable assignment statements
Variable names
Variable workspace
1.3 Numbers and functions
1.4 Documentation
1.5 Writing simple MATLAB scripts
1.6 A few words about errors and debugging
1.7 Using the debugger
2 Strings and Vectors
2.1 String basics
2.2 Using the disp command to print a variable's value
2.3 Getting information from the user
2.4 Vectors
2.5 Operations on vectors
2.6 Special vector functions
2.7 Using rand and randi
3 Plotting
3.1 The plot command
3.2 Tabulating and plotting a simple function
3.3 Bar graphs and histograms
3.4 Drawing several plots on one graph
3.5 Adding lines and text
4 Matrices
4.1 Entering and manipulating matrices
4.2 Operations on matrices
4.3 Solving linear systems: The backslash operator
Extended example: Solving circuit problems
4.4 Special matrix functions
5 Control Flow Commands
5.1 Conditional execution: The if statement
5.2 Logical expressions
5.3 Logical variables
5.4 for loops
5.5 while loops
5.6 Other control flow commands
Switch-case statement
Break statement (not recommended)
6 Animation
6.1 Basic animation
6.2 Animating function plots .
6.3 Kinematics of motion
One-dimensional motion: Constant speed
Motion with constant acceleration
Time-marching dynamics: Nonconstant force
7 Writing Your Own MATLAB Functions
7.1 MATLAB function files
7.2 Function inputs and outputs
7.3 Local workspaces
7.4 Multiple outputs
7.5 Function files
7.6 Other functional forms
Subfunctions
Nested functions
Anonymous functions
8 More MATLAB Data Classes and Structures
8.1 Cell arrays
8.2 Structures
8.3 Complex numbers
8.4 Function handles
8.5 Other data classes and data structures
II Building GUI Tools
9 Building a Graphical User Interface
9.1 Getting started with GUIDE
Saving the GUI to a file
9.2 Starting an action with a GUI element
9.3 Communicating with GUI elements
Building SliderTool
Communicating with GUI elements from the command line
9.4 Synchronizing information with a GUI element
9.5 Key points from this chapter
10 Transforming a MATLAB Program into a GUI Tool
10.1 Creating a GUI tool step by step
10.2 Further GUI design considerations
11 GUI Components
III Advanced Topics
12 More GUI Techniques
12.1 Waitbars
12.2 File dialogs
Saving and loading data in .mat files
A GUI interface to file names using uiputfile and uigetfile .
12.3 Reading and writing formatted text files
12.4 The input dialog
12.5 The question dialog
12.6 Sharing application data between functions
12.7 Responding to keyboard input
12.8 Making graphic objects interactive
Mouse-click response
Mouse events and object dragging
12.9 Creating menus in GUIDE
13 More Graphics 232
13.1 Logarithmic plots
13.2 Plotting functions on two axes
13.3 Plotting surfaces
13.4 Plotting vector fields
13.5 Working with images
Importing and manipulating bit-mapped images
Placing images on surface objects
13.6 Rotating composite objects in three dimensions
14 More Mathematics
14.1 Derivatives
Derivatives of mathematical functions expressed as MATLAB functions
Derivatives of tabulated functions
14.2 Integration
Integrating tabulated functions
Integrating mathematical functions expressed as MATLAB functions
14.3 Zeros of a function of one variable
14.4 Function minimization
Finding a minimum of a function of one variable
Multidimensional minimization
Fitting to an arbitrary function by multidimensional minimization
Solving simultaneous nonlinear equations by multidimensional minimization
14.5 Solving ordinary differential equations
14.6 Eigenvalues and eigenvectors
AppendixA: Hierarchy of Handle Graphics Objects
Appendix B: Using LATEX Commands
Index
Consulta los datos bibliográficos principales de esta edición para identificar correctamente el recurso, revisar su autoría y verificar detalles como ISBN, tema, subtema, archivo e idioma.
- Título: Learning to Program with MATLAB: Building GUI Tools
- Autor/es: Craig S. Lent
- Edición: 1ra Edición
- Año de publicación: 2013
- Tipo de archivo: eBook
- Idioma: eBook en Inglés
- ISBN-13: 9780470936443
- Subtema: MATLAB®
Citar este libro
Preparando citaciones...
Aún no hay comentarios
Sé el primero en compartir tu opinión sobre este contenido.
Escribir un comentario