MATLAB® for Electrical and Computer Engineering Students and Professionals: With Simulink®
This book combines the teaching of the MATLAB® programming language with the presentation and development of carefully selected electrical and computer engineering (ECE) fundamentals. This is what distinguishes it from other books concerned with MATLAB®: it is directed specifically to ECE concerns. Students will see, quite explicitly, how and why MATLAB® is well suited to solve practical ECE problems. This book is intended primarily for the freshman or sophomore ECE major who has no programming experience, no background in EE or CE, and is required to learn MATLAB® programming. It can be used for a course about MATLAB® or an introduction to electrical and computer engineering, where learning MATLAB® programming is strongly emphasized. A first course in calculus, usually taken concurrently, is essential. The book will also serve EE or CE professionals who need to learn MATLAB® and who prefer learning via examples directly relevant to their work. The distinguishing feature of this MATLAB® book is that about 15 per cent develops ECE fundamentals gradually, from very basic principles. Because these fundamentals are interwoven throughout, MATLAB® can be applied to solve relevant, practical problems. The plentiful, indepth example problems to which MATLAB® is applied were carefully chosen so that results obtained with MATLAB® also provide insights about the fundamentals.
Other keywords: electrical and computer engineering fundamentals; Matlab programming skills; electrical engineering students; computer engineering students; ECE fundamentals
 Book DOI: 10.1049/SBPC501E
 Chapter DOI: 10.1049/SBPC501E
 ISBN: 9781613531884
 eISBN: 9781613532072
 Page count: 660
 Format: PDF

Front Matter
 + Show details  Hide details

p.
(1)

1 MATLAB® Environment
 + Show details  Hide details

p.
1
–32
(32)
In this chapter we explored the MATLAB environment. There is much more to find out. We found it easy to launch MATLAB, get to the default desktop, and navigate in the default MATLAB desktop. After you have completed this chapter, you will know how to start MATLAB and bring the MATLAB desktop to its default state, navigate through some of the windows in the MATLAB system, use MATLAB in its immediate mode of computing for some of your work and use the extensive MATLAB help facility.

2 Programs and Functions
 + Show details  Hide details

p.
33
–73
(41)
In this chapter you learned how to create programs and functions from MATLAB scripts. There are several different kinds of functions, and we saw how to take advantage of their different properties. Now that you know how to create programs and functions, you will want to learn more about MATLAB programming to solve challenging and practical problems. Probably, the hardest parts about solving a problem are (1) understanding the problem and (2) developing a method of solution. Then come: (3) developing an algorithm to implement the method of solution and (4) modularizing the algorithm to develop an efficient program with supportive functions. These steps may or may not lead to correct solutions. This will require checking and properly interpreting program output. After you have completed this chapter, you will know how to create a program, create and use functions, use MATLAB in its program mode of operation and create your own toolbox of function mfiles that you can add to the MATLAB search path.

3 Matrices, Vectors, and Scalars
 + Show details  Hide details

p.
75
–147
(73)
One of the most important distinguishing features of MATLAB^{®} is how easy it is to work with the matrix data type. We start this chapter with the definition of a matrix. Then, much of the mechanics of working with matrices in MATLAB will be presented. Given these fundamentals, matrix algebra will be applied to several applications, including circuit analysis. After you have completed this chapter, you will know about the origin of the concept of a matrix, the fundamentals of matrix algebra, how MATLAB is particularly well suited for matrix algebra, about many builtin MATLAB functions to find properties of a matrix, how to use MATLAB for resistive circuit analysis and how to solve systems of linear and nonlinear algebraic equations.

4 Program Flow Control
 + Show details  Hide details

p.
149
–199
(51)
A method to solve a problem may include alternative steps. Which next step to take may depend on results from previous steps. A script that implements a solution method must be able to follow alternative steps based on answers to questions like: Is a variable value different from an allowed set of values? Is the result of a calculation zero? Do two variables have the same value? Which of many variables has a particular value? and other questions. The answers to these kinds of questions can influence what to do next in a script. After you have completed this chapter, you will know how to test conditions and execute alternative script segments, repeatedly execute a script segment until a condition occurs and execute one of many script segments depending on input data or intermediate results.

5 Binary Data
 + Show details  Hide details

p.
201
–242
(42)
The logical data type was introduced in Chapter 4 for decision making in program flow control. In this chapter, the fundamentals of Boolean algebra, which work with logical variables, were presented. It was shown that a Boolean function corresponding to a truth table can be written by inspection of the table. MATLAB was used to evaluate Boolean functions. Boolean algebra was applied to design a logic circuit for binary addition, and with MATLAB the logic circuit was simulated.

6 Complex Numbers
 + Show details  Hide details

p.
243
–290
(48)
The complex number is a very useful and important concept in many fields of science and engineering and especially in almost all areas of electrical engineering. An important distinguishing feature of MATLAB® is its ability to work with the complex data type. After you have completed this chapter, you will know about the origin of complex numbers, fundamental properties of complex numbers, how MATLAB is particularly well suited for complex number computations, how complex numbers are used for signal representation and about the role that complex numbers play in circuit analysis.

