{"product_id":"learning-to-program-with-matlab-building-gui-tools-paperback-softback-9781119900474","title":"Learning to Program with MATLAB; Building GUI Tools (Paperback \/ softback) 9781119900474","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003eLearning to Program with MATLAB\u003c\/font\u003e\u003cbr\u003e\r\n\u003cfont size=\"5\"\u003eBuilding GUI Tools\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\u003cp\u003e\u003cfont size=\"4\"\u003eCraig S. Lent (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9781119900474, Wiley\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003ePaperback \/ softback, published 15 September 2022\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e288 pages\u003cbr\u003e25.2 x 17.5 x 1 cm, 0.59 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003e\u003cb\u003eLearning to Program with MATLAB\u003c\/b\u003e \u003cp\u003e\u003cb\u003eIntroductory text integrating science, mathematics, and engineering to give a basic understanding of the fundamentals of computer programming with MATLAB\u003c\/b\u003e \u003c\/p\u003e\n\u003cp\u003e\u003ci\u003eLearning to Program with MATLAB: Building GUI Tools, Second Edition\u003c\/i\u003e serves as a compact introduction to computer programming using the MATLAB language, covering elements of both program and graphical user interface (GUI) design to enable readers to create computer programs just like the ones they are accustomed to interacting with. Rather than being encyclopedic in scope, the goal of the text is to describe what users will find most useful and point to other features. Descriptions and examples of some of the most useful functions are included throughout, particularly with regards to engineering and science applications. The work also includes updated videos and problem solutions on an instructor companion website. \u003c\/p\u003e\n\u003cp\u003eThe first edition of \u003ci\u003eLearning to Program with MATLAB\u003c\/i\u003e employed the MATLAB graphical user interface design environment (GUIDE) to develop the GUI tools. The second edition is based on the new and improved App Designer program, which has supplanted GUIDE. This edition includes: \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eCore concepts of computer programming using MATLAB, such as arrays, loops, functions, and basic data structures\u003c\/li\u003e \u003cli\u003eHow to write your own MATLAB functions, covering topics such as local workspaces, multiple outputs, function files, and other functional forms\u003c\/li\u003e \u003cli\u003eThe new string class and table class, some new features of function arguments, and re-written sections for building GUI tools with App Designer\u003c\/li\u003e \u003cli\u003eSyntax for graphics and App Designer features, plus examples demonstrating the new way to handle string information\u003c\/li\u003e\n\u003c\/ul\u003e \u003cp\u003eStarting with the basics and building up to an emphasis on GUI tools, \u003ci\u003eLearning to Program with MATLAB\u003c\/i\u003e is a comprehensive introduction to programming in a robust and multipurpose language, making it an ideal classroom resource for both students and instructors in related programs of study.\u003c\/p\u003e\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e\u003cp\u003ePreface to the Second Edition xiii\u003c\/p\u003e \u003cp\u003eAbout the Companion Website xvii\u003c\/p\u003e \u003cp\u003eI MATLAB Programming 1\u003c\/p\u003e \u003cp\u003e\u003cb\u003e1 Getting Started 3\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1.1 Running the MATLAB IDE 3\u003c\/p\u003e \u003cp\u003eManipulating windows 5\u003c\/p\u003e \u003cp\u003e1.2 MATLAB variables 5\u003c\/p\u003e \u003cp\u003eVariable assignment statements 6\u003c\/p\u003e \u003cp\u003eVariable names 7\u003c\/p\u003e \u003cp\u003eVariable workspace 8\u003c\/p\u003e \u003cp\u003e1.3 Numbers and functions 8\u003c\/p\u003e \u003cp\u003e1.4 Documentation 9\u003c\/p\u003e \u003cp\u003e1.5 Writing simple MATLAB scripts 10\u003c\/p\u003e \u003cp\u003eBlock structure 11\u003c\/p\u003e \u003cp\u003eAppropriate variable names 11\u003c\/p\u003e \u003cp\u003eUseful comments 11\u003c\/p\u003e \u003cp\u003eUnits 11\u003c\/p\u003e \u003cp\u003eFormatting for clarity 12\u003c\/p\u003e \u003cp\u003eBasic display command 12\u003c\/p\u003e \u003cp\u003e1.6 A few words about errors and debugging 12\u003c\/p\u003e \u003cp\u003eError messages are your friends 13\u003c\/p\u003e \u003cp\u003eSketch a plan on paper first 13\u003c\/p\u003e \u003cp\u003eStart small and add slowly 13\u003c\/p\u003e \u003cp\u003e1.7 Using the debugger 13\u003c\/p\u003e \u003cp\u003eLooking ahead 14\u003c\/p\u003e \u003cp\u003eProgramming Problems 14\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2 Vectors and Strings 19\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e2.1 Vector basics 20\u003c\/p\u003e \u003cp\u003e2.2 Operations on vectors 21\u003c\/p\u003e \u003cp\u003eMultiplication by a scalar 21\u003c\/p\u003e \u003cp\u003eAddition with a scalar 21\u003c\/p\u003e \u003cp\u003eElement-by-element operation with two vectors 21\u003c\/p\u003e \u003cp\u003eFunctions of vectors 22\u003c\/p\u003e \u003cp\u003eLength of vectors 22\u003c\/p\u003e \u003cp\u003eSubarrays 23\u003c\/p\u003e \u003cp\u003eConcatenating vectors 23\u003c\/p\u003e \u003cp\u003e2.3 Special vector functions 23\u003c\/p\u003e \u003cp\u003eStatistical Functions 24\u003c\/p\u003e \u003cp\u003e2.4 Using rand and randi 25\u003c\/p\u003e \u003cp\u003e2.5 String basics 25\u003c\/p\u003e \u003cp\u003e2.6 String operations 27\u003c\/p\u003e \u003cp\u003e2.7 Character vectors 29\u003c\/p\u003e \u003cp\u003e2.8 Getting information from the user 30\u003c\/p\u003e \u003cp\u003eLooking ahead 31\u003c\/p\u003e \u003cp\u003eProgramming Problems 31\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3 Plotting 35\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e3.1 The plot command 35\u003c\/p\u003e \u003cp\u003eAxis scaling 38\u003c\/p\u003e \u003cp\u003ePlot labeling 39\u003c\/p\u003e \u003cp\u003e3.2 Tabulating and plotting a simple function 39\u003c\/p\u003e \u003cp\u003e3.3 Bar graphs and histograms 43\u003c\/p\u003e \u003cp\u003eHistograms 45\u003c\/p\u003e \u003cp\u003e3.4 Drawing several plots on one graph 45\u003c\/p\u003e \u003cp\u003eMultiple plots with a single plot command 46\u003c\/p\u003e \u003cp\u003eCombining multiple plots with a hold command 48\u003c\/p\u003e \u003cp\u003eThickening plotted curves 49\u003c\/p\u003e \u003cp\u003e3.5 Adding lines and text 50\u003c\/p\u003e \u003cp\u003e3.6 Changing object properties 52\u003c\/p\u003e \u003cp\u003eLooking ahead 54\u003c\/p\u003e \u003cp\u003eProgramming Problems 55\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4 Matrices 57\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e4.1 Entering and manipulating matrices 57\u003c\/p\u003e \u003cp\u003eSize of a matrix 59\u003c\/p\u003e \u003cp\u003eMatrix transpose 60\u003c\/p\u003e \u003cp\u003e4.2 Operations on matrices 60\u003c\/p\u003e \u003cp\u003eArithmetic operations with a scalar 60\u003c\/p\u003e \u003cp\u003eAddition and subtraction of two matrices of the same size 61\u003c\/p\u003e \u003cp\u003eFunctions of matrices 61\u003c\/p\u003e \u003cp\u003eMatrix multiplication 62\u003c\/p\u003e \u003cp\u003eThe identity matrix 62\u003c\/p\u003e \u003cp\u003eThe inverse of a matrix 63\u003c\/p\u003e \u003cp\u003eThe determinant of a matrix 64\u003c\/p\u003e \u003cp\u003eMatrix–vector multiplication 64\u003c\/p\u003e \u003cp\u003e4.3 Solving linear systems: the backslash operator 65\u003c\/p\u003e \u003cp\u003eExtended example: solving circuit problems 65\u003c\/p\u003e \u003cp\u003eWire segments 66\u003c\/p\u003e \u003cp\u003eWire junctions 66\u003c\/p\u003e \u003cp\u003eVoltage sources 66\u003c\/p\u003e \u003cp\u003eResistors 67\u003c\/p\u003e \u003cp\u003eGround 67\u003c\/p\u003e \u003cp\u003e4.4 Special matrix functions 71\u003c\/p\u003e \u003cp\u003eLooking ahead 72\u003c\/p\u003e \u003cp\u003eProgramming Problems 72\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5 Control Flow Commands 75\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e5.1 Conditional execution: the if statement 75\u003c\/p\u003e \u003cp\u003e5.2 Logical expressions 79\u003c\/p\u003e \u003cp\u003e5.3 Logical variables 80\u003c\/p\u003e \u003cp\u003e5.4 for loops 81\u003c\/p\u003e \u003cp\u003eGood programming practice 84\u003c\/p\u003e \u003cp\u003e5.5 while loops 84\u003c\/p\u003e \u003cp\u003e5.6 Other control flow commands 86\u003c\/p\u003e \u003cp\u003eSwitch-case statement 86\u003c\/p\u003e \u003cp\u003eBreak statement 86\u003c\/p\u003e \u003cp\u003eProgramming Problems 87\u003c\/p\u003e \u003cp\u003e\u003cb\u003e6 Animation 93\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e6.1 Basic animation 94\u003c\/p\u003e \u003cp\u003e6.2 Animating function plots 98\u003c\/p\u003e \u003cp\u003e6.3 Kinematics of motion 101\u003c\/p\u003e \u003cp\u003eOne-dimensional motion: constant speed 101\u003c\/p\u003e \u003cp\u003eMotion with constant acceleration 104\u003c\/p\u003e \u003cp\u003eTime-marching dynamics: nonconstant force 106\u003c\/p\u003e \u003cp\u003e6.4 Looking ahead 108\u003c\/p\u003e \u003cp\u003eProgramming Problems 108\u003c\/p\u003e \u003cp\u003e\u003cb\u003e7 Writing Your Own MATLAB Functions 114\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e7.1 MATLAB function files 115\u003c\/p\u003e \u003cp\u003eDeclaring MATLAB functions 115\u003c\/p\u003e \u003cp\u003e7.2 Function inputs and outputs 116\u003c\/p\u003e \u003cp\u003e7.3 Local workspaces 117\u003c\/p\u003e \u003cp\u003e7.4 Multiple outputs 117\u003c\/p\u003e \u003cp\u003e7.5 Function files 117\u003c\/p\u003e \u003cp\u003e7.6 Other functional forms 118\u003c\/p\u003e \u003cp\u003eSubfunctions 118\u003c\/p\u003e \u003cp\u003eNested functions 122\u003c\/p\u003e \u003cp\u003eAnonymous functions 122\u003c\/p\u003e \u003cp\u003e7.7 Optional arguments for functions 123\u003c\/p\u003e \u003cp\u003e7.8 Looking forward 124\u003c\/p\u003e \u003cp\u003eProgramming Problems 125\u003c\/p\u003e \u003cp\u003e\u003cb\u003e8 More MATLAB Data Classes and Structures 132\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e8.1 Cell arrays 132\u003c\/p\u003e \u003cp\u003e8.2 Structures 133\u003c\/p\u003e \u003cp\u003e8.3 Complex numbers 134\u003c\/p\u003e \u003cp\u003e8.4 Function handles 135\u003c\/p\u003e \u003cp\u003e8.5 Tables 135\u003c\/p\u003e \u003cp\u003e8.6 Other data classes and data structures 136\u003c\/p\u003e \u003cp\u003eProgramming Problems 137\u003c\/p\u003e \u003cp\u003eII Building Gui Tools 139\u003c\/p\u003e \u003cp\u003e\u003cb\u003e9 Building GUI Tools with App Designer 141\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e9.1 The App Designer interface 142\u003c\/p\u003e \u003cp\u003e9.2 Getting started: HelloTool 144\u003c\/p\u003e \u003cp\u003e9.3 Components communicating: SliderTool 148\u003c\/p\u003e \u003cp\u003e9.4 Transforming a MATLAB program into a GUI tool: DampedEfieldTool 150\u003c\/p\u003e \u003cp\u003eStep0: Write and debug the program 151\u003c\/p\u003e \u003cp\u003eStep1: Plan the GUI 152\u003c\/p\u003e \u003cp\u003eStep 2: Create the GUI in App Designer 153\u003c\/p\u003e \u003cp\u003eStep 3: Connect program inputs and outputs to the GUI components 155\u003c\/p\u003e \u003cp\u003eStep 4: Add callbacks to invoke the primary model function 157\u003c\/p\u003e \u003cp\u003e9.5 Test and improve 157\u003c\/p\u003e \u003cp\u003eMany ways to do things 159\u003c\/p\u003e \u003cp\u003eKey points from this chapter 159\u003c\/p\u003e \u003cp\u003eProgramming Problems 160\u003c\/p\u003e \u003cp\u003e\u003cb\u003e10 More GUI Techniques 168\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e10.1 Sharing data between callbacks 169\u003c\/p\u003e \u003cp\u003e10.2 More GUI components 170\u003c\/p\u003e \u003cp\u003eText and Numeric Edit Fields 170\u003c\/p\u003e \u003cp\u003eDrop Down 171\u003c\/p\u003e \u003cp\u003eCheck Box 171\u003c\/p\u003e \u003cp\u003eLabel 172\u003c\/p\u003e \u003cp\u003eList Box 172\u003c\/p\u003e \u003cp\u003eRadio Button Group 173\u003c\/p\u003e \u003cp\u003eImage 173\u003c\/p\u003e \u003cp\u003eCommunicating user choices 173\u003c\/p\u003e \u003cp\u003eTab Group 174\u003c\/p\u003e \u003cp\u003eMenu bar 174\u003c\/p\u003e \u003cp\u003eToolbar 176\u003c\/p\u003e \u003cp\u003eText Area 176\u003c\/p\u003e \u003cp\u003eThe uses of invisibility 176\u003c\/p\u003e \u003cp\u003e10.3 Popups 176\u003c\/p\u003e \u003cp\u003eProgress dialogue 176\u003c\/p\u003e \u003cp\u003eWait bar 178\u003c\/p\u003e \u003cp\u003eInput dialogue 178\u003c\/p\u003e \u003cp\u003eConfirm dialogue 179\u003c\/p\u003e \u003cp\u003e10.4 Responding to keyboard input 181\u003c\/p\u003e \u003cp\u003e10.5 Mouse events and object dragging 181\u003c\/p\u003e \u003cp\u003eIII Advanced Topics 187\u003c\/p\u003e \u003cp\u003e\u003cb\u003e11 More Graphics 189\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e11.1 Logarithmic plots 189\u003c\/p\u003e \u003cp\u003e11.2 Plotting functions on two axes 192\u003c\/p\u003e \u003cp\u003e11.3 Plotting surfaces 194\u003c\/p\u003e \u003cp\u003e11.4 Plotting vector fields 199\u003c\/p\u003e \u003cp\u003e11.5 Working with images 200\u003c\/p\u003e \u003cp\u003eImporting and manipulating bit-mapped images 200\u003c\/p\u003e \u003cp\u003ePlacing images on surface objects 207\u003c\/p\u003e \u003cp\u003e11.6 Rotating composite objects in three dimensions 209\u003c\/p\u003e \u003cp\u003e\u003cb\u003e12 More Mathematics 213\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e12.1 Derivatives 214\u003c\/p\u003e \u003cp\u003eDerivatives of mathematical functions expressed as MATLAB functions 214\u003c\/p\u003e \u003cp\u003eDerivatives of tabulated functions 215\u003c\/p\u003e \u003cp\u003e12.2 Integration 218\u003c\/p\u003e \u003cp\u003eIntegrating tabulated functions 218\u003c\/p\u003e \u003cp\u003eIntegrating mathematical functions expressed as MATLAB functions 221\u003c\/p\u003e \u003cp\u003e12.3 Zeros of a function of one variable 225\u003c\/p\u003e \u003cp\u003e12.4 Function minimization 227\u003c\/p\u003e \u003cp\u003eFinding a minimum of a function of one variable 227\u003c\/p\u003e \u003cp\u003eMultidimensional minimization 229\u003c\/p\u003e \u003cp\u003eFitting to an arbitrary function by multidimensional minimization 229\u003c\/p\u003e \u003cp\u003eSolving simultaneous nonlinear equations by multidimensional minimization 233\u003c\/p\u003e \u003cp\u003e12.5 Solving ordinary differential equations 235\u003c\/p\u003e \u003cp\u003ePlotting a slope field 238\u003c\/p\u003e \u003cp\u003e12.6 Eigenvalues and eigenvectors 239\u003c\/p\u003e \u003cp\u003e\u003cb\u003e13 Reading and Writing Files 242\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e13.1 Saving and loading data in .mat files 242\u003c\/p\u003e \u003cp\u003e13.2 Reading and writing spreadsheet files 244\u003c\/p\u003e \u003cp\u003e13.3 Writing text files 245\u003c\/p\u003e \u003cp\u003eThe write matrix command 245\u003c\/p\u003e \u003cp\u003eWriting formatted text files 246\u003c\/p\u003e \u003cp\u003eFormatting a string using sprintf 249\u003c\/p\u003e \u003cp\u003e13.4 Reading data from a text file 249\u003c\/p\u003e \u003cp\u003eReading into a cell array 250\u003c\/p\u003e \u003cp\u003eReading complicated text data files 250\u003c\/p\u003e \u003cp\u003e13.5 A GUI interface to filenames using uiputfile and uigetfile 252\u003c\/p\u003e \u003cp\u003eAppendix Using latex Commands 255\u003c\/p\u003e \u003cp\u003eIndex 261\u003c\/p\u003e\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Electronics \u0026amp; communications engineering [\u003ca title=\"See our other books on Electronics \u0026amp; communications engineering\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Electronics%20\u0026amp;%20communications%20engineering%20%5BTJ%5D%22\"\u003eTJ\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"Wiley","offers":[{"title":"Brand New","offer_id":52173730513176,"sku":"9781119900474","price":61.77,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/files\/9781119900474.jpg?v=1781168883","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/learning-to-program-with-matlab-building-gui-tools-paperback-softback-9781119900474","provider":"Freshly Printed Books","version":"1.0","type":"link"}