Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


bb - MATLAB Differential Equations, Notas de estudo de Engenharia Elétrica

bb - MATLAB Differential Equations

Tipologia: Notas de estudo

2015

Compartilhado em 31/01/2015

heitor-galvao-12
heitor-galvao-12 🇧🇷

4.6

(317)

384 documentos

1 / 178

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
López
Shelve in
Applications/Mathematical &
Statistical Software
MATLAB Differential Equations
MATLAB Differential Equations
MATLAB is a high-level language and environment for numerical computation, visualization, and
programming. Using MATLAB, you can analyze data, develop algorithms, and create models
and applications. The language, tools, and built-in math functions enable you to explore multiple
approaches and reach a solution faster than with spreadsheets or traditional programming languages,
such as C/C++ or Java.
MATLAB Differential Equations introduces you to the MATLAB language with practical hands-on
instructions and results, allowing you to quickly achieve your goals. In addition to giving an intro-
duction to the MATLAB environment and MATLAB programming, this book provides all the mate-
rial needed to work on differential equations using MATLAB. It includes techniques for solving ordinary
and partial differential equations of various kinds, and systems of such equations, either symbolically or
using numerical methods (Euler’s method, Heun’s method, the Taylor series method, the Runge–Kutta
method,…). It also describes how to implement mathematical tools such as the Laplace transform,
orthogonal polynomials, and special functions (Airy and Bessel functions), and find solutions of finite
difference equations.
· Learn how to use the MATLAB environment
· Program the MATLAB language from first principles
· Solve ordinary and partial differential equations both symbolically and numerically
· Graph the solutions to your work
· Solve finite difference equations and general recurrence equations
· Understand how MATLAB can be used to investigate convergence of sequences and series
and analytical properties of functions, with working examples
9781484 203118
54999
ISBN 978-1-4842-0311-8
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe bb - MATLAB Differential Equations e outras Notas de estudo em PDF para Engenharia Elétrica, somente na Docsity!

For your convenience Apress has placed some of the front

matter material after the index. Please use the Bookmarks

and Contents at a Glance links to access them.

Chapter 1

Introducing MATLAB and the MATLAB

Working Environment

Introduction

MATLAB is a platform for scientific calculation and high-level programming which uses an interactive environment that allows you to conduct complex calculation tasks more efficiently than with traditional languages, such as C, C++ and FORTRAN. It is the one of the most popular platforms currently used in the sciences and engineering. MATLAB is an interactive high-level technical computing environment for algorithm development, data visualization, data analysis and numerical analysis. MATLAB is suitable for solving problems involving technical calculations using optimized algorithms that are incorporated into easy to use commands. It is possible to use MATLAB for a wide range of applications, including calculus, algebra, statistics, econometrics, quality control, time series, signal and image processing, communications, control system design, testing and measuring systems, financial modeling, computational biology, etc. The complementary toolsets, called toolboxes (collections of MATLAB functions for special purposes, which are available separately), extend the MATLAB environment, allowing you to solve special problems in different areas of application. In addition, MATLAB contains a number of functions which allow you to document and share your work. It is possible to integrate MATLAB code with other languages and applications, and to distribute algorithms and applications that are developed using MATLAB. The following are the most important features of MATLAB:

  • It is a high-level language for technical calculation
  • It offers a development environment for managing code, files and data
  • It features interactive tools for exploration, design and iterative solving
  • It supports mathematical functions for linear algebra, statistics, Fourier analysis, filtering, optimization, and numerical integration
  • It can produce high quality two-dimensional and three-dimensional graphics to aid data visualization
  • It includes tools to create custom graphical user interfaces
  • It can be integrated with external languages, such as C/C++, FORTRAN, Java, COM, and Microsoft Excel

The MATLAB development environment allows you to develop algorithms, analyze data, display data files and manage projects in interactive mode (see Figure 1-1).

Figure 1-1.

Developing Algorithms and Applications