7 Character Data
 + Show details  Hide details

p.
291
–315
(25)
While computing does include the processing of numerical data, more generally, computing is concerned with collecting, processing, and presentation of information. In a digital computer system, information is coded in binary format. The binary codes represent not only numerical and logical data, but also character data, which can have many kinds of meaning. For example, in a program file, all variable names and their values, key and reserved words, operations, data, and more are character strings. In this chapter you will learn how to create character strings, manipulate character strings, search character strings, create and work with structure arrays and create and work with cell arrays.

8 Input/Output
 + Show details  Hide details

p.
317
–345
(29)
To make a program interactive, it must be possible for the program to receive from the program user input data or information about where data can be found. And, the program must be able to output data and information in a form that is useful to the program user and possibly to another program. Graphical output will be discussed in Chapter 9. In this chapter, you will learn how to input data and information about where data can be found, input information to guide program execution, output structured and formatted data and information and provide data and information to another program.

9 Graphics
 + Show details  Hide details

p.
347
–412
(66)
An outstanding feature of MATLAB® is its facility for visualizing data. The builtin function plot has already been used many times. It automatically scales the axes and locates grid lines, which make it convenient to use the plot function. Labels for the axes and a plot title can be added easily. The functions bar and stem to obtain bar charts and stem plots were also easy to use. The plots obtained with these and other twodimensional (2D) plotting functions can be edited extensively to create custom figures. Also, MATLAB has a variety of 3D plotting functions. In this chapter, you will learn how to use additional 2D plotting functions, place multiple plots within a figure, display the frequency response of an analog filter, use 3D plotting functions, do translation and rotation of objects in 3D space, create animations and customize graphics.

10 Debugging
 + Show details  Hide details

p.
413
–434
(22)
In this chapter, you will learn how to use MATLAB facilities that can make the process of eliminating bugs more efficient, which is called debugging, including: detection and correction of syntax errors, use of builtin functions to locate and report errors and suggest improvements, interruption of program execution to trace runtime and algorithm errors.

11 Symbolic Math
 + Show details  Hide details

p.
435
–475
(41)
The Symbolic Math Toolbox contains a wide variety of functions that can be applied to problems where we would like to retain parameter symbols to better see their effect in problem solutions. This is especially useful to see how a design procedure can be formulated. Now that you have completed this chapter, you should know how to symbolically declare the class of a scalar or matrix object, create expressions, work with rational arithmetic, use many of the special symbolic functions, for example, simplify, limit, subs, and many more, do variable precision arithmetic, solve systems of algebraic equations, do DC and AC circuit analysis, differentiate, plot a function, integrate, find the Fourier series coefficients of a periodic signal, and know how to work with the unit step and impulse functions. In the next chapter, we will apply some of the material from this and previous chapters to more advanced problem areas, including continuous and discrete time signal analysis and continuous and discrete time system analysis.

12 Signals and Systems
 + Show details  Hide details

p.
477
–574
(98)
In the previous chapters, many builtin functions were introduced that are concerned with fundamental mathematics used to solve practical problems. MATLAB® also includes many more builtin functions that are concerned with solving higher level mathematical problems that occur in a variety of fields of science and engineering. Some of these functions and the mathematical background to understand the meaning of results returned by these functions are presented in this chapter. In this chapter, you will learn how to use MATLAB to: do spectral analysis of stationary and nonstationary signals, find the transient and steadystate response of linear and time invariant continuous and discrete time systems, obtain a state variable description of a system, apply ordinary differential equation solvers, find the frequency response of linear and time invariant systems and operate discrete time systems.

13 Introduction to Simulink®
 + Show details  Hide details

p.
575
–609
(35)
Simulink® is a facility for modeling and analyzing dynamic systems. With its graphical user interface (GUI), you can build a block diagram model of a dynamic system and then run the model. Simulink includes many libraries of ready to use blocks that represent both linear and nonlinear continuous and discrete time operations. There are libraries of blocks for synthesizing signals and for observing signals. You can also design your own blocks. A Simulink simulation can access MATLAB data files and functions, and output results to MATLAB for further analysis and visualization. While a simulation executes, you can view any part of model behavior as it changes with time. In this chapter, you will learn how to build a model of a dynamic system using Simulink blocks, design a block, simulate a system and observe its behavior and use MATLAB functions in a Simulink simulation.

Suggestions for Reporting Solutions to End of Chapter Problems
 + Show details  Hide details

p.
611
–612
(2)

Table of ASCII Codes
 + Show details  Hide details

p.
613
–616
(4)

Answers to Selected Problems
 + Show details  Hide details

p.
617
–623
(7)

Back Matter
 + Show details  Hide details

p.
(1)
Supplementary material

Instructor Resources for "MATLAB® for Electrical and Computer Engineering Students and Professionals: With Simulink®"

An Instructor Pack is available for instructors who have adopted the book for a course. To request an Instructor Pack, please email [email protected], including details of your institution and the course you are teaching.
