A MATLAB® Primer for Technical Programming for Materials Science and Engineering
5/5
()
About this ebook
A MATLAB® Primer for Technical Programming for Materials Science and Engineering draws on examples from the field, providing the latest information on this programming tool that is targeted towards materials science. The book enables non-programmers to master MATLAB® in order to solve problems in materials science, assuming only a modest mathematical background. In addition, the book introduces programming and technical concepts in a logical manner to help students use MATLAB® for subsequent projects. This title offers materials scientists who are non-programming specialists with a coherent and focused introduction to MATLAB®.
- Provides the necessary background, alongside examples drawn from the field, to allow materials scientists to effectively master MATLAB®
- Guides the reader through programming and technical concepts in a logical and coherent manner
- Promotes a thorough working familiarity with MATLAB® for materials scientists
- Gives the information needed to write efficient and compact programs to solve problems in materials science, tribology, mechanics of materials and other material-related disciplines
Leonid Burstein
Dr Leonid Burstein is a staff member of Kinneret Academic College (Quality Assurance Department), before that he taught at the Technion -IIT, at ORT Braude College, and at several other academic institution in Western and Lower Galilee, in Israel. His scientific work has been reported in more than 50 publications in leading scientific journals. He is author and contributor of published textbooks, monographs, and an Editorial Board member and reviewer for several international scientific journals.
Related to A MATLAB® Primer for Technical Programming for Materials Science and Engineering
Related ebooks
Introduction to Chemical Engineering Analysis Using Mathematica: for Chemists, Biotechnologists and Materials Scientists Rating: 5 out of 5 stars5/5Interval Finite Element Method with MATLAB Rating: 0 out of 5 stars0 ratingsSharing Data and Models in Software Engineering Rating: 5 out of 5 stars5/5GPU Programming in MATLAB Rating: 1 out of 5 stars1/5Matlab: A Practical Introduction to Programming and Problem Solving Rating: 4 out of 5 stars4/5Elasticity: Theory, Applications, and Numerics Rating: 0 out of 5 stars0 ratingsProcess Integration Rating: 0 out of 5 stars0 ratingsMATLAB® for Photomechanics- A Primer Rating: 0 out of 5 stars0 ratingsAtomic Force Microscopy in Process Engineering: An Introduction to AFM for Improved Processes and Products Rating: 0 out of 5 stars0 ratingsTunable Lasers Handbook Rating: 3 out of 5 stars3/5Rapid BeagleBoard Prototyping with MATLAB and Simulink Rating: 0 out of 5 stars0 ratingsLaser Microfabrication: Thin Film Processes and Lithography Rating: 0 out of 5 stars0 ratingsElements of Statistical Thermodynamics: Second Edition Rating: 0 out of 5 stars0 ratingsMachine Component Analysis with MATLAB Rating: 4 out of 5 stars4/5Handbook of Nanofabrication Rating: 0 out of 5 stars0 ratingsCharacterization of Semiconductor Heterostructures and Nanostructures Rating: 0 out of 5 stars0 ratingsNonlinear Optimization Rating: 5 out of 5 stars5/5Molecular Theory of Capillarity Rating: 5 out of 5 stars5/5Generalized van der Waals Theory of Molecular Fluids in Bulk and at Surfaces Rating: 0 out of 5 stars0 ratingsCompound Semiconductor Device Physics Rating: 0 out of 5 stars0 ratingsThe Boundary Element Method for Engineers and Scientists: Theory and Applications Rating: 0 out of 5 stars0 ratingsNanotechnology: An Introduction Rating: 5 out of 5 stars5/5Mechanics of Particulate Materials Rating: 0 out of 5 stars0 ratingsAtomic, Molecular, and Optical Physics: Charged Particles Rating: 5 out of 5 stars5/5Nanomaterials, Nanotechnologies and Design: An Introduction for Engineers and Architects Rating: 5 out of 5 stars5/5Computational Materials Engineering: Achieving High Accuracy and Efficiency in Metals Processing Simulations Rating: 0 out of 5 stars0 ratingsFabrication and Self-Assembly of Nanobiomaterials: Applications of Nanobiomaterials Rating: 0 out of 5 stars0 ratingsMultiphysics Modelling of Fluid-Particulate Systems Rating: 0 out of 5 stars0 ratingsFundamental Principles of Modern Theoretical Physics: International Series of Monographs in Natural Philosophy Rating: 0 out of 5 stars0 ratings
Materials Science For You
Metalworking: Tools, Materials, and Processes for the Handyman Rating: 5 out of 5 stars5/51,001 Questions & Answers for the CWI Exam: Welding Metallurgy and Visual Inspection Study Guide Rating: 4 out of 5 stars4/5Non-Destructive Evaluation of Corrosion and Corrosion-assisted Cracking Rating: 0 out of 5 stars0 ratingsThe Art of Welding: Featuring Ryan Friedlinghaus of West Coast Customs Rating: 0 out of 5 stars0 ratingsSkilletheads: <b>A Guide to Collecting and Restoring Cast-Iron Cookware</b> Rating: 0 out of 5 stars0 ratingsWelding Metallurgy Rating: 0 out of 5 stars0 ratingsDemystifying Explosives: Concepts in High Energy Materials Rating: 0 out of 5 stars0 ratingsPhysical Metallurgy and Advanced Materials Rating: 5 out of 5 stars5/5Surface Chemistry of Nanobiomaterials: Applications of Nanobiomaterials Rating: 0 out of 5 stars0 ratingsHandbook of Adhesion Rating: 0 out of 5 stars0 ratingsApplied Welding Engineering: Processes, Codes, and Standards Rating: 0 out of 5 stars0 ratingsThe Rare Metals War: the dark side of clean energy and digital technologies Rating: 5 out of 5 stars5/5Polymer Characterization: Laboratory Techniques and Analysis Rating: 0 out of 5 stars0 ratingsChoosing & Using the Right Metal Shop Lathe Rating: 0 out of 5 stars0 ratingsElectric Vehicle Battery Systems Rating: 0 out of 5 stars0 ratingsCivil Engineering Materials: From Theory to Practice Rating: 0 out of 5 stars0 ratingsMad About Metal: More Than 50 Embossed Craft Projects for Your Home Rating: 0 out of 5 stars0 ratingsGeotechnical Problem Solving Rating: 0 out of 5 stars0 ratingsCrack Analysis in Structural Concrete: Theory and Applications Rating: 0 out of 5 stars0 ratingsThe Foseco Foundryman's Handbook: Facts, Figures and Formulae Rating: 3 out of 5 stars3/5Thermoelectric Materials and Devices Rating: 0 out of 5 stars0 ratingsHigh Pressure Pumps Rating: 4 out of 5 stars4/5The Periodic Table of Elements - Alkali Metals, Alkaline Earth Metals and Transition Metals | Children's Chemistry Book Rating: 0 out of 5 stars0 ratingsThe Dynamics of Nazism: Leadership, Ideology, and the Holocaust Rating: 0 out of 5 stars0 ratings
Reviews for A MATLAB® Primer for Technical Programming for Materials Science and Engineering
1 rating0 reviews
Book preview
A MATLAB® Primer for Technical Programming for Materials Science and Engineering - Leonid Burstein
A MATLAB® Primer for Technical Programming in Materials Science and Engineering
First Edition
Leonid Burstein
Table of Contents
Cover image
Title page
Copyright
Dedication
Preface
1: Introduction
Abstract
1.1 Some history
1.2 Purpose and audience of the book
1.3 About the book topics
1.4 The structure of the chapters
1.5 About MATLAB® versions
1.6 Order of presentation
2: Basics of MATLAB®
Abstract
2.1 Launching MATLAB
2.2 Vectors, matrices, and arrays
2.3 Flow control
2.4 Questions and exercises for self-testing
2.5 Answers to selected questions and exercises
3: Graphics and presentations
Abstract
3.1 Two- and three-dimensional plots
3.2 Statistical plots
3.3 Supplementary commands for generating 2D and 3D graphs
3.4 Application examples
3.5 Questions and exercises for self-testing
3.6 Answer to selected questions and exercises
4: Writing programs for technical computing
Abstract
4.1 Scripts and script files
4.2 User-defined functions and function files
4.3 Selected MATLAB® functions and its applications in MSE
4.4 Live Editor
4.5 Application examples
4.6 Questions and exercises for self-testing
4.7 Answers to selected questions and exercises
5: Curve fitting commands and the Basic Fitting tool
Abstract
5.1 Fitting with polynomials and some other functions
5.2 Interactive fitting with the Basic Fitting interface
5.3 Single- and multivariate fitting via optimization
5.4 Application examples
5.5 Questions and exercises for self-testing
5.6 Answers to selected questions and exercises
6: ODE-, PDEPE-solvers, and PDE Modeler tool with applications
Abstract
6.1 Ordinary differential equations and ODE solver
6.2 Solving partial differential equations with PDE solver
6.3 Partial differential equations with the PDE toolbox interface
6.4 Application examples
6.5 Questions and exercises for self-testing
6.6 Answers to selected questions and exercises
Appendix: Characters, operators, and commands for mastering programs
Index
Copyright
Woodhead Publishing is an imprint of Elsevier
The Officers’ Mess Business Centre, Royston Road, Duxford, CB22 4QH, United Kingdom
50 Hampshire Street, 5th Floor, Cambridge, MA 02139, United States
The Boulevard, Langford Lane, Kidlington, OX5 1GB, United Kingdom
© 2020 Elsevier Inc. All rights reserved
No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publisher’s permissions policies and our arrangements with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions.
This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein).
Notices
Knowledge and best practice in this field are constantly changing. As new research and experience broaden our understanding, changes in research methods, professional practices, or medical treatment may become necessary.
Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information, methods, compounds, or experiments described herein. In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility.
To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions, or ideas contained in the material herein.
Library of Congress Cataloging-in-Publication Data
A catalog record for this book is available from the Library of Congress
British Library Cataloguing-in-Publication Data
A catalogue record for this book is available from the British Library
ISBN: 978-0-12-819115-6 (print)
ISBN: 978-0-12-819116-3 (online)
For information on all Woodhead publications visit our website at https://www.elsevier.com/books-and-journals
Publisher: Matthew Deans
Acquisition Editor: Glyn Jones
Editorial Project Manager: Emily Thomson
Production Project Manager: Sojan P. Pazhayattil
Cover Designer: Greg Harris
Typeset by SPi Global, India
Dedication
In memory of my parents—Matvey and Leda
To my wife Inna, and my son Dmitri
Preface
Leonid Burstein, ORT Braude College of Engineering, Software Engineering, Karmiel, Israel
Scientists, engineers, and students in materials science and engineering (MSE) perform extensive technical calculations and apply computers and some special programs for this. MATLAB® is a very popular software used in technical computing because of its efficiency and simplicity. This book presents a primer in technical programming in MATLAB with examples from the field of materials science, and addresses a wide MSE audience—undergraduate and graduate students and practicing engineers. It provides the MATLAB fundamentals with a variety of application examples and problems taken from materials engineering, physics of materials and properties of substances, and material phenomenon simulations that should facilitate learning the software language. I hope that many nonprogrammer students, engineers, and scientists from MSE field will find the software convenient for solving their specific problems.
The book accumulates many years of teaching experience in introductory and advanced courses in the fields of MATLAB, material properties, and tribology that were lectured for students, engineers, and scientists specializing in the area in question.
I thank MathWorks Inc.,a which kindly granted permission to use certain materials. I am also grateful to the Elsevier Inc.b for permission to use the text, tables, figures, and screenshots from my previous book MATLAB in Quality Assurance Sciences
(Amsterdam—Boston—Cambridge—Heidelberg—London—New York—Oxford—Paris—San Diego—San Francisco—Singapore—Sydney—Tokyo, 2015).
I would also like to express appreciation to Stephen Rifkind, ITA Recognized Translator, who edited the book.
I hope the primer will prove useful to students, engineers, and scientists in MSE areas and enable them to work with the available fine software.
Any reports of errata or bugs, as well as comments and suggestions on the book will be gratefully accepted by the author
a The MathWorks, Inc., 3 Apple Hill Drive, Natick, MA 01760-2098, United States. Tel: + 1-508-647-7000; Fax: + 1-508-647-7001. E-mail: info@mathworks.com; Web: www.mathworks.com.
b The book was published by the Woodhead Publishing that is an imprint of Elsevier Inc., 50 Hampshire St., 5th Floor, Cambridge, MA 02139, United States. Tel: + 1-617-661-7057; Fax: + 1-617-661-7061. E-mail: permissions@elsevier.com; Web: https://www.elsevier.com.
1
Introduction
Abstract
This chapter serves as the introduction to a MATLAB® primer oriented for students and specialists of materials science. The history of MATLAB® is briefly summarized together with the advantages of the software. Further, the book's purpose and principal audience of the book are outlined, followed by a brief description of the topics and structure of the book chapters. In addition, the order of studying and teaching the material of the book is discussed.
Keywords
Purposes; Audience; Topics; Book structure; History; Order of presentation
The world is material: all different natural objects, plants, products, machines, and even ourselves, are designed from various materials. Knowledge of the structure of matter as well as the ability to create new and better materials with the desired properties are among the most important goals of sciences and engineering in general and the science of materials in particular. Naturally, in materials sciences and engineering (MSE), as in other technological areas, calculations and computer modeling are widely used. For this purpose, various kinds of software are used. Among them, MATLAB® has become one of the most widespread and popular in programming for various technical applications. However, a student, teacher, or MSE specialist just beginning to use the MATLAB® soon discovers that each of the available MATLAB® books is designed for a wide range of specialists and that there is no textbook specifically aimed for the problems that are encountered in technical programming in the MSE fields. Overall, a large community of technicians needs a concise, comprehensive text that is easy to understand and provides quick access to the necessary tool. The presented edition aims to fill this gap.
1.1 Some history
The theoretical basics of the MATLAB® language were established in the 1970s by the mathematician Cleve Moler and perfected by the specialists that joined him. First, the language was oriented to the adaptation of the mathematical packages of that time, LINPACK and EISPACK. In a short time, MATLAB® was considered by students and engineers an effective and suitable tool not only for mathematical but also for many technical problems. The language was rewritten in C. Commercial MATLAB® versions have appeared since the mid-1980s in the general software market. By incorporating graphics and development of the special engineering-oriented means—toolboxes—MATLAB® acquired its modern outlines. In general, MATLAB® is a unique assembly of implemented modern numerical methods and specialized tools for engineering calculations developed over the past decades. MATLAB® competes with other software and has established its special place as the software for technical computations. Without going into detail, the following factors and their combinations provide advantages to MATLAB®:
•Versatility and the ability to solve both simple and complex problems with its easy-to-use facilities;
•Highest adaptability to different areas of engineering and science as reflected in a significant number of the problem-oriented toolboxes;
•Convenience and a variety of visualization means for general and specific problems, e.g., MSE problems;
•Quick, simple access to well-organized, extensive documentation.
1.2 Purpose and audience of the book
The purpose of this primer is to provide MSE students, academicians, teachers, engineers, and scientists with a guide that will teach them how to create programs suitable for their professional calculations and present the results in descriptive, graphical, and tabular forms. It is assumed that the reader has no programming experience and will be using the software for the first time. In order to make the primary programming steps and use of commands clear to the target audience, they are demonstrated by problems taken from different areas of materials science whenever possible. Among the variety of available software, MATLAB® distinguishes itself as the tool for technical analysis and calculations. It is renewed and refined in parallel with the developments in modern technology. Modern material sciences specialists intensively used computers with some special programs, and therefore need a universal tool for solving specific problems from their area. Thus, the book serves as a guide to MATLAB® with examples from the field of material engineering and is addressed to undergraduate, graduate, and postgraduate students as well as nonprogrammer technicians that want to master the MATLAB® program to solve problems arising in their areas.
Most of the existing books on the various aspects of MATLAB® can be roughly divided into two kinds: (a) MATLAB® programming books and (b) advanced engineering, science, or mathematics books with MATLAB®-introductory section/s. The first category assumes that the reader is already familiar with math methods and concentrates on programming technique. The second category is generally devoted to special subjects on a somewhat advanced level. This book is different in that it assumes the reader possesses a modest mathematical background and introduces the programming or technical concepts together with a traditional approach. MATLAB® is then used as a tool for subsequent computer solutions, applying it to mechanical and material science problems. An additional distinction of the book is its relatively compact size combined with a variety of examples from a broad range of modern and classical mechanics and material sciences, which help solidify the understanding of the presented material.
In accordance with the foregoing, the principal audiences of the book include:
–Students, engineers, managers, and teachers from the academic and scientific communities in the field of materials science;
–Instructors and their students in MSE study program courses where MATLAB® is used as a supplemental but necessary tool;
–Personnel at materials testing laboratories, students, and nonprogrammers using MATLAB®;
–Students and participants in advanced MSE courses, seminars, or workshops where MATLAB® is taught;
–Scientists who seek to solve MSE-scientific problems and search for similar problems solvable with MATLAB®;
–Self-instructing readers as a means of quick mastering of MATLAB® for their needs.
The book will also serve non-MSE specialists as a reference in numerical applications that require a computer tool for modeling and solving actual engineering problems.
1.3 About the book topics
The topics were selected based on more than 20 years of research experience and 15 years of teaching experience in the fields of tribology, materials and substances properties, and MATLAB®. They were presented so that the beginner can progress gradually using only previously acquired material as prerequisites for each new chapter.
The most important, basic MATLAB® features, including the desktop environment, language design, help options, variables, arithmetical and algebraic functions and operations, matrix and array creation and manipulations with their flow chart control, and conditional statements, are introduced in the second chapter. A command of this material enables the reader to write, execute, and display the simple calculations directly in the command window.
The third chapter presents visualization means by examples of various two- and three-dimensional plots representing the actual calculations. Understanding the material of the second and third chapters allows the reader to create rather complex MATLAB® programs for technical calculations and their graphical representation.
The fourth chapter shows how to create programs in the form of scripts or user-defined functions and then save them as an m-file. The chapter includes the Live Editor, live scripts, and function descriptions and demonstrates their use by the MSE-oriented example. In this chapter, the supplementary commands for common numerical calculations, such as finding the solution of the equation, inter- and extrapolation, differentiation and integration, are discussed together with examples from the MSE fields.
The fifth chapter presents more advanced topics, including the fitting experimental, tabular, or theoretical data. Polynomial fitting, fitting by optimization, and the use of the Basic Fitting interface are described with both single and the multivariate fittings presented.
The final sixth chapter is intended for more advanced readers and explains the specialized commands for solving ordinary differential equations (ODEs), spatially one-dimensional partial differential equations (PDEs), and PDE. The modeler interface for two-dimensional PDEs is briefly presented with examples related to diffusion, heat transfer, and wave equations. To understand this chapter, a familiarity with mathematics on a somewhat higher level is assumed.
The appendix presents a summary collection of approximately 200 studied MATLAB® characters, operators, commands, and functions.
The index contains more than 700 alphabetically arranged names, terms, and commands that were implemented throughout the book.
1.4 The structure of the chapters
Each chapter begins with a general introduction, goals, and chapter content. The new material, main command forms, and its application are then presented. The commands are typically explained in one or two simple forms with possible useful extensions given. Each topic is completely presented in one section in order to allow the readers to attain the knowledge in a focused manner. Tables listing the additionally available commands that correspond to the topic, command description, and examples are included in the chapter.
At the end or middle of the chapter, application problems associated with the MSE area are solved with the commands accessible to the reader. The given solutions are the easiest to understand but not necessarily the shortest or original. Readers would find it useful and are encouraged to try their own solutions and compare the results with those in the book.
For better application, the questions and problems for self-testing are given at the end of each chapter; the first ten questions are MATLAB®-oriented, and all other exercises are related to various MSE disciplines. I recommend solving them to attain better understanding of MATLAB®. At the end of each chapter, the answers to some of the exercises are provided.
It should be noted that the numerical values and contexts used in the various problems of the book are not factual reference data and serve for educational purposes only.
1.5 About MATLAB® versions
Annually, two new versions of MATLAB® appear. Although each version is updated and extended, they allow work with previously written commands. Thus, the basic commands described in this book will remain valid in any future versions. The version used in this book is R2018b (9.5.0.944444). It is expected that readers have MATLAB® installed on their computer and will be able to perform all the basic operations presented in the book.
1.6 Order of presentation
The book presents a MATLAB® primer oriented to a newcomer in computer calculations, with the topics then arranged accordingly. Nevertheless, a teacher is not obligated by this order. For example, the Editor (Section 4.1) can be taught directly after the output commands (Section 2.1.7) to permit the simple program creations on the early learning stages. Likewise, the material regarding creation of script files (Section 4.1) can be studied after the input and output commands (Section 2.2) to allow students to write script programs during the first steps. The polynomial and optimization fitting (Chapter 4) can be presented after the section on 2D graphs (Chapter 2) for better illustration of the fitting results. The ODE and PDE solutions (Chapter 6) can be moved before the fitting (Chapter 4) as their solutions are not connected to curve fitting. Another way to teach MATLAB® is to use the recent Life Editor (described in Chapter 4), which can be introduced to beginners immediately after they become familiar with variables and interactive calculations (prior to Section 2.1.5); this editor can be used throughout the rest of study with examples of scripts/functions converted to a live file (as explained in Section 4.4.3).
In general, I hope the book will help MATLAB® users study the software and apply it to MSE problems.
2
Basics of MATLAB®
Abstract
The MATLAB® desktop, its toolstrip, and windows are presented in the beginning of the chapter. Interactive calculation examples, elementary functions, input and output commands, as well as numbers and strings representation are described. Vectors, matrices, and arrays operations are introduced. Flow control commands, as well as relational and logical operators, are discussed. Each command is presented in the simplest possible form and with the practical examples supplied. At the end of each subsection, the studied commands are applied to separate elementary-level problems from the area of the materials science and engineering (MSE) whenever possible, e.g., stress intensity factor, hardness, lattice volume via vectors, bulk modulus, etc. The final part contains questions and exercises for self-testing along with the answers to some of the questions.
Keywords
MATLAB® basics; Desktop windows; Interactive operations; Vector and matrices commands; Flow control and logical operations; MSE-oriented applications and exercises
Almost half a century has passed since a special computer tool was created for mathematicians. The tool and its language were named MATLAB®. The term is derived from the three first letters of two words, matrix and laboratory, to emphasize the main element of this language: a matrix. This matrix-based approach unifies the calculating procedures for both algebraic and graphical processing. Within a short period, MATLAB was adapted and has become a convenient tool for technical computing. Today, engineers use it in a variety of applied and scientific calculations of various fields, including material engineering. Over time, MATLAB has undergone significant changes. It has become more diverse, effective, and complex. Therefore, it is necessary to study the available tool with the goal of efficient technical programming for solving actual problems.
In this chapter, the tool desktop, its toolstrip, and available windows are presented; the starting procedure is introduced; the main commands for simple arithmetical, algebraic, matrix, and array operations are described; and finally, the basic loops and relational and logical operators are explained.
2.1 Launching MATLAB
To get started with MATLAB, the user should run the software. It is assumed that this software was previously installed on your computer. MATLAB and other application programs, as well as all computer resources, are controlled by a special set of programs called the operating system (OS). These systems may vary with the computing platform. Thus, we additionally assume