MATLAB provides a high-level programming language and development tools which enable you to quickly develop and analyze algorithms and applications. The MATLAB language includes vector and matrix operations that are fundamental to solving scientific and engineering problems. This streamlines both development and execution. With the MATLAB language, it is possible to program and develop algorithms faster than with traditional languages because it is no longer necessary to perform low level administrative tasks, such as declaring variables, specifying data types and allocating memory. In many cases, MATLAB eliminates the need for ‘for’ loops. As a result, a line of MATLAB code usually replaces several lines of C or C++ code. At the same time, MATLAB offers all the features of traditional programming languages, including arithmetic operators, control flow, data structures, data types, object-oriented programming (OOP) and debugging. Figure 1-2 shows a communication modulation algorithm that generates 1024 random bits, performs the modulation, adds complex Gaussian noise and graphically represents the result, all in just nine lines of MATLAB code.

  • MATLAB Profiler - records the time taken to execute each line of code
  • Directory Reports - scans all files in a directory and creates reports about the efficiency of the code, differences between files, dependencies of files and code coverage

You can also use the interactive tool GUIDE ( Graphical User Interface Development Environment ) to design and edit user interfaces. This tool allows you to include pick lists, drop-down menus, push buttons, radio buttons and sliders, as well as MATLAB diagrams and ActiveX controls. You can also create graphical user interfaces by means of programming using MATLAB functions. Figure 1-4 shows a completed wavelet analysis tool (below) which has been created using the user interface GUIDE (above).

Figure 1-3.

Data Access and Analysis

MATLAB supports the entire process of data analysis, from the acquisition of data from external devices and databases, pre-processing, visualization and numerical analysis, up to the production of results in presentation quality. MATLAB provides interactive tools and command line operations for data analysis, which include: sections of data, scaling and averaging, interpolation, thresholding and smoothing, correlation, Fourier analysis and filtering, searching for one-dimensional peaks and zeros, basic statistics and curve fitting, matrix analysis, etc. The diagram in Figure 1-5 shows a curve that has been fitted to atmospheric pressure differences averaged between Easter Island and Darwin in Australia.

Figure 1-4.

  • Histograms
  • Polygons and surfaces
  • Dispersion bubble diagrams
  • Animations

Figure 1-6 shows linear plots of the results of several emission tests of a motor, with a curve fitted to the data.

Figure 1-6.

MATLAB also provides functions for displaying two-dimensional arrays, three-dimensional scalar data and three-dimensional vector data. It is possible to use these functions to visualize and understand large amounts of complex multi-dimensional data. It is also possible to define the characteristics of the diagrams, such as the orientation of the camera, perspective, lighting, light source and transparency. Three-dimensional diagramming features include:

  • Surface, contour and mesh plots
  • Space curves
  • Cone, phase, flow and isosurface diagrams

Figure 1-7 shows a three-dimensional diagram of an isosurface that reveals the geodesic structure of a fullerene carbon-60 molecule.

Figure 1-7.

MATLAB includes interactive tools for graphic editing and design. From a MATLAB diagram, you can perform any of the following tasks:

  • Drag and drop new sets of data into the figure
  • Change the properties of any object in the figure
  • Change the zoom, rotation, view (i.e. panoramic), camera angle and lighting
  • Add data labels and annotations
  • Draw shapes
  • Generate an M-file for reuse with different data

Figure 1-8 shows a collection of graphics which have been created interactively by dragging data sets onto the diagram window, making new subdiagrams, changing properties such as colors and fonts, and adding annotations.

Publication of Results and Distribution of Applications

In addition, MATLAB contains a number of functions which allow you to document and share your work. You can integrate your MATLAB code with other languages and applications, and distribute your algorithms and MATLAB applications as autonomous programs or software modules. MATLAB allows you to export the results in the form of a diagram or as a complete report. You can export diagrams to all popular graphics formats and then import them into other packages such as Microsoft Word or Microsoft PowerPoint. Using the MATLAB Editor, you can automatically publish your MATLAB code in HTML format, Word, LaTeX, etc. For example, Figure 1-9 shows an M-file (left) published in HTML (right) using the MATLAB Editor. The results, which are sent to the Command Window or to diagrams, are captured and included in the document and the comments become titles and text in HTML.

