Learning to Program with MATLAB: Building GUI Tools – Craig S. Lent – 1st Edition

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.

Ver más
  • 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
  • Citar Libro
    • Título: Learning to Program with MATLAB: Building GUI Tools
    • Autor/es:
    • ISBN-13: 9780470936443
    • Edición: 1ra Edición
    • Año de edición: 2013
    • Tema: Computación
    • Subtema: MATLAB®
    • Tipo de Archivo: eBook
    • Idioma: eBook en Inglés

Descargar Learning to Program with MATLAB: Building GUI Tools

Tipo de Archivo
Idioma
Descargar RAR
Descargar PDF
Páginas
Tamaño
Libro
Inglés
322 pag.
8 mb

Déjanos un comentario

No hay comentarios

guest
0 Comentarios
Comentarios en línea
Ver todos los comentarios
0
Nos encantaría conocer tu opinión, comenta.x