This document discusses MATLAB and provides an introduction for non-technical audiences. It covers MATLAB's history, strengths, and weaknesses. MATLAB was developed in the 1970s to provide access to linear algebra subroutines without requiring Fortran knowledge. It has since grown to be useful for students, engineers, and scientists by allowing easy analysis of systems, solving of complex equations, and multi-disciplinary research through its built-in toolboxes and simulation capabilities. However, it is not a general purpose language and is slower than compiled languages.
Simulink - Introduction with Practical ExampleKamran Gillani
Simulink® is a block diagram environment for multi-domain simulation and Model-Based Design. It supports simulation, automatic code generation, and continuous test and verification of embedded systems.
Advanced MATLAB Tutorial for Engineers & ScientistsRay Phan
This is a more advanced tutorial in the MATLAB programming environment for upper level undergraduate engineers and scientists at Ryerson University. The first half of the tutorial covers a quick review of MATLAB, which includes how to create vectors, matrices, how to plot graphs, and other useful syntax. The next part covers how to create cell arrays, logical operators, using the find command, creating Transfer Functions, finding the impulse and step response, finding roots of equations, and a few other useful tips. The last part covers more advanced concepts such as analytically calculating derivatives and integrals, polynomial regression, calculating the area under a curve, numerical solutions to differential equations, and sorting arrays.
A Powerpoint Presentation designed to provide beginners to MATLAB an introduction to the MATLAB environment and introduce them to the fundamentals of MATLAB including matrix generation and manipulation, Arrays, MATLAB Graphics, Data Import and Export, etc
MATLAB Programs For Beginners. | Abhi SharmaAbee Sharma
This is MATLAB's 10 most easy & most basic programs that I's supposed to submit in my practicals. In this document I've complied 10 MATLAB programs from basic to advanced through intermediate levels, But overall they are for beginners only. It's only a 26 pages doc. for academic purposes. well, What else a student can offer you, huh? LOLz
Here is my slide on MATLAB which includes Introduction to MATLAB, what is MATLAB, Programming languages in MATLAB, Uses of MATLAB, MATLAB features,tools and Advance tools, Advantages and disadvantages of MATLAB, Applications of MATLAB.
MATLAB is an excessive-performance language for technical computing. It integrates computation, visualization, and programming in the user-friendly atmosphere, wherein the problem as well as solutions are expressed in familiar mathematical notation.
Simulink - Introduction with Practical ExampleKamran Gillani
Simulink® is a block diagram environment for multi-domain simulation and Model-Based Design. It supports simulation, automatic code generation, and continuous test and verification of embedded systems.
Advanced MATLAB Tutorial for Engineers & ScientistsRay Phan
This is a more advanced tutorial in the MATLAB programming environment for upper level undergraduate engineers and scientists at Ryerson University. The first half of the tutorial covers a quick review of MATLAB, which includes how to create vectors, matrices, how to plot graphs, and other useful syntax. The next part covers how to create cell arrays, logical operators, using the find command, creating Transfer Functions, finding the impulse and step response, finding roots of equations, and a few other useful tips. The last part covers more advanced concepts such as analytically calculating derivatives and integrals, polynomial regression, calculating the area under a curve, numerical solutions to differential equations, and sorting arrays.
A Powerpoint Presentation designed to provide beginners to MATLAB an introduction to the MATLAB environment and introduce them to the fundamentals of MATLAB including matrix generation and manipulation, Arrays, MATLAB Graphics, Data Import and Export, etc
MATLAB Programs For Beginners. | Abhi SharmaAbee Sharma
This is MATLAB's 10 most easy & most basic programs that I's supposed to submit in my practicals. In this document I've complied 10 MATLAB programs from basic to advanced through intermediate levels, But overall they are for beginners only. It's only a 26 pages doc. for academic purposes. well, What else a student can offer you, huh? LOLz
Here is my slide on MATLAB which includes Introduction to MATLAB, what is MATLAB, Programming languages in MATLAB, Uses of MATLAB, MATLAB features,tools and Advance tools, Advantages and disadvantages of MATLAB, Applications of MATLAB.
MATLAB is an excessive-performance language for technical computing. It integrates computation, visualization, and programming in the user-friendly atmosphere, wherein the problem as well as solutions are expressed in familiar mathematical notation.
CETPA INFOTECH PVT LTD is one of the IT education and training service provider brands of India that is preferably working in 3 most important domains. It includes IT Training services, software and embedded product development and consulting services.
http://www.cetpainfotech.com
MATLAB, short for Matrix Laboratory, is a powerful software platform and programming language developed by MathWorks. It offers a wide range of features and capabilities that make it an indispensable tool for researchers, students, and professionals in science, engineering, and beyond. With its intuitive syntax, extensive library of functions, and interactive data analysis environment, MATLAB enables users to perform numerical computations, visualize data, and develop algorithms and models with ease. Its applications span across engineering, data analysis, research and development, and education, making it a versatile tool for innovation and problem-solving. MATLAB's impact lies in its ability to accelerate development cycles, facilitate data analysis and simulation, and empower interdisciplinary collaborations, ultimately driving advancements in various fields.
Matlab is programming language developed by MathWorks that provides a computing environment for programming.
www.techsparks.co.in/introduction-and-basics-of-matlab/
Getting to know about Matrix Laboratory or MatLab.pptxSample Assignment
Machine learning, deep learning, and data science are just a few of the sophisticated uses for this technology. Designing and drafting is such an essential topic in engineering that many scholars avail of MatLab assignment help from service providers intending to score good marks and grades.
Introduction to MATrices LABoratory (MATLAB) as Part of Digital Signal Proces...Ahmed Gad
An introduction to MATrices LABoratory (MATLAB) as part of digital signal processing (DSP) course for allowing students to apply concepts presented in the DSP course.
This course covers the basics of MATLAB including:
MATLAB Packages
Definition
How to use a toolbox? (Java vs. MATLAB)
Examples of general and specific toolboxes
MATLAB Versions and Releases
What is MATLAB?
Overview about MATLAB Desktop
Command Window
Command History Window
Workspace Window
Current Folder Window
Editor Window
MATLAB Variables
Command Window Numeric Display Formats
MATLAB Operators and Corresponding Functions
MATLAB Documentation
Frequent Mathematical Functions
Scripting
MATLAB Comments
Matrices and vectors
MATLAB Control Structures
Figures and Plots
Find me on:
AFCIT
http://www.afcit.xyz
YouTube
https://www.youtube.com/channel/UCuewOYbBXH5gwhfOrQOZOdw
Google Plus
https://plus.google.com/u/0/+AhmedGadIT
SlideShare
https://www.slideshare.net/AhmedGadFCIT
LinkedIn
https://www.linkedin.com/in/ahmedfgad/
ResearchGate
https://www.researchgate.net/profile/Ahmed_Gad13
Academia
https://www.academia.edu/
Google Scholar
https://scholar.google.com.eg/citations?user=r07tjocAAAAJ&hl=en
Mendelay
https://www.mendeley.com/profiles/ahmed-gad12/
ORCID
https://orcid.org/0000-0003-1978-8574
StackOverFlow
http://stackoverflow.com/users/5426539/ahmed-gad
Twitter
https://twitter.com/ahmedfgad
Facebook
https://www.facebook.com/ahmed.f.gadd
Pinterest
https://www.pinterest.com/ahmedfgad/
A comprehensive guide on the uses of MATLABStat Analytica
Would you like to have a look on the uses of MATLAB? Have a look on the top uses of MATLAB in different industry. This presentation will help you to know the importance of MATLAB. Watch the PPT till the end to know more about the uses of MATLAB.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
The French Revolution Class 9 Study Material pdf free download
Matlab Mech Eee Lectures 1
1. Motivation
How it is useful for:
Summary
Introduction to MATLAB
A Layman Approach
P Bharani Chandra Kumar
(bharani@aero.iitb.ac.in)
Department of Electrical Engineering
GMR Institute of Technology
Rajam, AP
Lecture series on MATLAB
P Bharani Chandra Kumar
2. Motivation
How it is useful for:
Summary
Outline
1 Motivation
History of MATLAB
Strengths of MATLAB
Weakness of MATLAB
2 How it is useful for:
Students
Engineers/ Scientists
P Bharani Chandra Kumar
3. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
Outline
1 Motivation
History of MATLAB
Strengths of MATLAB
Weakness of MATLAB
2 How it is useful for:
Students
Engineers/ Scientists
P Bharani Chandra Kumar
4. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB stands for MATrix LABoratory.
Developed primarily by Cleve Moler in the 1970s.
Need student access to Fortran subroutines for solving
linear (LINPACK) and eigenvalue (EISPACK) problems
without requiring knowledge of Fortran .
Developed as an interactive system to access LINPACK
and EISPACK.
Gained popularity primarily through word of mouth
In the 1980s, MATLAB was rewritten in C with more
functionality
Mathworks, Inc. was created in 1984 is now responsible for
development, sale, and support for MATLAB
P Bharani Chandra Kumar
5. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB stands for MATrix LABoratory.
Developed primarily by Cleve Moler in the 1970s.
Need student access to Fortran subroutines for solving
linear (LINPACK) and eigenvalue (EISPACK) problems
without requiring knowledge of Fortran .
Developed as an interactive system to access LINPACK
and EISPACK.
Gained popularity primarily through word of mouth
In the 1980s, MATLAB was rewritten in C with more
functionality
Mathworks, Inc. was created in 1984 is now responsible for
development, sale, and support for MATLAB
P Bharani Chandra Kumar
6. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB stands for MATrix LABoratory.
Developed primarily by Cleve Moler in the 1970s.
Need student access to Fortran subroutines for solving
linear (LINPACK) and eigenvalue (EISPACK) problems
without requiring knowledge of Fortran .
Developed as an interactive system to access LINPACK
and EISPACK.
Gained popularity primarily through word of mouth
In the 1980s, MATLAB was rewritten in C with more
functionality
Mathworks, Inc. was created in 1984 is now responsible for
development, sale, and support for MATLAB
P Bharani Chandra Kumar
7. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB stands for MATrix LABoratory.
Developed primarily by Cleve Moler in the 1970s.
Need student access to Fortran subroutines for solving
linear (LINPACK) and eigenvalue (EISPACK) problems
without requiring knowledge of Fortran .
Developed as an interactive system to access LINPACK
and EISPACK.
Gained popularity primarily through word of mouth
In the 1980s, MATLAB was rewritten in C with more
functionality
Mathworks, Inc. was created in 1984 is now responsible for
development, sale, and support for MATLAB
P Bharani Chandra Kumar
8. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB stands for MATrix LABoratory.
Developed primarily by Cleve Moler in the 1970s.
Need student access to Fortran subroutines for solving
linear (LINPACK) and eigenvalue (EISPACK) problems
without requiring knowledge of Fortran .
Developed as an interactive system to access LINPACK
and EISPACK.
Gained popularity primarily through word of mouth
In the 1980s, MATLAB was rewritten in C with more
functionality
Mathworks, Inc. was created in 1984 is now responsible for
development, sale, and support for MATLAB
P Bharani Chandra Kumar
9. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB stands for MATrix LABoratory.
Developed primarily by Cleve Moler in the 1970s.
Need student access to Fortran subroutines for solving
linear (LINPACK) and eigenvalue (EISPACK) problems
without requiring knowledge of Fortran .
Developed as an interactive system to access LINPACK
and EISPACK.
Gained popularity primarily through word of mouth
In the 1980s, MATLAB was rewritten in C with more
functionality
Mathworks, Inc. was created in 1984 is now responsible for
development, sale, and support for MATLAB
P Bharani Chandra Kumar
10. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB stands for MATrix LABoratory.
Developed primarily by Cleve Moler in the 1970s.
Need student access to Fortran subroutines for solving
linear (LINPACK) and eigenvalue (EISPACK) problems
without requiring knowledge of Fortran .
Developed as an interactive system to access LINPACK
and EISPACK.
Gained popularity primarily through word of mouth
In the 1980s, MATLAB was rewritten in C with more
functionality
Mathworks, Inc. was created in 1984 is now responsible for
development, sale, and support for MATLAB
P Bharani Chandra Kumar
11. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
Outline
1 Motivation
History of MATLAB
Strengths of MATLAB
Weakness of MATLAB
2 How it is useful for:
Students
Engineers/ Scientists
P Bharani Chandra Kumar
12. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB is relatively easy to learn
MATLAB code is optimized to be relatively quick when
performing matrix operations
MATLAB may behave like a calculator or as a programming
language
MATLAB is interpreted, errors are easier to fix
Although primarily procedural, MATLAB does have some
object-oriented elements.
P Bharani Chandra Kumar
13. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB is relatively easy to learn
MATLAB code is optimized to be relatively quick when
performing matrix operations
MATLAB may behave like a calculator or as a programming
language
MATLAB is interpreted, errors are easier to fix
Although primarily procedural, MATLAB does have some
object-oriented elements.
P Bharani Chandra Kumar
14. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB is relatively easy to learn
MATLAB code is optimized to be relatively quick when
performing matrix operations
MATLAB may behave like a calculator or as a programming
language
MATLAB is interpreted, errors are easier to fix
Although primarily procedural, MATLAB does have some
object-oriented elements.
P Bharani Chandra Kumar
15. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB is relatively easy to learn
MATLAB code is optimized to be relatively quick when
performing matrix operations
MATLAB may behave like a calculator or as a programming
language
MATLAB is interpreted, errors are easier to fix
Although primarily procedural, MATLAB does have some
object-oriented elements.
P Bharani Chandra Kumar
16. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB is relatively easy to learn
MATLAB code is optimized to be relatively quick when
performing matrix operations
MATLAB may behave like a calculator or as a programming
language
MATLAB is interpreted, errors are easier to fix
Although primarily procedural, MATLAB does have some
object-oriented elements.
P Bharani Chandra Kumar
17. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
Outline
1 Motivation
History of MATLAB
Strengths of MATLAB
Weakness of MATLAB
2 How it is useful for:
Students
Engineers/ Scientists
P Bharani Chandra Kumar
18. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB is NOT a general purpose programming language
MATLAB is an interpreted language (making it for the most
part slower than a compiled language such as C++)
MATLAB is designed for scientific computation and is not
suitable for some things (such as parsing text)
MATLAB is an interpreted language, slower than a
compiled language such as C++
MATLAB commands are specific for MATLAB usage
P Bharani Chandra Kumar
19. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB is NOT a general purpose programming language
MATLAB is an interpreted language (making it for the most
part slower than a compiled language such as C++)
MATLAB is designed for scientific computation and is not
suitable for some things (such as parsing text)
MATLAB is an interpreted language, slower than a
compiled language such as C++
MATLAB commands are specific for MATLAB usage
P Bharani Chandra Kumar
20. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB is NOT a general purpose programming language
MATLAB is an interpreted language (making it for the most
part slower than a compiled language such as C++)
MATLAB is designed for scientific computation and is not
suitable for some things (such as parsing text)
MATLAB is an interpreted language, slower than a
compiled language such as C++
MATLAB commands are specific for MATLAB usage
P Bharani Chandra Kumar
21. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB is NOT a general purpose programming language
MATLAB is an interpreted language (making it for the most
part slower than a compiled language such as C++)
MATLAB is designed for scientific computation and is not
suitable for some things (such as parsing text)
MATLAB is an interpreted language, slower than a
compiled language such as C++
MATLAB commands are specific for MATLAB usage
P Bharani Chandra Kumar
22. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB is NOT a general purpose programming language
MATLAB is an interpreted language (making it for the most
part slower than a compiled language such as C++)
MATLAB is designed for scientific computation and is not
suitable for some things (such as parsing text)
MATLAB is an interpreted language, slower than a
compiled language such as C++
MATLAB commands are specific for MATLAB usage
P Bharani Chandra Kumar
23. Motivation History of MATLAB
How it is useful for: Strengths of MATLAB
Summary Weakness of MATLAB
MATLAB is NOT a general purpose programming language
MATLAB is an interpreted language (making it for the most
part slower than a compiled language such as C++)
MATLAB is designed for scientific computation and is not
suitable for some things (such as parsing text)
MATLAB is an interpreted language, slower than a
compiled language such as C++
MATLAB commands are specific for MATLAB usage
P Bharani Chandra Kumar
24. Motivation
Students
How it is useful for:
Engineers/ Scientists
Summary
Outline
1 Motivation
History of MATLAB
Strengths of MATLAB
Weakness of MATLAB
2 How it is useful for:
Students
Engineers/ Scientists
P Bharani Chandra Kumar
25. Motivation
Students
How it is useful for:
Engineers/ Scientists
Summary
How it is useful for students:
System dynamics can be analysed very easily
Messy equations can be solved very easily
Can enhance the skills required for present jobs
Can do the projects in a very easy way
Can be useful for analysis and study of multi-disciplinary
research areas
P Bharani Chandra Kumar
26. Motivation
Students
How it is useful for:
Engineers/ Scientists
Summary
How it is useful for students:
System dynamics can be analysed very easily
Messy equations can be solved very easily
Can enhance the skills required for present jobs
Can do the projects in a very easy way
Can be useful for analysis and study of multi-disciplinary
research areas
P Bharani Chandra Kumar
27. Motivation
Students
How it is useful for:
Engineers/ Scientists
Summary
How it is useful for students:
System dynamics can be analysed very easily
Messy equations can be solved very easily
Can enhance the skills required for present jobs
Can do the projects in a very easy way
Can be useful for analysis and study of multi-disciplinary
research areas
P Bharani Chandra Kumar
28. Motivation
Students
How it is useful for:
Engineers/ Scientists
Summary
How it is useful for students:
System dynamics can be analysed very easily
Messy equations can be solved very easily
Can enhance the skills required for present jobs
Can do the projects in a very easy way
Can be useful for analysis and study of multi-disciplinary
research areas
P Bharani Chandra Kumar
29. Motivation
Students
How it is useful for:
Engineers/ Scientists
Summary
How it is useful for students:
System dynamics can be analysed very easily
Messy equations can be solved very easily
Can enhance the skills required for present jobs
Can do the projects in a very easy way
Can be useful for analysis and study of multi-disciplinary
research areas
P Bharani Chandra Kumar
30. Motivation
Students
How it is useful for:
Engineers/ Scientists
Summary
Outline
1 Motivation
History of MATLAB
Strengths of MATLAB
Weakness of MATLAB
2 How it is useful for:
Students
Engineers/ Scientists
P Bharani Chandra Kumar
31. Motivation
Students
How it is useful for:
Engineers/ Scientists
Summary
How it is useful for Engineer/Scientists:
Can do the research in various fields
Contains various inbuilt blocks like electric power systems,
IC engines, aircraft, process plant, etc .
Need not required to struggle alot to get output as
compared to other major packages
Can compare the existing literature results using wide
simulations
Can be useful for analysis and study of multi-disciplinary
research
Can publish papers based on the simulations obtained
P Bharani Chandra Kumar
32. Motivation
Students
How it is useful for:
Engineers/ Scientists
Summary
How it is useful for Engineer/Scientists:
Can do the research in various fields
Contains various inbuilt blocks like electric power systems,
IC engines, aircraft, process plant, etc .
Need not required to struggle alot to get output as
compared to other major packages
Can compare the existing literature results using wide
simulations
Can be useful for analysis and study of multi-disciplinary
research
Can publish papers based on the simulations obtained
P Bharani Chandra Kumar
33. Motivation
Students
How it is useful for:
Engineers/ Scientists
Summary
How it is useful for Engineer/Scientists:
Can do the research in various fields
Contains various inbuilt blocks like electric power systems,
IC engines, aircraft, process plant, etc .
Need not required to struggle alot to get output as
compared to other major packages
Can compare the existing literature results using wide
simulations
Can be useful for analysis and study of multi-disciplinary
research
Can publish papers based on the simulations obtained
P Bharani Chandra Kumar
34. Motivation
Students
How it is useful for:
Engineers/ Scientists
Summary
How it is useful for Engineer/Scientists:
Can do the research in various fields
Contains various inbuilt blocks like electric power systems,
IC engines, aircraft, process plant, etc .
Need not required to struggle alot to get output as
compared to other major packages
Can compare the existing literature results using wide
simulations
Can be useful for analysis and study of multi-disciplinary
research
Can publish papers based on the simulations obtained
P Bharani Chandra Kumar
35. Motivation
Students
How it is useful for:
Engineers/ Scientists
Summary
How it is useful for Engineer/Scientists:
Can do the research in various fields
Contains various inbuilt blocks like electric power systems,
IC engines, aircraft, process plant, etc .
Need not required to struggle alot to get output as
compared to other major packages
Can compare the existing literature results using wide
simulations
Can be useful for analysis and study of multi-disciplinary
research
Can publish papers based on the simulations obtained
P Bharani Chandra Kumar
36. Motivation
Students
How it is useful for:
Engineers/ Scientists
Summary
How it is useful for Engineer/Scientists:
Can do the research in various fields
Contains various inbuilt blocks like electric power systems,
IC engines, aircraft, process plant, etc .
Need not required to struggle alot to get output as
compared to other major packages
Can compare the existing literature results using wide
simulations
Can be useful for analysis and study of multi-disciplinary
research
Can publish papers based on the simulations obtained
P Bharani Chandra Kumar
37. Motivation
How it is useful for:
Summary
Summary
General intro to MATLAB.
History of MATLAB.
Who and how it can be utilized!
P Bharani Chandra Kumar
38. Motivation
How it is useful for:
Summary
Summary
General intro to MATLAB.
History of MATLAB.
Who and how it can be utilized!
P Bharani Chandra Kumar
39. Motivation
How it is useful for:
Summary
Summary
General intro to MATLAB.
History of MATLAB.
Who and how it can be utilized!
P Bharani Chandra Kumar
40. Motivation
How it is useful for:
Summary
Summary
General intro to MATLAB.
History of MATLAB.
Who and how it can be utilized!
P Bharani Chandra Kumar
41. Appendix For Further Reading
For Further Reading I
Rudra Pratap.
Started with MATLAB : A Quick intro for Scientists and
Engineers.
Oxford University Press, 2006.
www.mathworks.com
P Bharani Chandra Kumar
42. Basics of MATLAB
(Lecture 2)
P Bharani Chandra Kumar
bharani@aero.iitb.ac.in
43. MATLAB GUI
Command Window
Workspace
Command History
bharani@aero.iitb.ac.in
44. Desktop Tools
Command Window
type commands
Workspace
view program variables
clear to clear
double click on a variable to see it in the Array Editor
Command History
view past commands
save a whole session using diary
bharani@aero.iitb.ac.in
45. Matrices
• A vector x = [1 2 5 1]
x =
1 2 5 1
• A matrix x = [1 2 3; 5 1 4; 3 2 -1]
x =
1 2 3
5 1 4
3 2 -1
• Transpose y = x.’ y =
1
2
5
1
bharani@aero.iitb.ac.in
46. Matrices (Contd…)
Let, x= [ 1 2 3
5 1 4
3 2 -1]
y = x(2,3)
• x(i,j) subscription
y =
4
• whole row y = x(3,:)
y =
3 2 -1
y = x(:,2)
• whole column
y = 2
1
2
bharani@aero.iitb.ac.in
47. Operators (Arithmetic)
+ addition
- subtraction
* multiplication .* element-by-element mult
/ division ./ element-by-element div
^ power .^ element-by-element power
‘ complex conjugate .‘ transpose
transpose
bharani@aero.iitb.ac.in
48. Operators (Relational, Logical)
== equal pi 3.14159265…
~= not equal j imaginary unit, −1
< less than i same as j
<= less than or equal
> greater than
>= greater than or equal
& AND
| OR
~ NOT
bharani@aero.iitb.ac.in
49. Generating Vectors from functions
x = zeros(1,3)
• zeros(M,N) MxN matrix of zeros x =
0 0 0
• ones(M,N) MxN matrix of ones x = ones(1,3)
x =
1 1 1
• rand(M,N) MxN matrix of uniformly
x = rand(1,3)
distributed random numbers
on (0,1) x =
0.9501 0.2311 0.6068
bharani@aero.iitb.ac.in
50. Operators (in general)
[ ] concatenation x = [ zeros(1,3) ones(1,2) ]
x =
0 0 0 1 1
( ) subscription x = [ 1 3 5 7 9]
x =
1 3 5 7 9
y = x(2)
y =
3
y = x(2:4)
y =
3 5 7
bharani@aero.iitb.ac.in
51. MATRIX OPERATIONS
Let, A = eye(3)
>> A = [ 1 0 0
0 1 0
0 0 1 ]
>> eig(A) >> inv(A) >>A' >>A*A
ans = ans = ans = ans =
1 1 0 0 1 0 0 1 0 0
1 0 1 0 0 1 0 0 1 0
1 0 0 1 0 0 1 0 0 1
bharani@aero.iitb.ac.in
55. Overview
Linear algebra
Solving a linear equation
Finding eigenvalues and eigenvectors
Curve fitting and interpolation
Data analysis and statistics
Nonlinear algebraic equations
bharani@aero.iitb.ac.in
56. Linear Algebra
Solving a linear system
Find the values of x, y and z for the following equations:
5x = 3y – 2z +10
8y +4z = 3x + 20
2x + 4y - 9z = 9
Step 1: Rearrange equations:
5x - 3y + 2z = 10
- 3x + 8y +4z = 20
2x + 4y - 9z = 9
Step 2: Write the equations in matrix form:
[A] x = b
5 −3 2 10
A = − 3 8
4 b = 20
2
4 − 9
9
bharani@aero.iitb.ac.in
57. Linear Algebra (Contd…)
Step 3: Solve the matrix equation in MATLAB:
>> A = [ 5 -3 2; -3 8 4; 2 4 -9];
>> b = [10; 20; 9]
>> x = A b
x =
3.442
3.1982
1.1868
% Veification
>> c = A*x
>> c =
10.0000
20.0000
9.0000
bharani@aero.iitb.ac.in
58. Linear Algebra (Contd…)
Finding eigenvalues and eigenvectors
Eigenvalue problem in scientific computations shows up as:
Av=λv
The problem is to find ‘λ’ and ‘v’ for a given ‘A’ so that above eq.
is satisfied:
Method 1: Classical method by using pencil and paper:
a) Finding eigenvalues from the determinant eqn.
A − λI = 0
b) Sole for ‘n’ eigenvectors by substituting the corresponding
eigenvalues in above eqn.
bharani@aero.iitb.ac.in
59. Linear Algebra (Contd…)
Method 2: By using MATLAB:
Step 1: Enter matrix A and type [V, D] = eig(A)
>> A = [ 5 -3 2; -3 8 4; 2 4 -9];
>> [V, D] = eig(A)
V =
-0.1709 0.8729 0.4570
-0.2365 0.4139 -0.8791
0.9565 0.2583 -0.1357
D =
-10.3463 0 0
0 4.1693 0
0 0 10.1770
bharani@aero.iitb.ac.in
60. Linear Algebra (Contd…)
Step 2: Extract what you need:
‘V’ is an ‘n x n’ matrix whose columns are eigenvectors
D is an ‘n x n’ diagonal matrix that has the eigenvalues of
‘A’ on its diagonal.
bharani@aero.iitb.ac.in
61. Linear Algebra (Contd…)
Cross check:
Let us check 2nd eigenvalue and second eigenvector will
satisfy A v = λ v or not:
v2=V(:,2) % 2nd column of V
v2 =
0.8729
0.4139
0.2583
>> lam2=D(2,2) % 2nd eigevalue
lam2 =
4.1693
>> A*v2-lam2*v2
ans = 1.0e-014 *
0.0444
-0.1554
0.0888
bharani@aero.iitb.ac.in
62. Curve Fitting
What is curve fitting ?
It is a technique of finding an algebraic relationship that “best”
fits a given set of data.
There is no magical function that can give you this relationship.
You have to have an idea of what kind of relationship might exist
between the input data (x) and output data (y).
If you do not have a firm idea but you have data that you trust,
MATLAB can help you to explore the best possible fit.
bharani@aero.iitb.ac.in
63. Curve Fitting (Contd…)
Example 1 : straight line (linear) fit:
x 5 10 20 50 100
Y 15 33 53 140 301
Step 1: Plot raw data:
Enter the data in MATLAB and plot it:
>> x = [ 5 10 20 50 100];
>> y = [15 33 53 140 301];
>> plot (x,y,’o’)
>> grid
bharani@aero.iitb.ac.in
66. Curve Fitting (Contd…)
Example 2 : Comparing different fits:
x = 0: pi/30 : pi/3
y = sin(x) + rand (size(x))/100
Step 1: Plot raw data:
>> plot (x,y,’o’)
>> grid
Step 2: Use basic fitting to do a quadratic and cubic fit
Step 3 : Choose the best fit based on the residuals
bharani@aero.iitb.ac.in
68. Interpolation
What is interpolation ?
It is a technique of finding a functional relationship between
variables such that a given set of discrete values of the variables
satisfy that relationship.
Usually, we get a finite set of data points from experiments.
When we want to pass a smooth curve through these points or
find some intermediate points, we use the technique of
interpolation.
Interpolation is NOT curve fitting, in that it requires the
interpolated curve to pass through all the data points.
Data can be interpolated using Splines or Hermite interpolants.
bharani@aero.iitb.ac.in
69. Interpolation (Contd…)
MATLAB provides the following functions to facilitate
interpolation:
interp1 : One data interpolation i.e. given yi and xi, finds yj at
desired xj from yj = f(xj).
ynew = interp1(x,y,xnew, method)
interp2 : Two dimensional data interpolation i.e. given zi at
(xi,yi) from z = f(x,y).
znew = interp2(x,y,z,xnew,ynew, method)
interp3 : Three dimensional data interpolation i.e. given vi at
(xi,yi,zi) from v = f(x,y,z).
vnew = interp2(x,y,z,v,xnew,ynew,znew,
method)
spline : ynew = spline(x,y,xnew, method)
bharani@aero.iitb.ac.in
70. Interpolation (Contd…)
Example:
x = [1 2 3 4 5 6 7 8
9]
y = [1 4 9 16 25 36 49
64 81]
Find the value of 5.5?
Method 1: Linear Interpolation
MATLAB Command :
>> yi=interp1(x,y,5.5,'linear')
yi = 30.5000
bharani@aero.iitb.ac.in
71. Interpolation (Contd…)
Method 2: Cubic Interpolation
MATLAB Command :
>> yi = interp1(x,y,5.5,’cubic')
yi =
30.2479
Method 3: Spline Interpolation
MATLAB Command :
>> yi = interp1(x,y,5.5,’spline') Note: 5.5*5.5=
yi =
30.2500
bharani@aero.iitb.ac.in
72. Data Analysis and statistics
It includes various tasks, such as finding mean, median,
standard deviation, etc.
MATLAB provides an easy graphical interface to do such type of
tasks.
As a first step, you should plot your data in the form you wish.
Then go to the figure window and select data statistics from the
tools menu.
Any of the statistical measures can be seen by checking the
appropriate box.
bharani@aero.iitb.ac.in
73. Data Analysis and statistics (Contd…)
Example:
x = [1 2 3 4 5 6 7 8
9]
y = [1 4 9 16 25 36 49
64 81]
Find the minimum value, maximum value, mean, median?
bharani@aero.iitb.ac.in
77. Data Analysis and statistics (Contd…)
It can be performed directly by using MATLAB commands also:
Consider:
x = [1 2 3 4 5]
mean (x) : Gives arithmetic mean of ‘x’ or the avg. data.
MATLAB usage: mean (x) gives 3.
median (x) : gives the middle value or arithmetic mean of two middle
Numbers.
MATLAB usage: median (x) gives 3.
Std(x): gives the standard deviation
Max(x)/min(x): gives the largest/smallest value
bharani@aero.iitb.ac.in
78. Solving nonlinear algebraic equations
Step 1: Write the equation in the standard form:
f(x) = 0
Step 2: Write a function that computes f(x).
Step 3: Use the built-in function fzero to find the solution.
Example 1: Solve
sin x = e x − 5
Solution:
x= fzero('sin(x)-exp(x)+5',1)
x =
1.7878
bharani@aero.iitb.ac.in
79. Solving nonlinear algebraic equations
(contd…)
• Example 2: Solve
x2 − 2x + 4 = 0
Solution:
x= fzero(‘x*x-2*x+4',1)
x x=e
sin
= x
−5
1.7878
bharani@aero.iitb.ac.in
83. Why Optimize!
Engineers are always interested in finding the
‘best’ solution to the problem at hand
Fastest
Fuel Efficient
Optimization theory allows engineers to
accomplish this
Often the solution may not be easily obtained
In the past, it has been surrounded by certain
mistakes
bharani@aero.iitb.ac.in
84. The Greeks started it!
Queen Dido of Carthage (7 century
BC)
– Daughter of the king of Tyre
– Agreed to buy as much land as
she could “enclose with one
bull’s hide”
– Set out to choose the largest
amount of land possible, with
one border along the sea
• A semi-circle with side
touching the ocean
• Founded Carthage
– Fell in love with Aeneas but
committed suicide when he left.
bharani@aero.iitb.ac.in
85. The Italians Countered
Joseph Louis Lagrange (1736-1813)
His work Mécanique Analytique (Analytical
Mechanics) (1788) was a mathematical
masterpiece
Invented the method of ‘variations’ which
impressed Euler and became ‘calculus of
variations’
Invented the method of multipliers
(Lagrange multipliers)
Sensitivities of the performance index to
changes in states/constraints
Became the ‘father’ of ‘Lagrangian’
Dynamics
Euler-Lagrange Equations
bharani@aero.iitb.ac.in
86. The Multi-Talented Mr. Euler
Euler (1707-1783)
Friend of Lagrange
Published a treatise which became
the de facto standard of the
‘calculus of variations’
The Method of Finding Curves
that Show Some Property of
Maximum or Minimum
He solved the brachistachrone
(brachistos = shortest, chronos =
time) problem very easily
Minimum time path for a bead
on a string, Cycloid
bharani@aero.iitb.ac.in
87. Hamilton and Jacobi
William Hamilton (1805-1865)
Inventor of the quaternion
Karl Gustav Jacob Jacobi (1804-
1851)
Discovered ‘conjugate points’ in
the fields of extremals
Gave an insightful treatment to
the second variation
Jacobi criticized Hamilton’s work
Hamilton-Jacobi equation
Became the basis of Bellman’s
work 100 years later
bharani@aero.iitb.ac.in
88. What to Optimize?
Engineers intuitively know what they are
interested in optimizing
Straightforward problems
Fuel
Time
Power
Effort
More complex
Maximum margin
Minimum risk
The mathematical quantity we optimize is called
a cost function or performance index
bharani@aero.iitb.ac.in
89. Optimization through MATLAB
Consider initially the problem of finding a minimum
to the function:
MATLAB function FMINCON solves problems of the form:
min F(X)
subject to: A*X <= B, Aeq*X = Beq (linear constraints)
C(X) <= 0, Ceq(X) = 0 (nonlinear constraints)
LB <= X <= UB
bharani@aero.iitb.ac.in
90. Optimization through MATLAB
(Contd…)
X = FMINCON(FUN,X0,A,B) starts at X0 and finds a minimum
X to the function FUN, subject to the linear inequalities A*X <= B.
X=FMINCON(FUN,X0,A,B,Aeq,Beq) minimizes FUN subject to
the linear equalities:
Aeq*X = Beq as well as A*X <= B.
(Set A=[ ] and B=[ ] if no inequalities exist.)
bharani@aero.iitb.ac.in
91. Optimization through MATLAB
(Contd…)
X=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB) defines a set of
lower and upper bounds on the design variables, X, so that the
solution is in the range LB <= X <= UB.
Use empty matrices for LB and UB if no bounds exist.
Set LB(i) = -Inf if X(i) is unbounded below; and set UB(i) = Inf if X(i)
is unbounded above.
X=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON) subjects
the minimization to the constraints defined in NONLCON.
The function NONLCON accepts X and returns the vectors C and
Ceq, representing the nonlinear inequalities and equalities
respectively.
bharani@aero.iitb.ac.in
92. Unonstrained Optimization : Example
Consider the above problem with no constraints:
f ( x) = e x (4 x 2 + 2 y 2 + 4 xy + 2 y + 1)
Solution by MATLAB:
Step 1: Create an inline object of the function to be minimized
fun = inline('exp(x(1)) * (4*x(1)^2 + 2*x(2)^2 +
4*x(1)*x(2) + 2*x(2) + 1)');
Step 2: Take a guess at the solution:
x0 = [-1 1];
Step 3: Solve using fminunc function:
[x, fval] = fminunc(fun, x0);
bharani@aero.iitb.ac.in
93. Unconstrained Optimization : Example
(Contd…)
>> x =
0.5000 -1.0000
>> fval =
1.3028e-010
bharani@aero.iitb.ac.in
94. Constrained Optimization : Example
Consider initially the problem of finding a minimum
to the function:
f ( x) = e x (4 x 2 + 2 y 2 + 4 xy + 2 y + 1)
Subjected to:
1.5 + x(1).x(2) - x(1) - x(2) < = 0
- x(1).x(2) < = 10
bharani@aero.iitb.ac.in
95. Constrained Optimization : Example
(contd…)
Solution using MATLAB:
Step 1: Write the m-file for objective function:
function f = objfun(x)
% objective function
f=exp(x(1)) * (4*x(1)^2 + 2*x(2)^2 + 4*x(1)*x(2) +
2*x(2) + 1);
Step 2: Write the m-file for constraints:
function [c, ceq] = confun(x)
% Nonlinear inequality constraints:
c = [1.5 + x(1)*x(2) - x(1) - x(2);
-x(1)*x(2) - 10];
% no nonlinear equality constraints:
ceq = [];
bharani@aero.iitb.ac.in
96. Constrained Optimization : Example
(contd…)
Step 3: Take a guess at the solution
x0 = [-1 1];
options =
optimset('LargeScale','off','Display','iter');
% We have no linear equalities or inequalities or
bounds,
% so pass [] for those arguments
[x,fval,exitflag,output] =
fmincon('objfun',x0,[],[],[],[],[],[],'confun',options)
;
bharani@aero.iitb.ac.in
97. max Directional
Iter F-count f(x) constraint Step-size derivative
Procedure
1 3 1.8394 0.5 1 0.0486
2 7 1.85127 -0.09197 1 -0.556 Hessian
modified twice
3 11 0.300167 9.33 1 0.17
4 15 0.529834 0.9209 1 -0.965
5 20 0.186965 -1.517 0.5 -0.168
6 24 0.0729085 0.3313 1 -0.0518
7 28 0.0353322 -0.03303 1 -0.0142
8 32 0.0235566 0.003184 1 -6.22e-006
9 36 0.0235504 9.032e-008 1 1.76e-010 Hessian
modified
Optimization terminated successfully:
% A solution to this problem has been found at:
x
x =
-9.5474 1.0474
bharani@aero.iitb.ac.in
98. % The function value at the solution is:
fval
fval =
0.0236
% Both the constraints are active at the solution:
[c, ceq] = confun(x)
c =
1.0e-014 *
0.1110
-0.1776
ceq =
[]
bharani@aero.iitb.ac.in
101. Overview
Introduction
Basic questions about system identification
Common terms used in system identification
Basic information about dynamical systems
Basic steps for system identification
An exciting example
bharani@aero.iitb.ac.in
102. Introduction
What is system identification?
Water Can you Say
Heater What is this!
Cold Water Hot Water
bharani@aero.iitb.ac.in
103. What is system identification?
Determining system dynamics from input-output
data
Generate enough data for estimation and
validation
Select range for estimation and validation
Select order of the system
Check for best fit and determine the system
dynamics
bharani@aero.iitb.ac.in
104. Basic questions about system
identification
What is system identification?
It enables you to build mathematical models of a
dynamic system based on measured data.
You adjust the parameters of a given model until its
output coincides as well as possible with the
measured output.
How do you know if the model is any good?
A good test is to compare the output of the model to
measured data that was not used for the fit.
bharani@aero.iitb.ac.in
105. Basic questions about system
identification (contd…)
What models are most common?
The most common models are difference-equation
descriptions, such as ARX and ARMAX models, as
well as all types of linear state-space models.
• Do you have to assume a model of a particular
type?
For parametric models, you specify the model
structure. This can be as easy as selecting a single
integer -- the model order -- or it can involve several
choices.
bharani@aero.iitb.ac.in
106. Basic questions about system
identification (contd…)
What does the System Identification Toolbox
contain?
It contains all the common techniques used to
adjust parameters in all kinds of linear models.
• How do I get started?
If you are a beginner, browse through The
Graphical User Interface. Use the graphical user
interface (GUI) and check out the built-in help
functions.
bharani@aero.iitb.ac.in
107. Basic questions about system
identification (contd…)
Is this really all there is to system identification?
There is a great deal written on the subject of
system identification.
However, the best way to explore system
identification is by working with real data.
It is important to remember that any estimated
model, no matter how good it looks on your screen,
is only a simplified reflection of reality.
bharani@aero.iitb.ac.in
108. Common terms used in system
identification
Estimation data: The data set that is used to create
a model of the data.
Validation data: The data set (different from
estimation data) that is used to validate the model.
Model views: The various ways of inspecting the
properties of a model, such as zeros and poles, as
well as transient and frequency responses.
bharani@aero.iitb.ac.in
109. Common terms used in system
identification (contd…)
Model sets or model structures are families of
models with adjustable parameters.
Parameter estimation is the process of finding the
"best" values of these adjustable parameters.
The system identification problem is to find both
the model structure and good numerical values of
the model parameters.
bharani@aero.iitb.ac.in
110. Common terms used in system
identification (contd…)
• This is a matter of using numerical search to find
those numerical values of the parameters that give
the best agreement between the model's (simulated
or predicted) output and the measured output.
• Nonparametric identification methods: Techniques
to estimate model behavior without necessarily
using a given parameterized model set.
• Model validation is the process of gaining
confidence in a model.
bharani@aero.iitb.ac.in
112. Basic Steps for System
Identification
Import data from the MATLAB workspace.
Plot the data using Data Views.
Preprocess the data using commands in the
Preprocess menu.
For example, you can remove constant offsets or
linear trends (for linear models only), filter data, or
select regions of interest.
bharani@aero.iitb.ac.in
113. Basic Steps for System
Identification (contd…)
Select estimation and validation data.
Estimate models using commands in the Estimate
menu.
Validate models using Models Views.
Export models to the MATLAB workspace for
further processing .
bharani@aero.iitb.ac.in
118. Introduction
DSOLVE Symbolic solution of ordinary differential
equations.
DSOLVE('eqn1','eqn2', ...) accepts symbolic
equations representing ordinary differential
equations and initial conditions.
Several equations or initial conditions may be
grouped together, separated by commas, in a single
input argument.
By default, the independent variable is 't'.
The independent variable may be changed from 't'
to some other symbolic variable by including
that variable as the last input argument.
bharani@aero.iitb.ac.in
119. Introduction (contd…)
The letter 'D' denotes differentiation with respect
to the independent variable, i.e. usually d/dt.
A "D" followed by a digit denotes repeated
differentiation; e.g., D2 is d^2/dt^2.
Any characters immediately following these
differentiation operators are taken to be the
dependent variables; e.g., D3y denotes the third
derivative of y(t).
Note that the names of symbolic variables should
not contain the letter "D".
bharani@aero.iitb.ac.in
120. Introduction (contd…)
Initial conditions are specified by equations like
'y(a)=b' or 'Dy(a) = b' where y is one of the
dependent variables and a and b are
constants.
If the number of initial conditions given is less
than the number of dependent variables, the
resulting solutions will obtain arbitrary
constants, C1, C2, etc.
Three different types of output are possible. For
one equation and one output, the resulting
solution is returned, with multiple solutions to
a nonlinear equation in a symbolic vector.
bharani@aero.iitb.ac.in
121. Introduction (contd…)
If no closed-form (explicit) solution is found, an
implicit solution is attempted. When an implicit
solution is returned, a warning is given.
If neither an explicit nor implicit solution can be
computed, then a warning is given and the
empty sym is returned.
In some cases concerning nonlinear equations,
the output will be an equivalent lower order
differential equation or an integral.
bharani@aero.iitb.ac.in
125. Outline of lecture
MATLAB as a calculator revisited
Concept of M-files
Decision making in MATLAB
Use of IF and ELSEIF commands
Example: Real roots of a quadratic
bharani@aero.iitb.ac.in
126. MATLAB as a calculator
MATLAB can be used as a ‘clever’ calculator
This has very limited value in engineering
Real value of MATLAB is in programming
Want to store a set of instructions
Want to run these instructions sequentially
Want the ability to input data and output
results
Want to be able to plot results
Want to be able to ‘make decisions’
bharani@aero.iitb.ac.in
127. Example
n
1 1 1 1
y=∑ = + + + ...
i =1 i 1 2 3
Can do using MATLAB as a calculator
>> x = 1:10;
>> term = 1./sqrt(x);
>> y = sum(term);
Far easier to write as an M-file
bharani@aero.iitb.ac.in
128. How to write an M-file
File → New → M-file
Takes you into the file editor
Enter lines of code (nothing happens)
Save file (we will call ours bharani.m)
Run file
Edit (ie modify) file if necessary
bharani@aero.iitb.ac.in
129. Bharani.m Version 1
n = input(‘Enter the upper limit: ‘);
x = 1:n; % Matlab is case sensitive
term = sqrt(x);
y = sum(term)
What happens if n < 1 ?
bharani@aero.iitb.ac.in
130. Bharani.m Version 2
n = input(‘Enter the upper limit: ‘);
if n < 1
disp (‘Your answer is meaningless!’)
end
x = 1:n;
term = sqrt(x); Jump to here if TRUE
y = sum(term)
Jump to here if FALSE
bharani@aero.iitb.ac.in
131. Decision making in MATLAB
For ‘simple’ decisions?
IF … END (as in last example)
More complex decisions?
IF … ELSEIF … ELSE ... END
Example: Real roots of a quadratic equation
bharani@aero.iitb.ac.in
132. Roots of ax2+bx+c=0
Roots set by discriminant − b ± b 2 − 4ac
∆ < 0 (no real roots)
x=
2a
∆ = 0 (one real root)
∆ > 0 (two real roots)
2
MATLAB needs to make
∆ = b − 4ac
decisions (based on ∆)
bharani@aero.iitb.ac.in
133. One possible M-file
Read in values of a, b, c
Calculate ∆
IF ∆ < 0
Print message ‘ No real roots’→ Go END
ELSEIF ∆ = 0
Print message ‘One real root’→ Go END
ELSE
Print message ‘Two real roots’
END
bharani@aero.iitb.ac.in
134. M-file (bharani.m)
%================================================
% Demonstration of an m-file
% Calculate the real roots of a quadratic equation
%================================================
clear all; % clear all variables
clc; % clear screen
coeffts = input('Enter values for a,b,c (as a vector): ');
% Read in equation coefficients
a = coeffts(1);
b = coeffts(2);
c = coeffts(3);
delta = b^2 - 4*a*c; % Calculate discriminant
bharani@aero.iitb.ac.in
135. M-file (bharani.m) (contd…)
% Calculate number (and value) of real roots
if delta < 0
fprintf('nEquation has no real roots:nn')
disp(['discriminant = ', num2str(delta)])
elseif delta == 0
fprintf('nEquation has one real root:n')
xone = -b/(2*a)
else
fprintf('nEquation has two real roots:n')
x(1) = (-b + sqrt(delta))/(2*a);
x(2) = (-b – sqrt(delta))/(2*a);
fprintf('n First root = %10.2ent Second root = %10.2f',
x(1),x(2))
end
bharani@aero.iitb.ac.in
136. Conclusions
MATLAB is more than a calculator
its a powerful programming environment
• Have reviewed:
– Concept of an M-file
– Decision making in MATLAB
– IF … END and IF … ELSEIF … ELSE … END
– Example of real roots for quadratic equation
bharani@aero.iitb.ac.in
148. Style options
b blue . point - solid
g green o circle : dotted
r red x x-mark -. dashdot
c cyan + plus -- dashed
m magenta * star
y yellow s square
k black d diamond
v triangle (down)
^ triangle (up)
< triangle (left)
> triangle (right)
p pentagram
h hexagram
150. Modifying plots with the plot editor
To activate this tool go to
figure window and click on the
left-leaning arrow
Now you can select and
double click on any object in
the current plot to edit it.
Double clicking on the selected
object brings up a property
editor window where you can
select and modify the current
properties of the object
166. Handle Graphics Objects
Handle Graphics is an object-oriented
structure for creating, manipulating and
displaying graphics
Graphics in Matlab consist of objects
Every graphics objects has:
– a unique identifier, called handle
– a set of characteristics, called properties
167. Getting object handles
There are two ways for getting object handles
• By creating handles explicitly at the object-
creation level commands
• By using explicit handle return functions
169. Getting object handles
By using explicit handle return functions
>> gcf gets the handle of the current
figure
>> gca gets handle of current axes
>> gco returns the current object in the
current figure
170. Getting object handles
Example
>> figure
>> axes
>> line([1 2 3 4],[1 2 3 4])
>> hfig = gcf
>> haxes = gca
Click on the line in figure
>>hL=gco
171. Getting properties of objects
The function ‘get’ is used to get a property
value of an object specified by its handle
get(handle,’PropertyName’)
The following command will get a list of all
property names and their current values of an
object with handle h
get(h)
172. Getting properties of objects
Example
>> h1=plot([ 1 2 3 4]);returns a line
object
>> get(h1)
>> get(h1,’type’)
>> get(h1,’linestyle’)
173. Setting properties of objects
The properties of the objects can be set by
using ‘set’ command which has the following
command form
Set(handle, ‘PropertyName’,Propertyvalue’)
By using following command you can see the
the list of properties and their values
Set(handle)
174. Setting properties of objects
example
>> t=linspace(0,pi,50);
>> x=t.*sin(t);
>> hL=line(t,x);