Figure 1-9.

It is possible to create more complex reports, such as mock executions and various parameter tests, using MATLAB Report Generator (available separately). MATLAB provides functions enabling you to integrate your MATLAB applications with C and C++ code, FORTRAN code, COM objects, and Java code. You can call DLLs and Java classes and ActiveX controls. Using the MATLAB engine library, you can also call MATLAB from C, C++, or FORTRAN code. You can create algorithms in MATLAB and distribute them to other users of MATLAB. Using the MATLAB Compiler (available separately), algorithms can be distributed, either as standalone applications or as software modules included in a project, to users who do not have MATLAB. Additional products are able to turn algorithms into a software module that can be called from COM or Microsoft Excel.

The MATLAB working environment

Figure 1-10 shows the primary workspace of the MATLAB environment. This is the screen in which you enter your MATLAB programs.

Menu Command window^ Help^ Working folder^ Workspace

Start button Window size Commands Command history

Menu

Figure 1-10.

The following table summarizes the components of the MATLAB environment.

Tool Description

Command History This allows you to see the commands entered during the session in the Command Window, as well as copy them and run them (lower right part of Figure 1-11)

Command Window This is where you enter MATLAB commands (central part of Figure 1-11)

Workspace This allows you to view the contents of the workspace (variables, etc.) (upper right part of Figure 1-11)

Help This offers help and demos on MATLAB

Start button This enables you to run tools and provides access to MATLAB documentation (Figure 1-12)

MATLAB commands are written in the Command Window to the right of the user input prompt “ » ” and the response to the command will appear in the lines immediately below. After exiting from the response, the user input prompt will re-display, allowing you to input more entries (Figure 1-13).

Figure 1-13.

When an input is given to MATLAB in the Command Window and the result is not assigned to a variable, the response returned will begin with the expression “ ans= ”, as shown near the top of Figure 1-13. If the results are assigned to a variable, we can then use that variable as an argument for subsequent input. This is the case for the variable v in Figure 1-13, which is subsequently used as the input for an exponential. To run a MATLAB command, simply type the command and press Enter. If at the end of the input we put a semicolon, the program runs the calculation and keeps it in memory ( Workspace ), but does not display the result on the screen (see the first entry in Figure 1-13). The input prompt “ » ” appears to indicate that you can enter a new command. Like the C programming language, MATLAB is case sensitive; for example, Sin( x ) is not the same as sin( x ). The names of all built-in functions begin with a lowercase character. There should be no spaces in the names of commands, variables or functions. In other cases, spaces are ignored, and they can be used to make the input more readable. Multiple entries can be entered in the same command line by separating them with commas, pressing Enter at the end of the last entry (see Figure 1-14). If you use a semicolon at the end of one of the entries in the line, its corresponding output will not be displayed.

Descriptive comments can be entered in a command input line by starting them with the “%” symbol. When you run the input, MATLAB ignores the comment and processes the rest of the code (see Figure 1-15).

Figure 1-14.

Figure 1-15.

To simplify the process of entering script to be evaluated by the MATLAB interpreter (via the Command Window prompt), you can use the arrow keys. For example, if you press the up arrow key once, you will recover the last entry you submitted. If you press the up key twice, you will recover the penultimate entry you submitted, and so on. If you type a sequence of characters in the input area and then press the up arrow key, you will recover the last entry you submitted that begins with the specified string. Commands entered during a MATLAB session are temporarily stored in the buffer ( Workspace ) until you end the session, at which time they can be permanently stored in a file or are permanently lost.

Figure 1-17.

You can ask for help about a specific command command (Figure 1-18) or on any topic topic (Figure 1-19) by using the command help command or help topic.

Figure 1-18.

Figure 1-19.

The command lookfor string allows you to find all those MATLAB functions or commands that refer to or contain the string string. This command is very useful when there is no direct support for the specified string, or to view the help for all commands related to the given string. For example, if we want to find help for all commands that contain the sequence inv , we can use the command lookfor inv (Figure 1-20).

Figure 1-20.