matlab solved problems
TRANSCRIPT
![Page 1: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/1.jpg)
MotivationHow it is useful for:
Summary
A Layman Approach
![Page 3: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/3.jpg)
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
![Page 4: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/4.jpg)
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
![Page 5: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/5.jpg)
Matrices (Contd…)
• x(i,j) subscription
• whole row
• whole column
y = x(2,3)
y =
4
y = x(3,:)
y =
3 2 -1
y = x(:,2)
y = 2
1
2
Let, x = [ 1 2 3
5 1 4
3 2 -1]
![Page 6: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/6.jpg)
Operators (Arithmetic)
+ addition
- subtraction
* multiplication
/ division
^ power
‘ complex conjugate
transpose
.* element-by-element mult
./ element-by-element div
.^ element-by-element power
.‘ transpose
![Page 7: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/7.jpg)
Operators (Relational, Logical)
== equal
~= not equal
< less than
<= less than or equal
> greater than
>= greater than or equal
& AND
| OR
~ NOT
1−
pi 3.14159265…
j imaginary unit,
i same as j
![Page 8: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/8.jpg)
Generating Vectors from functions
• zeros(M,N) MxN matrix of zeros
• ones(M,N) MxN matrix of ones
• rand(M,N) MxN matrix of uniformly
distributed random numbers
on (0,1)
x = zeros(1,3)
x =
0 0 0
x = ones(1,3)
x =
1 1 1
x = rand(1,3)
x =
0.9501 0.2311 0.6068
![Page 9: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/9.jpg)
Operators (in general)
[ ] concatenation
( ) subscription
x = [ zeros(1,3) ones(1,2) ]
x =
0 0 0 1 1
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
![Page 10: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/10.jpg)
MATRIX OPERATIONS
Let, A = eye(3)
>> A = [ 1 0 0
0 1 0
0 0 1 ]
>> eig(A)
ans =
1
1
1
>> inv(A)
ans =
1 0 0
0 1 0
0 0 1
>>A'
ans =
1 0 0
0 1 0
0 0 1
>>A*A
ans =
1 0 0
0 1 0
0 0 1
![Page 11: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/11.jpg)
MATRIX OPERATIONS (Contd…)
Let, >> A = [1 2 3;4 5 6;7 8 9]
A = [ 1 2 3
4 5 6
7 8 9 ]
>> eig(A)
ans =
16.1168
-1.1168
-0.0000
>> B=A'
B =
1 4 7
2 5 8
3 6 9
>>C=A*B
C =
14 32 50
32 77 122
50 122 194
>> D=A.*B
D =
1 8 21
8 25 48
21 48 81
![Page 14: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/14.jpg)
Overview
Linear algebra
Solving a linear equation
Finding eigenvalues and eigenvectors
Curve fitting and interpolation
Data analysis and statistics
Nonlinear algebraic equations
![Page 15: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/15.jpg)
Linear AlgebraSolving 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
−
−
−
=
942
483
235
A
=
9
20
10
b
![Page 16: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/16.jpg)
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
![Page 17: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/17.jpg)
Finding eigenvalues and eigenvectors
Eigenvalue problem in scientific computations shows up as:
A v = λ 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.
b) Sole for ‘n’ eigenvectors by substituting the corresponding eigenvalues in above eqn.
0=− IA λ
Linear Algebra (Contd…)
![Page 18: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/18.jpg)
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
Linear Algebra (Contd…)
![Page 19: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/19.jpg)
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.
Linear Algebra (Contd…)
![Page 20: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/20.jpg)
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
Linear Algebra (Contd…)
![Page 21: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/21.jpg)
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.
![Page 22: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/22.jpg)
Curve Fitting (Contd…)
Example 1 : straight line (linear) fit:
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
301140533315Y
1005020105x
![Page 25: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/25.jpg)
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
![Page 27: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/27.jpg)
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.
![Page 28: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/28.jpg)
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)
![Page 29: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/29.jpg)
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
![Page 30: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/30.jpg)
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')
yi =
30.2500
Note: 5.5*5.5=
![Page 31: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/31.jpg)
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.
![Page 32: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/32.jpg)
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?
![Page 36: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/36.jpg)
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
![Page 37: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/37.jpg)
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
Solution:
x= fzero('sin(x)-exp(x)+5',1)
x =
1.7878
5sin −=
xex
![Page 38: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/38.jpg)
Solving nonlinear algebraic equations
(contd…)
5sin −=
xex
• Example 2: Solve
Solution:
x= fzero(‘x*x-2*x+4',1)
x =
1.7878
0422=+− xx
![Page 41: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/41.jpg)
Overview
Unconstrained Optimization
Constrained Optimization
Constrained Optimization through gradients
![Page 42: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/42.jpg)
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
![Page 43: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/43.jpg)
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.
![Page 44: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/44.jpg)
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
![Page 45: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/45.jpg)
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
![Page 46: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/46.jpg)
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
![Page 47: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/47.jpg)
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
![Page 48: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/48.jpg)
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
![Page 49: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/49.jpg)
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.)
Optimization through MATLAB
(Contd…)
![Page 50: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/50.jpg)
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.
Optimization through MATLAB
(Contd…)
![Page 51: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/51.jpg)
Unonstrained Optimization : Example
Consider the above problem with no constraints:
Solution by MATLAB:
Step 1: Create an inline object of the function to be minimizedfun = 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);
)12424()( 22++++= yxyyxexf
x
![Page 52: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/52.jpg)
Unconstrained Optimization : Example
(Contd…)
>> x =
0.5000 -1.0000
>> fval =
1.3028e-010
![Page 53: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/53.jpg)
Constrained Optimization : Example
Consider initially the problem of finding a minimum
to the function:
Subjected to:
1.5 + x(1).x(2) - x(1) - x(2) < = 0
- x(1).x(2) < = 10
)12424()( 22++++= yxyyxexf
x
![Page 54: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/54.jpg)
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 = [];
![Page 55: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/55.jpg)
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)
;
![Page 56: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/56.jpg)
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
![Page 57: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/57.jpg)
% 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 =
[]
![Page 60: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/60.jpg)
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
![Page 61: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/61.jpg)
Introduction
What is system identification?
Can you Say
What is this!
Cold Water Hot Water
Water
Heater
![Page 62: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/62.jpg)
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
![Page 63: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/63.jpg)
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.
![Page 64: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/64.jpg)
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.
![Page 65: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/65.jpg)
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.
![Page 66: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/66.jpg)
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.
![Page 67: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/67.jpg)
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.
![Page 68: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/68.jpg)
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.
![Page 69: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/69.jpg)
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.
![Page 71: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/71.jpg)
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.
![Page 72: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/72.jpg)
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 .
![Page 74: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/74.jpg)
Solution of Ordinary Differential
Equations and Engineering Computing
(Lecture 6)
P Bharani Chandra Kumar
![Page 77: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/77.jpg)
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.
![Page 78: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/78.jpg)
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".
![Page 79: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/79.jpg)
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.
![Page 80: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/80.jpg)
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.
![Page 81: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/81.jpg)
Examples
1) dsolve('Dx = -a*x') returns
ans: exp(-a*t)*C1
2) x = dsolve('Dx = -a*x','x(0) = 1','s') returns
ans: x = exp(-a*s)
3) y = dsolve('(Dy)^2 + y^2 = 1','y(0) = 0') returns
ans: y =
[ sin(t)]
[ -sin(t)]
![Page 82: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/82.jpg)
Examples (contd…)
4) S = dsolve('Df = f + g','Dg = -f + g','f(0) = 1','g(0) = 2')
Ans: S.f = exp(t)*cos(t)+2*exp(t)*sin(t)
S.g = -exp(t)*sin(t)+2*exp(t)*cos(t)
5) dsolve('Df = f + sin(t)', 'f(pi/2) = 0')
Ans: -1/2*cos(t)- 1/2*sin(t)+1/2*exp(t)/(cosh(1/2*pi)+
sinh(1/2*pi))
![Page 84: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/84.jpg)
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
![Page 85: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/85.jpg)
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’
![Page 86: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/86.jpg)
Example
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
∑=
+++==
n
i iy
1
...3
1
2
1
1
11
![Page 87: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/87.jpg)
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
![Page 88: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/88.jpg)
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 ?
![Page 89: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/89.jpg)
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);
y = sum(term)
Jump to here if TRUE
Jump to here if FALSE
![Page 90: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/90.jpg)
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
![Page 91: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/91.jpg)
Roots of ax2+bx+c=0
Roots set by discriminant
∆ < 0 (no real roots)
∆ = 0 (one real root)
∆ > 0 (two real roots)
MATLAB needs to make
decisions (based on ∆)
a
acbbx
2
42−±−
=
acb 42−=∆
![Page 92: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/92.jpg)
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
![Page 93: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/93.jpg)
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
![Page 94: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/94.jpg)
M-file (bharani.m) (contd…)
% Calculate number (and value) of real roots
if delta < 0
fprintf('\nEquation has no real roots:\n\n')
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.2e\n\t Second root = %10.2f', x(1),x(2))
end
![Page 95: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/95.jpg)
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
![Page 97: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/97.jpg)
Graphics
By
G Satish
![Page 98: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/98.jpg)
Outline
� 2-D plots
� 3-D plots
� Handle objects
![Page 99: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/99.jpg)
2-D plots
![Page 100: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/100.jpg)
Simple plot
>> a=[1 2 3 4]
>> plot(a)
![Page 101: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/101.jpg)
Overlay plots
� using plot command
>> t=0:pi/10:2*pi;
>> y=sin(t); z=cos(t);
>> plot(t,y,t,z)
![Page 102: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/102.jpg)
Overlay plots(contd…)
� using hold command
>> plot(t,sin(t));
>> grid
>> hold
>> plot(t,sin(t))
![Page 103: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/103.jpg)
Overlay plots(contd..)
� using line command
>> t=linspace(0,2*pi,10)
>> y=sin(t); y2=t; y3=(t.^3)/6+(t.^5)/120;
>> plot(t,y1)
>> line(t,y2,’linestyle’,’--’)
>> line(t,y3,’marker’,’o’)
![Page 104: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/104.jpg)
Overlay plots
![Page 105: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/105.jpg)
Style options
>> t=0:pi/10:2*pi;
>> y=sin(t); z=cos(t);
>>plot(t,y,’go-’,t,z,’b*--’)
![Page 106: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/106.jpg)
![Page 107: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/107.jpg)
Style options
b blue . point - solid
g green o circle : dotted
r red x x-mark -. dashdotc cyan + plus -- dashed
m magenta * stary yellow s square
k black d diamond
v triangle (down)^ triangle (up)
< triangle (left)> triangle (right)
p pentagramh hexagram
![Page 108: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/108.jpg)
Labels, title, legend and other text objects
>> a=[1 2 3 4]; b=[ 1 2 3 4]; c=[4 5 6 7]
>> plot(a,b,a,c)
>> grid
>> xlabel(‘xaxis’)
>> ylabel(‘yaxis’)
>> title(‘example’)
>> legend(‘first’,’second’)
>> text(2,6,’plot’)
![Page 109: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/109.jpg)
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
![Page 110: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/110.jpg)
Subplots
>> t=linspace(0,2*pi,10); y=sin(t); z=cos(t);
>> figure
>> subplot(2,1,1)
>> subplot(2,1,2)
>> subplot(2,1,1); plot(t,y)
>> subplot(2,1,2); plot(t,z)
![Page 111: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/111.jpg)
![Page 112: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/112.jpg)
Logarthmic plots
>> x=0:0.1:2*pi;
>>subplot(2,2,1)
>> semilogx(x,exp(-x));
>> grid
>> subplot(2,2,2)
>> semilogy(a,b);
>> grid
>> subplot(2,2,3)
>> loglog(x,exp(-x));
>> grid
![Page 113: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/113.jpg)
Zoom in and zoom out
>> figure
>> plot(t,sin(t))
>> axis([0 2 -2 2])
![Page 114: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/114.jpg)
![Page 115: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/115.jpg)
Specialised plotting routines
>> stem(t,sin(t));
>> bar(t,sin(t))
>> a=[1 2 3 4]; stairs(a);
![Page 116: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/116.jpg)
3-D plots
![Page 117: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/117.jpg)
Simple 3-D plot
� Plot of a parametric space curve
>> t=linspace(0,1,100);
>> x=t; y=t; z=t.^3;
>> plot3(x,y,z); grid
![Page 118: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/118.jpg)
View
>> t=linspace(0,6*pi,100);
>> x=cos(t); y=sin(t); z=t;
>> subplot(2,2,1); plot3(x,y,z);
>> subplot(2,2,2); plot3(x,y,z); view(0,90);
>> subplot(2,2,3); plot3(x,y,z); view(0,0);
>> subplot(2,2,4); plot3(x,y,z); view(90,0);
![Page 119: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/119.jpg)
View (contd…)
![Page 120: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/120.jpg)
Mesh plots
>> x=linspace(-3,3,50);
>> [X,Y]= meshgrid(x,y);
>> Z=X.*Y.*(X.^2-Y.^2)./(X.^2+Y.^2);
>> mesh(X,Y,Z);
>> figure(2)
![Page 121: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/121.jpg)
Mesh plots(cont…)
![Page 122: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/122.jpg)
Surface plots
>> u = -5 : 0.2 : 5;
>> [X,Y] = meshgrid(u,u);
>> Z=cos(X).*cos(Y).*exp(-sqrt(X.^2+Y.^2)/4);
>> surf(X,Y,Z)
![Page 123: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/123.jpg)
Surface plots (contd…)
![Page 124: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/124.jpg)
Handle Graphics
![Page 125: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/125.jpg)
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
![Page 126: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/126.jpg)
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
![Page 127: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/127.jpg)
Getting object handles
� By creating handles explicitly at the object-
creation level commands
>> hfig=figure
>> haxes=axes(‘position’,[0.1 0.1 0.4 0.4])
>> t=linspace(0,pi,10);
>> hL = line(t,sin(t))
>> hx1 = xlabel(‘Angle’)
![Page 128: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/128.jpg)
� 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
Getting object handles
![Page 129: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/129.jpg)
� Example
>> figure
>> axes
>> line([1 2 3 4],[1 2 3 4])
>> hfig = gcf
>> haxes = gca
Click on the line in figure
>>hL=gco
Getting object handles
![Page 130: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/130.jpg)
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)
![Page 131: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/131.jpg)
Getting properties of objects
� Example
>> h1=plot([ 1 2 3 4]);returns a line
object
>> get(h1)
>> get(h1,’type’)
>> get(h1,’linestyle’)
![Page 132: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/132.jpg)
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)
![Page 133: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/133.jpg)
Setting properties of objects
� example
>> t=linspace(0,pi,50);
>> x=t.*sin(t);
>> hL=line(t,x);
![Page 134: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/134.jpg)
Setting properties of objects
>> set(hL,’linestyle’,’--’);
![Page 135: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/135.jpg)
Setting properties of objects
>> set(hL,’linewidth’,3,’marker’,’o’)
![Page 136: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/136.jpg)
Setting properties of objects
>> yvec = get(hL,’ydata’);
>> yvec(15:20) = 0;
>> yvec(40:45) = 0;
>> set(hL, ’ydata’, yvec)
![Page 137: Matlab solved problems](https://reader036.vdocuments.net/reader036/viewer/2022082201/5a6493607f8b9a57568b4c4b/html5/thumbnails/137.jpg)
Creating subplots using axes command
>> hfig=figure
>> ha1=axes(‘position’,[0.1 0.5 0.3 0.3])
>> line([1 2 3 4],[1 2 3 4])
>> ha2=axes(‘position’[0.5 0.5 0.3 0.3])
>> line([1 2 3 4],[ 1 10 100 1000])
>> ha3=axes(‘position’,[0.1 0.1 0.3 0.3])
>> line([1 2 3 4],[0.1 0.2 0.3 0.4])
>> ha4=axes(‘position’,[0.5 0.1 0.3 0.3])
>> line([1 2 3 4],[10 10 10 10])