SlideShare a Scribd company logo
1 of 109
Download to read offline
Mohamed Abd Elhay
Mohamed Abd Elahy
Embedded SW Engineer
Email/ mhmd.a.elhay@gmail.com
o MATLAB Application & usage
o MATLAB Environment
o MATLAB Variables
o MATLAB Operations.
o MATLAB Built-in Fun.
o MATLAB Scripts.
MATLAB stands for matrix laboratory.
o High-performance language for
technical computing.
o Integrates computation,
visualization, and programming in
an easy-to-use environment where
problems and solutions are
expressed in familiar mathematical
notation.
o Math and computation
o Algorithm development
o Data acquisition
o Modeling, simulation, and prototyping
o Data analysis, exploration, and visualization
o Scientific and engineering graphics
o Application development, including
graphical user interface building
The MATLAB Application:
The MATLAB system have five main parts:
1. Development Environment.
2. The MATLAB Mathematical Function Library.
3. The MATLAB Language.
4. Graphics.
5. The MATLAB Application Program Interface (API).
Code Generation
Blocksets
PC-based real-time
systems
StateflowStateflowStateflow
Toolboxes
DAQ cards
Instruments
Databases and files
Financial Datafeeds
Desktop Applications
Automated Reports
StatisticsStatistics Toolbox
o Contains about 250 functions and GUI’s for:
generating random numbers, probability
distributions, hypothesis Testing, statistical
plots and covers basic statistical functionality
Signal Processing Toolbox
o An environment for signal analysis
waveform generation, statistical signal
processing, and spectral analysis
o Useful for designing filters in conjunction with
the image
processing toolbox
Signal Processing
Neural Network Toolbox
o GUI for creating, training, and simulating
neural networks.
o It has support for the most commonly used
supervised
Optimization Toolbox
o Includes standard algorithms for optimization
o Including minimax, goal attainment, and semi-
infinite minimization problems
Neural Networks
Optimization
Curve Fitting Toolbox
o Allows you to develop custom linear and
nonlinear models in a graphical user interface.
o Calculates fits, residuals, confidence intervals,
first derivative and integral of the fit.
Another Tool boxes :
o Communications Toolbox
o Control System Toolbox
o Data Acquisition Toolbox
o Database Toolbox
o Image Processing Toolbox
o Filter Design Toolbox
o Financial Toolbox
o Fixed-Point Toolbox
o Fuzzy Logic Toolbox
11/14
o Simulink is a graphical, “drag and drop” environment for building
simple and complex signal and system dynamic simulations.
o It allows users to concentrate on the structure of the problem, rather
than having to worry (too much) about a programming language.
o The parameters of each signal and system block is configured by the
user (right click on block)
o Signals and systems are simulated over a particular time.
vs,vc
t
o .fig
MATLAB Figure
o .m
MATLAB function, script, or class
o .mat
MATLAB binary file for storing variables
o .mex
MATLAB executable (platform specific, e.g. ".mexmac" for the Mac, ".mexglx" for Linux)
Excel / COM
File I/O
C/C++
Java
Perl
ExcelCOM
o In the mid-1970s, Cleve Moler and several colleagues
developed 2 FORTRAN libraries
• LINPACK for solving linear equations
• EISPACK for solving eigenvalue problems.
o In the late 1970s, Moler, “chairman of the computer science at the
University of New Mexico”, wanted to teach students linear
algebra courses using the LINPACK and EISPACK software.
o He didn't want them to have to program in FORTRAN, because
this wasn't the purpose of the course.
o He wrote a program that provide simple interactive access to
LINPACK and EISPACK.
o Over the next years, when he visit another university, he leave a
copy of his MATLAB.
o In 1983, second generation of MATLAB was devoloped written
in C and integrated with graphics.
o The MathWorks, Inc. was founded in 1984 to market and
continue development of MATLAB.
Variable
browser
Command
window
Command history
MATLAB Disktop
Command window
• save filename % save data from workspace to a file
• load filename % loads data from file to a workspace
• who % list variables exist in the workspace
• whos % list variables in details
• clear % clear data stored in the workspace
• clc % clears the command window
• ctrl+c % To abort a command
• exit or quit % to quit MATLAB
Command window
• Through Command window:
o help command
Ex: >> help plot
o lookfor anystring
Ex: >> lookfor matrix
• Through Menus: (Using help window)
o doc command
Ex: >> doc plot
• To create a variable, simply assign a value to a name:
»var1=3.14
»myString=‘hello world’
• Variable name must start with letter.
• It is case sensitive (var1 is different from Var1).
• To Check the variable name validation ‚isvarname *name+‛
o isvarname X_001
o isvarname if
• To check the Max length supported by current MATLAB
version ‚namelengthmax‛
o MATLAB is a weakly typed language
No need to declear variables!
o MATLAB supports various types, the most often used are
»3.84
64-bit double (default)
»‘a’
16-bit char
o Most variables are vectors or matrices of doubles or chars
o Other types are also supported:
complex, symbolic, 16-bit and 8 bit integers.
• Variable can’t have the same name of keyword
oUse ‚iskeyword‛ to list all keywords
• Built-in variables. Don’t use these names!
o i and j can be used to indicate complex numbers
o Pi has the value 3.1415
o ans stores the last unassigned value (like on a calculator)
o Inf and –Inf are positive and negative infinity
o NaN represents ‘Not a Number’
Variables
• Warning:
MATLAB allows usage of the names of the built in function.
This is dangerous since we can overwrite the meaning of a
function.
• To check that we can use:
>> which sin ...
C:MATLABtoolboxmatlabelfun...
>> which ans < ans is a variable.
Variables
• A variable can be given a value explicitly
»a = 10
shows up in workspace!
• Or as a function of explicit values and existing variables
»c = 1.3*45-2*a
• To suppress output, end the line with a semicolon
»cooldude = 13/3;
1-Scaler:
• Like other programming languages, arrays are an important
part of MATLAB
• Two types of arrays:
1) Matrix of numbers (either double or complex)
2) Cell array of objects (more advanced data structure)
2-Array:
• comma or space separated values between brackets
»row = [1 2 5.4 -6.6]
»row = [1, 2, 5.4, -6.6];
• Command window:
• Workspace:
Row Vector:
• Semicolon separated values between brackets
»column = [4;2;7;4]
• Command window:
• Workspace:
Column vector:
• The difference between a row and a column vector can get by:
o Looking in the workspace
o Displaying the variable in the command window
o Using the size function
• To get a vector's length, use the length function
Vectors:
>> startP= 1;
>> endP= 10;
>> number_of_points= 100;
>> x= linspace (startP, endP, number_of_points)
>> step= 1;
>> x= startP : step : endP;
Vectors:
• Make matrices like vectors
• Element by element
» a= [1 2;3 4];
• By concatenating vectors or matrices (dimension matters)
Matrix:
• ones:
>> x = ones(1,7) % All elements are ones
• zeros:
>> x = zeros(1,7) % All elements are zeros
• eye:
>> Y = eye(3) % Create identity matrix 3X3
• diag:
>> x = diag([1 2 3 4],-1) % diagonal matrix with main
diagonal shift(-1)
• magic:
>> Y = magic(3) %magic square matrix 3X3
• rand:
>> z = rand(1,4) % generate random numbers
from the period [0,1] in a vector 1x4
• randint:
>> x = randint(2,3, [5,7]) % generate random integer
numbers from (5-7) in a matrix 2x3
• Arithmetic Operators: + - * /  ^ ‘
• Relational Operators: < > <= >= == ~=
• Logical Operators: Element wise & | ~
• Logical Operators: Short-circuit && ||
• Colon: (:)
Operation Orders:
Precedence Operation
1 Parentheses, innermost 1st.
2 Exponential, left to right
3 Multiplication and division, left to right
4 Addition and subtraction, left to right
• Addition and subtraction are element-wise ‛ sizes must match‛:
• All the functions that work on scalars also work on vectors
»t = [1 2 3];
»f = exp(t);
is the same as
»f = [exp(1) exp(2) exp(3)];
• Operators (* / ^) have two modes of operation:
1-element-wise :
• Use the dot: .(.*, ./, .^). ‚BOTH dimensions must match.‛
»a=[1 2 3]; b=[4;2;1];
»a.*b, a./b, a.^b all errors
»a.*b', a./b’, a.^(b’) all valid
• Operators (* / ^) have two modes of operation:
2-standard:
• Standard multiplication (*) is either a dot-product or an outer-
product
• Standard exponentiation (^) can only be done on square
matrices or scalars
• Left and right division (/ ) is same as multiplying by inverse
o min(x); max(x) % minimum; maximum elements
o sum(x); prod(x) % summation ; multiplication of all elements
o length(x); % return the length of the vector
o size(x) % return no. of row and no. of columns
o anyVector(end) % return the last element in the vector
o find(x==value) % get the indices
o [v,e]=eig(x) % eign vectors and eign values
Exercise:
>>x = [ 16 3 2 13 ; 5 10 11 8 ; 9 6 7 12 ; 4 15 14 1 ]
o fliplr(x) % flip the vector left-right
o Z=X*Y % vectorial multiplication
o y= sin(x).*exp(-0.3*x) % element by element multiplication
o mean %Average or mean value of every column.
o transpose(A) or A’ % matrix Transpose
o sum((sum(A))')
o diag(A) % diagonal of matrix
Exercise:
>>x = [ 16 3 2 13 ; 5 10 11 8 ; 9 6 7 12 ; 4 15 14 1 ]
»sqrt(2)
»log(2), log10(0.23)
»cos(1.2), atan(-.8)
»exp(2+4*i)
»round(1.4), floor(3.3), ceil(4.23)
»angle(i); abs(1+i);
Exercise:
USE The
MATLAB
help
• MATLAB indexing starts with 1, not 0
• a(n) returns the nth element
• The index argument can be a vector.
In this case, each element is looked up individually, and
returned as a vector of the same size as the index vector.
Indexing:
• Matrices can be indexed in two ways
using subscripts(row and column)
using linear indices(as if matrix is a vector)
Matrix indexing: subscripts or linearindices
• Picking submatrices:
Indexing:
• To select rows or columns of a matrix:
Indexing:
• To get the minimum value and its index:
»[minVal , minInd] = min(vec);
maxworks the same way
• To find any the indices of specific values or ranges
»ind = find(vec == 9);
»[ind_R,ind_C] = find(vec == 9);
»ind = find(vec > 2 & vec < 6);
Indexing:
>> X =[ 16 3 2 13 ; 5 10 11 8 ; 9 6 7 12 ; 4 15 14 1 ]
>>X(:,2) = [] % delete the second column of X
X =
16 2 13
5 11 8
9 7 12
4 14 1
Deleting Rows & Columns:
• Scripts are
o collection of commands executed in sequence
o written in the MATLAB editor
o saved as MATLAB files (.m extension)
• To create an MATLAB file from command-line
»edit helloWorld.m.
• or click
• COMMENT!
o Anything following a % is seen as a comment
o The first contiguous comment becomes the script's help file
o Comment thoroughly to avoid wasting time later
• All variables created and modified in a script exist in the
workspace even after it has stopped running
• Generate random vector to represent the salaries of 10
employees that in range of 700-900 L.E. Then present some
statistic about these employees salaries :
o Max. Salary
o Empl. Max_ID
o Min. Salary
o Empl. Min_ID
• Generate random vector to represent the salaries of 10
employees that in range of 700-900 L.E.
clear;
clc;
close all;
Salaries =randint(1,10,[700,900]);
MaxSalary = max(Salaries); % Max. Salary
EmplMax_ID = find(Salaries==MaxSalary); %Empl. Max_ID
MinSalary = min(Salaries); %Min. Salary
EmplMin_ID = find(Salaries==MinSalary); %Empl. Min_ID
• Any variable defined as string is considered a vector of
characters, dealing with it as same as dealing with vectors.
>> str = ‘hello matlab’;
>> disp(str)
>> msgbox(str)
>> Num = input(‘Enter your number:’)
>> str = input(‘Enter your name:’,’s’)
-----------------------------------------------------------------------------
>> str = ‘7234’
>> Num = str2num(str)
>> number = 55
>> str = num2str(number)
x = linspace(0,2*pi,200);
y = sin(x);
plot(x, y);
0 1 2 3 4 5 6 7 8 9 10
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Plot in 2-D:
Plot in 2-D:
• label the axes and add a title:
xlabel('x = 0:2pi')
ylabel('Sine of x')
title('Plot of the Sine Function’,'FontSize',12)
Plot in 2-D:
• Multiple Data Sets in One Graph
x = 0:pi/100:2*pi;
y = sin(x);
y2 = sin(x-.25);
y3 = sin(x-.5);
plot(x,y,x,y2,x,y3)
• legend('sin(x)','sin(x-.25)','sin(x-.5)')
Plot in 2-D:
• Line color
plot(x,y,'color_style_marker')
o Color strings are 'c', 'm', 'y', 'r', 'g', 'b', 'w', 'k'.
o These correspond to cyan, magenta, yellow, red, green, blue,
white, and black.
• Line Style
plot(x,y,'color_style_marker')
• Line Marker
USE MATLAB HELP
Plot in 2-D:
Example:
x1 = 0:pi/100:2*pi;
x2 = 0:pi/10:2*pi;
plot(x1,sin(x1),'r:',x2,sin(x2),'r+')
Plot in 2-D:
• All Properties Of Plot Command :
plot(x,y,'--rs',<
'LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',10)
Plot in 2-D:
• Imaginary and Complex Data:
t = 0:pi/10:2*pi;
Z=exp(i*t);
plot(real(z),imag(z))
OR
plot(z)
Exercise:
Plot the vector y with respect the vector x in
the XY plan considering style:
o Dotted line
o diamond marker
o green color
o line width of 3
Plot in 2-D:
• Adding Plots to an Existing Graph:
x1 = 0:pi/100:2*pi;
x2 = 0:pi/10:2*pi;
plot(x1,sin(x1),'r:‘)
hold on
plot(x2,sin(x2),'r+')
hold off
Plot in 2-D:
• Figure Windows
o figure
o figure(n)
where n is the number in the figure title bar.
• Multiple Plots in One Figure:
x = linspace(0,2*pi,100);
y = sin(x);
y1 = cos(x);
subplot 211
plot(x, y);
subplot 212
plot(x, y1);
• area(x, y); %% think what
happened ??!!!
0 1 2 3 4 5 6 7
-1
-0.5
0
0.5
1
0 1 2 3 4 5 6 7
-1
-0.5
0
0.5
1
Plot on 3D:
t = 0:0.1:2*pi;
x = sin(t);
y = cos(t);
plot3(x,y,t)
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
-1
-0.5
0
0.5
1
0
1
2
3
4
5
6
7
Plot surface in the 3D :
x = linspace(1,10,20);
y = linspace(1,5,10);
[XX,YY] = meshgrid(x,y);
ZZ = sin(XX)./exp(YY);
mesh(ZZ)
0
2
4
6
8
10
12
14
16
18
20
0
2
4
6
8
10
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
Specialized Plotting Functions:
polar : to make polar plots
»polar(0:0.01:2*pi,cos((0:0.01:2*pi)*2))
•bar : to make bar graphs
»bar(1:10,rand(1,10));
•stairs : plot piecewise constant functions
»stairs(1:10,rand(1,10));
•fill : draws and fills a polygon with specified vertices
»fill([0 1 0.5],[0 0 1],'r');
Axes Control:
• For tow-dimensional graphs:
>>axis([xmin xmax ymin ymax])
• For three-dimensional graphs:
>>axis([xmin xmax ymin ymax zmin zmax])
• To reenable MATLAB automatic limit selection:
>>axis auto
• makes the x-axis and y-axis the same length:
>>axis square
Axes Control:
• Makes the axes visible (This is the default):
>>axis on
• Makes the axes invisible:
>>axis off
• Turns the grid lines on:
>>grid on
• Turns them back off again:
>>grid off
Exercise:
Plot the vector y with respect the vector x in
the XY plan considering style:
o Dotted line
o diamond marker
o green color
o line width of 3
Relational Operators:
•MATLAB uses mostlystandard relational operators
 equal ==
 notequal ~=
 greater than >
 less than <
 greater or equal >=
 less or equal <=
•Logical operatorselementwiseshort-circuit (scalars)
And &&
Or ||
Not~
Xor xor
•Boolean values: zero is false, nonzero is true
Relational Operators:
•MATLAB uses mostlystandard relational operators
 equal ==
 notequal ~=
 greater than >
 less than <
 greater or equal >=
 less or equal <=
•Logical operatorselementwiseshort-circuit (scalars)
And &&&
Or |||
Not~
Xor xor
•Boolean values: zero is false, nonzero is true
If / else / elseif :
• Basic flow-control, common to all languages
• MATLAB syntax is somewhat unique
• No need for parentheses : command blocks are between reserved
words
If / else / elseif :
a= input( ‘A‘ )
if rem(a,2) ==0
msgbox(‘a is even’);
end
If / else / elseif :
a= input( ‘A’ )
if rem(a,2) ==0
msgbox(‘a is even’);
else
msgbox(‘a is odd’);
end
If / else / elseif :
if y < 0
M = y + 3;
elseif y > 5
M = y – 3;
else
M = 0;
End
M
Switch case:
A='bye';
switch A
case 'hi'
msgbox('he says hi')
case 'bye'
msgbox('he says bye')
otherwise
msgbox('nothing')
end
Switch case:
• SWITCH expression must be a scalar or string constant.
• Unlike the C language switch statement, MATLAB switch does not
fall through.
If the first case statement is case statements do not execute.
• So, break statements are not required.
For Loop :
• For loops : use for a known number of iterations
• MATLAB syntax:
• The loop variable:
o Is defined as a vector
o Is a scalar within the command block
o Does not have to have consecutive values (but it's usually cleaner
if they're consecutive)
• The command block:
o Anything between the for line and the end
For Loop :
for n = 1:32
r(n) = n;
end
r
• Nested For Loop
for m = 1: 5
for n = 1: 7
A(m,n) = 1/(m+n-1);
end
end
While loop:
• The while is like a more general for loop:
• Don't need to know number of iterations
• The command block will execute while the conditional expression is
true
o Beware of infinite loops!
While loop:
x = 1;
while (x^2<10)
y=x^2;
plot(x,y,’or’); hold on
x = x+1;
end
Continue:
• The continue statement passes control to the next iteration of the loop
• Skipping any remaining statements in the body of the loop.
• In nested loops, continue passes control to the next iteration of the
loop enclosing it.
x=1;
for m=1:5
if (m==3)
continue;
end
x=m+x;
end
x
Continue:
• The continue statement passes control to the next iteration of the loop
• Skipping any remaining statements in the body of the loop.
• In nested loops, continue passes control to the next iteration of the
loop enclosing it.
• Example: x=1;
for m=1:5
if (m==3)
continue;
end
x=m+x;
end
x
Break:
• The break statement lets you exit early from a for loop or while loop.
• In nested loops, break exits from the innermost loop only.
• Example:
x=1;
for m=1:5
if (m==3)
break;
end
x=m+x;
end
x
Error Trapping:
A= input( ‘ Matrix = ‘ )
try
B = inv (A);
catch
msgbox(‘Matrix is not square’)
end
User-defined Functions:
Functions look exactly like scripts, but for ONE difference
Functions must have a function declaration.
No need for return :
MATLAB 'returns' the variables whose names match those in the
function declaration.
User-defined Functions:
User-defined Functions:
MATLAB provides three basic types of variables:
Local Variables:
Each MATLAB function has its own local variables.
Global Variables:
If several functions, and possibly the base workspace, all
declare a particular name as global, then they all share a
single copy of that variable.
Persistent Variables:
You can declare and use them within M-file functions only.
Only the function in which the variables are declared is
allowed access to it.
User-defined Functions:
%this fun. To sum 2 no’s.
function x=SUM2(a,b)
global z
x=a+b+z;
end
%this fun. To sum 2 no’s.
function x=SUM2(a,b)
x=a+b;
end
Matrix :
1-One dimension matrix
Only one row or one column (vector)
2-Two dimensions
Has rows and columns
3-three dimension matrix (multidimensional array)
Has rows, columns and pages.
Matrix :
Create the 3D matrix
>> M=ones(4,4,4)
Matrix :
Cell Array:
• Used to store different data type (classes) like vectors, matrices,
strings,<etc in single variable.
• Variables declaration:
>> X=3
>> Y=[1 2 3;4 5 6]
>> Z(2,5)=15
>> A(4,6)=[3 4 5] %…..(wrong)
• cell array:
>> C{1}=[2 3 5 10 20]
>> C{2}=‘hello’
>> C{3}=eye(3)
1 0 0
0 1 0
0 0 1
C
2 3 5 10 20 h e l l o
Cell Array:
Z{2,5} = linspace(0,1,10)
Z{1,3} = randint(5,5,[0 100])
Z{1,3}(4,2) =77
Note:
• The default for cell array elements is empty
• The default for matrix elements is zero
77
Z
Structure Array:
• Variables with named ‚data container‛ called fields.
• The field can contain any kind of data.
• Example:
>> Student.name=‘Ali’;
>> Student.age=20;
>> Student.grade=‘Excellent’;
Student
age
name grade
Structure Array:
>> manager = struct ('Name', 'Ahmed', 'ID', 10, 'Salary', 1000)
manager =
Name: 'Ahmed'
ID: 10
Salary: 1000
Structure Array:
>> manager(3)=struct ('Name', 'Ali','ID',20, 'Salary',2000)
manager =
1x3 struct array with fields:
Name
ID
Salary
Structure Array:
• The need of Structure Array
x.y.z = 3
x.y.w = [ 1 2 3]
x.p = ‘hello’
• Note: x can be array
Symbolic Variable:
• syms x t
• x = sin(t)*exp(-0.3*t);
• sym(2)/sym(5)
• ans =
• 2/5
• sym(2)/sym(5) + sym(1)/sym(3)
• ans =
• 11/15
findsym :
>> syms a b n t x z
>> f = x^n; g = sin(a*t + b);
>> findsym(f)
• ans =n, x
>> findsym(g)
• ans =a, b, t
subs :
>> f = 2*x^2 - 3*x + 1
>> subs(f,2)
ans =3
>> syms x y
>> f = x^2*y + 5*x*sqrt(y)
>> subs(f, x, 3)
ans = 9*y+15*y^(1/2)
>> subs(f, y, 3)
ans = 3*x^2+5*x*3^(1/2)
Symbolic Matrix:
>> syms a b c
>> A = [a b c; b c a; c a b]
A =[ a, b, c ]
[ b, c, a ]
[ c, a, b ]
>> sum(A(1,:))
ans = a+b+c
>> sum(A(1,:)) == sum(A(:,2)) % This is a logical test.
ans =1
Simple:
• Simplify the expression.
>> syms x
>> m = sin(x)/cos(x)
>> simple(m)
• Show expression in a user friendly format
>> m = sin(x)/cos(x)
>> pretty(m)
Pretty:
Symbolic Plots:
• ezplot(...)
• Symbolic expression plot in the 2D
>> y = sin(x)*exp(-0.3*x)
>> ezplot(y,0,10)
• ezmesh(..)
• Symbolic expression plot in the 3D
>> z = sin(a)*exp(-0.3*a)/(cos(b)+2)
>> ezmesh(z,[0 10 0 10])
Limit:
>> syms h n x
>> limit( (cos(x+h) - cos(x))/h,h,0 )
Differentiation diff :
• Numerical Difference or Symbolic Differentiation
>> z = [1, 3, 5, 7, 9, 11];
>> dz = diff(z)
>> Syms x t
>> x=t^4;
>> xd3 = diff(x,3)
Differentiation diff(…) :
>> syms s t
>> f = sin(s*t)
>> diff(f,t)
ans = cos(s*t)*s
>> diff(f,t,2)
ans =-sin(s*t)*s^2
>> diff(y)./diff(x)
Integration int(…)
• Symbolic integration
>> int(y)
• Integration from 0 to 1
>> int(x,0,1)
• Integration from 0 to 2
>> int(x,0,2)
solve equation solve(...):
>> syms x y real
>> eq1 = x+y-5
>> eq2 = x*y-6
>> [xa, ya] = solve(eq1, eq2)
OR
>> answer = solve(eq1, eq2)
answer.x
answer.y
>> syms x y real
>> s = solve('x+y=9','x*y=20')
Differential Equations dsolve(..):
• Symbolic solution of ordinary differential equations
>> syms x real
>> diff_eq_sol = dsolve('m*D2x+b*Dx+k*x=0','Dx(0)=-1','x(0)=2')
>> syms m b k real
>> subs(diff_eq_sol, [m,b,k], [2,5,100])
• www.mathworks.com/
• ITI MATLAB Course
• MIT : Introduction to MATLAB
MATLAB Programming

More Related Content

What's hot

An Introduction to MATLAB for beginners
An Introduction to MATLAB for beginnersAn Introduction to MATLAB for beginners
An Introduction to MATLAB for beginnersMurshida ck
 
Introduction to Matlab
Introduction to MatlabIntroduction to Matlab
Introduction to Matlabaman gupta
 
Basics of matlab
Basics of matlabBasics of matlab
Basics of matlabAnil Maurya
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlabTarun Gehlot
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlabBilawalBaloch1
 
Matlab-free course by Mohd Esa
Matlab-free course by Mohd EsaMatlab-free course by Mohd Esa
Matlab-free course by Mohd EsaMohd Esa
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlabMohan Raj
 
Introduction to matlab lecture 1 of 4
Introduction to matlab lecture 1 of 4Introduction to matlab lecture 1 of 4
Introduction to matlab lecture 1 of 4Randa Elanwar
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlabSantosh V
 
Matlab practical and lab session
Matlab practical and lab sessionMatlab practical and lab session
Matlab practical and lab sessionDr. Krishna Mohbey
 
Matlab Introduction
Matlab IntroductionMatlab Introduction
Matlab IntroductionDaniel Moore
 
Our presentation on algorithm design
Our presentation on algorithm designOur presentation on algorithm design
Our presentation on algorithm designNahid Hasan
 
Introduction to Matlab
Introduction to MatlabIntroduction to Matlab
Introduction to MatlabAmr Rashed
 

What's hot (20)

An Introduction to MATLAB for beginners
An Introduction to MATLAB for beginnersAn Introduction to MATLAB for beginners
An Introduction to MATLAB for beginners
 
Introduction to Matlab
Introduction to MatlabIntroduction to Matlab
Introduction to Matlab
 
Basics of matlab
Basics of matlabBasics of matlab
Basics of matlab
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlab
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlab
 
Matlab intro
Matlab introMatlab intro
Matlab intro
 
Matlab-free course by Mohd Esa
Matlab-free course by Mohd EsaMatlab-free course by Mohd Esa
Matlab-free course by Mohd Esa
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlab
 
Introduction to matlab lecture 1 of 4
Introduction to matlab lecture 1 of 4Introduction to matlab lecture 1 of 4
Introduction to matlab lecture 1 of 4
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlab
 
What is matlab
What is matlabWhat is matlab
What is matlab
 
MATLAB - Arrays and Matrices
MATLAB - Arrays and MatricesMATLAB - Arrays and Matrices
MATLAB - Arrays and Matrices
 
Matlab practical and lab session
Matlab practical and lab sessionMatlab practical and lab session
Matlab practical and lab session
 
Matlab basic and image
Matlab basic and imageMatlab basic and image
Matlab basic and image
 
Matlab Introduction
Matlab IntroductionMatlab Introduction
Matlab Introduction
 
Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLAB
 
Seminar on MATLAB
Seminar on MATLABSeminar on MATLAB
Seminar on MATLAB
 
Our presentation on algorithm design
Our presentation on algorithm designOur presentation on algorithm design
Our presentation on algorithm design
 
Introduction to Matlab
Introduction to MatlabIntroduction to Matlab
Introduction to Matlab
 
C language ppt
C language pptC language ppt
C language ppt
 

Viewers also liked

Matlab for diploma students(1)
Matlab for diploma students(1)Matlab for diploma students(1)
Matlab for diploma students(1)Retheesh Raj
 
Matlab Introduction
Matlab IntroductionMatlab Introduction
Matlab Introductionideas2ignite
 
Matlab: Programming Environment
Matlab: Programming EnvironmentMatlab: Programming Environment
Matlab: Programming Environmentmatlab Content
 
Matlab Programming Tips Part 1
Matlab Programming Tips Part 1Matlab Programming Tips Part 1
Matlab Programming Tips Part 1Shameer Ahmed Koya
 
Matlab Programming Assignment help , Matlab Programming Online tutors
Matlab Programming Assignment help , Matlab Programming Online tutorsMatlab Programming Assignment help , Matlab Programming Online tutors
Matlab Programming Assignment help , Matlab Programming Online tutorsjohn mayer
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練12015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1Duran Hsieh
 
Basics of programming in matlab
Basics of programming in matlabBasics of programming in matlab
Basics of programming in matlabAKANKSHA GUPTA
 
Matlab programming project
Matlab programming projectMatlab programming project
Matlab programming projectAssignmentpedia
 
ประวัติส่วนตัว
ประวัติส่วนตัวประวัติส่วนตัว
ประวัติส่วนตัวLynnie1177
 
Unlocking funding opportunities final
Unlocking funding opportunities finalUnlocking funding opportunities final
Unlocking funding opportunities finalsaqib_bsettlement
 
สังคม
สังคมสังคม
สังคมLynnie1177
 
Sp soft profile (15-may-2012)
Sp soft profile (15-may-2012)Sp soft profile (15-may-2012)
Sp soft profile (15-may-2012)SP SOFTWARE
 
อังกฤษ
อังกฤษอังกฤษ
อังกฤษLynnie1177
 
Fractales (1)
Fractales (1)Fractales (1)
Fractales (1)cheliitaa
 

Viewers also liked (20)

Matlab for diploma students(1)
Matlab for diploma students(1)Matlab for diploma students(1)
Matlab for diploma students(1)
 
Matlab ppt
Matlab pptMatlab ppt
Matlab ppt
 
Matlab Introduction
Matlab IntroductionMatlab Introduction
Matlab Introduction
 
Matlab: Programming Environment
Matlab: Programming EnvironmentMatlab: Programming Environment
Matlab: Programming Environment
 
Matlab Programming Tips Part 1
Matlab Programming Tips Part 1Matlab Programming Tips Part 1
Matlab Programming Tips Part 1
 
Matlab Programming Assignment help , Matlab Programming Online tutors
Matlab Programming Assignment help , Matlab Programming Online tutorsMatlab Programming Assignment help , Matlab Programming Online tutors
Matlab Programming Assignment help , Matlab Programming Online tutors
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練12015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1
 
Basics of programming in matlab
Basics of programming in matlabBasics of programming in matlab
Basics of programming in matlab
 
Matlab
MatlabMatlab
Matlab
 
Matlab programming project
Matlab programming projectMatlab programming project
Matlab programming project
 
Office 2010 migration
Office 2010 migrationOffice 2010 migration
Office 2010 migration
 
Montras com livros 2015
Montras com livros 2015Montras com livros 2015
Montras com livros 2015
 
Mô tả dự án
Mô tả dự ánMô tả dự án
Mô tả dự án
 
ประวัติส่วนตัว
ประวัติส่วนตัวประวัติส่วนตัว
ประวัติส่วนตัว
 
Unlocking funding opportunities final
Unlocking funding opportunities finalUnlocking funding opportunities final
Unlocking funding opportunities final
 
สังคม
สังคมสังคม
สังคม
 
Sp soft profile (15-may-2012)
Sp soft profile (15-may-2012)Sp soft profile (15-may-2012)
Sp soft profile (15-may-2012)
 
Mô tả dự án
Mô tả dự ánMô tả dự án
Mô tả dự án
 
อังกฤษ
อังกฤษอังกฤษ
อังกฤษ
 
Fractales (1)
Fractales (1)Fractales (1)
Fractales (1)
 

Similar to MATLAB Programming

Mat lab workshop
Mat lab workshopMat lab workshop
Mat lab workshopVinay Kumar
 
Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLABRavikiran A
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlabVidhyaSenthil
 
From zero to MATLAB hero: Mastering the basics and beyond
From zero to MATLAB hero: Mastering the basics and beyondFrom zero to MATLAB hero: Mastering the basics and beyond
From zero to MATLAB hero: Mastering the basics and beyondMahuaPal6
 
A complete introduction on matlab and matlab's projects
A complete introduction on matlab and matlab's projectsA complete introduction on matlab and matlab's projects
A complete introduction on matlab and matlab's projectsMukesh Kumar
 
MATLAB/SIMULINK for Engineering Applications day 2:Introduction to simulink
MATLAB/SIMULINK for Engineering Applications day 2:Introduction to simulinkMATLAB/SIMULINK for Engineering Applications day 2:Introduction to simulink
MATLAB/SIMULINK for Engineering Applications day 2:Introduction to simulinkreddyprasad reddyvari
 
Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013amanabr
 
Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013Kurmendra Singh
 
MATLAB for Technical Computing
MATLAB for Technical ComputingMATLAB for Technical Computing
MATLAB for Technical ComputingNaveed Rehman
 
Introduction to Matlab - Basic Functions
Introduction to Matlab - Basic FunctionsIntroduction to Matlab - Basic Functions
Introduction to Matlab - Basic Functionsjoellivz
 
Summer training matlab
Summer training matlab Summer training matlab
Summer training matlab Arshit Rai
 

Similar to MATLAB Programming (20)

Matlab workshop
Matlab workshopMatlab workshop
Matlab workshop
 
Mat lab workshop
Mat lab workshopMat lab workshop
Mat lab workshop
 
Introduction to Matlab.ppt
Introduction to Matlab.pptIntroduction to Matlab.ppt
Introduction to Matlab.ppt
 
Matlab lec1
Matlab lec1Matlab lec1
Matlab lec1
 
MatlabIntro (1).ppt
MatlabIntro (1).pptMatlabIntro (1).ppt
MatlabIntro (1).ppt
 
Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLAB
 
Matlab Tutorial.ppt
Matlab Tutorial.pptMatlab Tutorial.ppt
Matlab Tutorial.ppt
 
Introduction to matlab
Introduction to matlabIntroduction to matlab
Introduction to matlab
 
matlab_tutorial.ppt
matlab_tutorial.pptmatlab_tutorial.ppt
matlab_tutorial.ppt
 
matlab_tutorial.ppt
matlab_tutorial.pptmatlab_tutorial.ppt
matlab_tutorial.ppt
 
matlab_tutorial.ppt
matlab_tutorial.pptmatlab_tutorial.ppt
matlab_tutorial.ppt
 
Matlab1
Matlab1Matlab1
Matlab1
 
From zero to MATLAB hero: Mastering the basics and beyond
From zero to MATLAB hero: Mastering the basics and beyondFrom zero to MATLAB hero: Mastering the basics and beyond
From zero to MATLAB hero: Mastering the basics and beyond
 
A complete introduction on matlab and matlab's projects
A complete introduction on matlab and matlab's projectsA complete introduction on matlab and matlab's projects
A complete introduction on matlab and matlab's projects
 
MATLAB/SIMULINK for Engineering Applications day 2:Introduction to simulink
MATLAB/SIMULINK for Engineering Applications day 2:Introduction to simulinkMATLAB/SIMULINK for Engineering Applications day 2:Introduction to simulink
MATLAB/SIMULINK for Engineering Applications day 2:Introduction to simulink
 
Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013
 
Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013Dsp lab _eec-652__vi_sem_18012013
Dsp lab _eec-652__vi_sem_18012013
 
MATLAB for Technical Computing
MATLAB for Technical ComputingMATLAB for Technical Computing
MATLAB for Technical Computing
 
Introduction to Matlab - Basic Functions
Introduction to Matlab - Basic FunctionsIntroduction to Matlab - Basic Functions
Introduction to Matlab - Basic Functions
 
Summer training matlab
Summer training matlab Summer training matlab
Summer training matlab
 

More from محمدعبد الحى (15)

Iso26262 component reuse_webinar
Iso26262 component reuse_webinarIso26262 component reuse_webinar
Iso26262 component reuse_webinar
 
Interfacing using ِAtmega16/32
Interfacing using ِAtmega16/32 Interfacing using ِAtmega16/32
Interfacing using ِAtmega16/32
 
Can bus
Can busCan bus
Can bus
 
Lin bus
Lin busLin bus
Lin bus
 
Embedded Systems in Automotive
Embedded Systems in Automotive Embedded Systems in Automotive
Embedded Systems in Automotive
 
CPU Architecture
CPU ArchitectureCPU Architecture
CPU Architecture
 
8 bit microcontroller
8 bit microcontroller8 bit microcontroller
8 bit microcontroller
 
Timers
TimersTimers
Timers
 
Interrupts
InterruptsInterrupts
Interrupts
 
Uart
UartUart
Uart
 
Sw testing
Sw testingSw testing
Sw testing
 
Rtos
RtosRtos
Rtos
 
Dio
DioDio
Dio
 
Micro controller
Micro controllerMicro controller
Micro controller
 
Day1
Day1Day1
Day1
 

Recently uploaded

Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 

Recently uploaded (20)

Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 

MATLAB Programming

  • 2. Mohamed Abd Elahy Embedded SW Engineer Email/ mhmd.a.elhay@gmail.com
  • 3.
  • 4. o MATLAB Application & usage o MATLAB Environment o MATLAB Variables o MATLAB Operations. o MATLAB Built-in Fun. o MATLAB Scripts.
  • 5. MATLAB stands for matrix laboratory. o High-performance language for technical computing. o Integrates computation, visualization, and programming in an easy-to-use environment where problems and solutions are expressed in familiar mathematical notation.
  • 6. o Math and computation o Algorithm development o Data acquisition o Modeling, simulation, and prototyping o Data analysis, exploration, and visualization o Scientific and engineering graphics o Application development, including graphical user interface building The MATLAB Application:
  • 7. The MATLAB system have five main parts: 1. Development Environment. 2. The MATLAB Mathematical Function Library. 3. The MATLAB Language. 4. Graphics. 5. The MATLAB Application Program Interface (API). Code Generation Blocksets PC-based real-time systems StateflowStateflowStateflow Toolboxes DAQ cards Instruments Databases and files Financial Datafeeds Desktop Applications Automated Reports
  • 8. StatisticsStatistics Toolbox o Contains about 250 functions and GUI’s for: generating random numbers, probability distributions, hypothesis Testing, statistical plots and covers basic statistical functionality Signal Processing Toolbox o An environment for signal analysis waveform generation, statistical signal processing, and spectral analysis o Useful for designing filters in conjunction with the image processing toolbox Signal Processing
  • 9. Neural Network Toolbox o GUI for creating, training, and simulating neural networks. o It has support for the most commonly used supervised Optimization Toolbox o Includes standard algorithms for optimization o Including minimax, goal attainment, and semi- infinite minimization problems Neural Networks Optimization
  • 10. Curve Fitting Toolbox o Allows you to develop custom linear and nonlinear models in a graphical user interface. o Calculates fits, residuals, confidence intervals, first derivative and integral of the fit. Another Tool boxes : o Communications Toolbox o Control System Toolbox o Data Acquisition Toolbox o Database Toolbox o Image Processing Toolbox o Filter Design Toolbox o Financial Toolbox o Fixed-Point Toolbox o Fuzzy Logic Toolbox
  • 11. 11/14 o Simulink is a graphical, “drag and drop” environment for building simple and complex signal and system dynamic simulations. o It allows users to concentrate on the structure of the problem, rather than having to worry (too much) about a programming language. o The parameters of each signal and system block is configured by the user (right click on block) o Signals and systems are simulated over a particular time. vs,vc t
  • 12. o .fig MATLAB Figure o .m MATLAB function, script, or class o .mat MATLAB binary file for storing variables o .mex MATLAB executable (platform specific, e.g. ".mexmac" for the Mac, ".mexglx" for Linux)
  • 13. Excel / COM File I/O C/C++ Java Perl
  • 15. o In the mid-1970s, Cleve Moler and several colleagues developed 2 FORTRAN libraries • LINPACK for solving linear equations • EISPACK for solving eigenvalue problems. o In the late 1970s, Moler, “chairman of the computer science at the University of New Mexico”, wanted to teach students linear algebra courses using the LINPACK and EISPACK software. o He didn't want them to have to program in FORTRAN, because this wasn't the purpose of the course.
  • 16. o He wrote a program that provide simple interactive access to LINPACK and EISPACK. o Over the next years, when he visit another university, he leave a copy of his MATLAB. o In 1983, second generation of MATLAB was devoloped written in C and integrated with graphics. o The MathWorks, Inc. was founded in 1984 to market and continue development of MATLAB.
  • 18. Command window • save filename % save data from workspace to a file • load filename % loads data from file to a workspace • who % list variables exist in the workspace • whos % list variables in details • clear % clear data stored in the workspace • clc % clears the command window • ctrl+c % To abort a command • exit or quit % to quit MATLAB
  • 19. Command window • Through Command window: o help command Ex: >> help plot o lookfor anystring Ex: >> lookfor matrix • Through Menus: (Using help window) o doc command Ex: >> doc plot
  • 20. • To create a variable, simply assign a value to a name: »var1=3.14 »myString=‘hello world’ • Variable name must start with letter. • It is case sensitive (var1 is different from Var1). • To Check the variable name validation ‚isvarname *name+‛ o isvarname X_001 o isvarname if • To check the Max length supported by current MATLAB version ‚namelengthmax‛
  • 21. o MATLAB is a weakly typed language No need to declear variables! o MATLAB supports various types, the most often used are »3.84 64-bit double (default) »‘a’ 16-bit char o Most variables are vectors or matrices of doubles or chars o Other types are also supported: complex, symbolic, 16-bit and 8 bit integers.
  • 22. • Variable can’t have the same name of keyword oUse ‚iskeyword‛ to list all keywords • Built-in variables. Don’t use these names! o i and j can be used to indicate complex numbers o Pi has the value 3.1415 o ans stores the last unassigned value (like on a calculator) o Inf and –Inf are positive and negative infinity o NaN represents ‘Not a Number’ Variables
  • 23. • Warning: MATLAB allows usage of the names of the built in function. This is dangerous since we can overwrite the meaning of a function. • To check that we can use: >> which sin ... C:MATLABtoolboxmatlabelfun... >> which ans < ans is a variable. Variables
  • 24. • A variable can be given a value explicitly »a = 10 shows up in workspace! • Or as a function of explicit values and existing variables »c = 1.3*45-2*a • To suppress output, end the line with a semicolon »cooldude = 13/3; 1-Scaler:
  • 25. • Like other programming languages, arrays are an important part of MATLAB • Two types of arrays: 1) Matrix of numbers (either double or complex) 2) Cell array of objects (more advanced data structure) 2-Array:
  • 26. • comma or space separated values between brackets »row = [1 2 5.4 -6.6] »row = [1, 2, 5.4, -6.6]; • Command window: • Workspace: Row Vector:
  • 27. • Semicolon separated values between brackets »column = [4;2;7;4] • Command window: • Workspace: Column vector:
  • 28. • The difference between a row and a column vector can get by: o Looking in the workspace o Displaying the variable in the command window o Using the size function • To get a vector's length, use the length function Vectors:
  • 29. >> startP= 1; >> endP= 10; >> number_of_points= 100; >> x= linspace (startP, endP, number_of_points) >> step= 1; >> x= startP : step : endP; Vectors:
  • 30. • Make matrices like vectors • Element by element » a= [1 2;3 4]; • By concatenating vectors or matrices (dimension matters) Matrix:
  • 31. • ones: >> x = ones(1,7) % All elements are ones • zeros: >> x = zeros(1,7) % All elements are zeros • eye: >> Y = eye(3) % Create identity matrix 3X3 • diag: >> x = diag([1 2 3 4],-1) % diagonal matrix with main diagonal shift(-1)
  • 32. • magic: >> Y = magic(3) %magic square matrix 3X3 • rand: >> z = rand(1,4) % generate random numbers from the period [0,1] in a vector 1x4 • randint: >> x = randint(2,3, [5,7]) % generate random integer numbers from (5-7) in a matrix 2x3
  • 33. • Arithmetic Operators: + - * / ^ ‘ • Relational Operators: < > <= >= == ~= • Logical Operators: Element wise & | ~ • Logical Operators: Short-circuit && || • Colon: (:) Operation Orders: Precedence Operation 1 Parentheses, innermost 1st. 2 Exponential, left to right 3 Multiplication and division, left to right 4 Addition and subtraction, left to right
  • 34. • Addition and subtraction are element-wise ‛ sizes must match‛: • All the functions that work on scalars also work on vectors »t = [1 2 3]; »f = exp(t); is the same as »f = [exp(1) exp(2) exp(3)];
  • 35. • Operators (* / ^) have two modes of operation: 1-element-wise : • Use the dot: .(.*, ./, .^). ‚BOTH dimensions must match.‛ »a=[1 2 3]; b=[4;2;1]; »a.*b, a./b, a.^b all errors »a.*b', a./b’, a.^(b’) all valid
  • 36. • Operators (* / ^) have two modes of operation: 2-standard: • Standard multiplication (*) is either a dot-product or an outer- product • Standard exponentiation (^) can only be done on square matrices or scalars • Left and right division (/ ) is same as multiplying by inverse
  • 37. o min(x); max(x) % minimum; maximum elements o sum(x); prod(x) % summation ; multiplication of all elements o length(x); % return the length of the vector o size(x) % return no. of row and no. of columns o anyVector(end) % return the last element in the vector o find(x==value) % get the indices o [v,e]=eig(x) % eign vectors and eign values Exercise: >>x = [ 16 3 2 13 ; 5 10 11 8 ; 9 6 7 12 ; 4 15 14 1 ]
  • 38. o fliplr(x) % flip the vector left-right o Z=X*Y % vectorial multiplication o y= sin(x).*exp(-0.3*x) % element by element multiplication o mean %Average or mean value of every column. o transpose(A) or A’ % matrix Transpose o sum((sum(A))') o diag(A) % diagonal of matrix Exercise: >>x = [ 16 3 2 13 ; 5 10 11 8 ; 9 6 7 12 ; 4 15 14 1 ]
  • 39. »sqrt(2) »log(2), log10(0.23) »cos(1.2), atan(-.8) »exp(2+4*i) »round(1.4), floor(3.3), ceil(4.23) »angle(i); abs(1+i); Exercise: USE The MATLAB help
  • 40. • MATLAB indexing starts with 1, not 0 • a(n) returns the nth element • The index argument can be a vector. In this case, each element is looked up individually, and returned as a vector of the same size as the index vector. Indexing:
  • 41. • Matrices can be indexed in two ways using subscripts(row and column) using linear indices(as if matrix is a vector) Matrix indexing: subscripts or linearindices • Picking submatrices: Indexing:
  • 42. • To select rows or columns of a matrix: Indexing:
  • 43. • To get the minimum value and its index: »[minVal , minInd] = min(vec); maxworks the same way • To find any the indices of specific values or ranges »ind = find(vec == 9); »[ind_R,ind_C] = find(vec == 9); »ind = find(vec > 2 & vec < 6); Indexing:
  • 44. >> X =[ 16 3 2 13 ; 5 10 11 8 ; 9 6 7 12 ; 4 15 14 1 ] >>X(:,2) = [] % delete the second column of X X = 16 2 13 5 11 8 9 7 12 4 14 1 Deleting Rows & Columns:
  • 45. • Scripts are o collection of commands executed in sequence o written in the MATLAB editor o saved as MATLAB files (.m extension) • To create an MATLAB file from command-line »edit helloWorld.m. • or click
  • 46.
  • 47. • COMMENT! o Anything following a % is seen as a comment o The first contiguous comment becomes the script's help file o Comment thoroughly to avoid wasting time later • All variables created and modified in a script exist in the workspace even after it has stopped running
  • 48. • Generate random vector to represent the salaries of 10 employees that in range of 700-900 L.E. Then present some statistic about these employees salaries : o Max. Salary o Empl. Max_ID o Min. Salary o Empl. Min_ID
  • 49. • Generate random vector to represent the salaries of 10 employees that in range of 700-900 L.E. clear; clc; close all; Salaries =randint(1,10,[700,900]); MaxSalary = max(Salaries); % Max. Salary EmplMax_ID = find(Salaries==MaxSalary); %Empl. Max_ID MinSalary = min(Salaries); %Min. Salary EmplMin_ID = find(Salaries==MinSalary); %Empl. Min_ID
  • 50. • Any variable defined as string is considered a vector of characters, dealing with it as same as dealing with vectors. >> str = ‘hello matlab’; >> disp(str) >> msgbox(str) >> Num = input(‘Enter your number:’) >> str = input(‘Enter your name:’,’s’) ----------------------------------------------------------------------------- >> str = ‘7234’ >> Num = str2num(str) >> number = 55 >> str = num2str(number)
  • 51. x = linspace(0,2*pi,200); y = sin(x); plot(x, y); 0 1 2 3 4 5 6 7 8 9 10 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 Plot in 2-D:
  • 52. Plot in 2-D: • label the axes and add a title: xlabel('x = 0:2pi') ylabel('Sine of x') title('Plot of the Sine Function’,'FontSize',12)
  • 53. Plot in 2-D: • Multiple Data Sets in One Graph x = 0:pi/100:2*pi; y = sin(x); y2 = sin(x-.25); y3 = sin(x-.5); plot(x,y,x,y2,x,y3) • legend('sin(x)','sin(x-.25)','sin(x-.5)')
  • 54. Plot in 2-D: • Line color plot(x,y,'color_style_marker') o Color strings are 'c', 'm', 'y', 'r', 'g', 'b', 'w', 'k'. o These correspond to cyan, magenta, yellow, red, green, blue, white, and black. • Line Style plot(x,y,'color_style_marker') • Line Marker USE MATLAB HELP
  • 55. Plot in 2-D: Example: x1 = 0:pi/100:2*pi; x2 = 0:pi/10:2*pi; plot(x1,sin(x1),'r:',x2,sin(x2),'r+')
  • 56. Plot in 2-D: • All Properties Of Plot Command : plot(x,y,'--rs',< 'LineWidth',2,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',10)
  • 57. Plot in 2-D: • Imaginary and Complex Data: t = 0:pi/10:2*pi; Z=exp(i*t); plot(real(z),imag(z)) OR plot(z)
  • 58. Exercise: Plot the vector y with respect the vector x in the XY plan considering style: o Dotted line o diamond marker o green color o line width of 3
  • 59. Plot in 2-D: • Adding Plots to an Existing Graph: x1 = 0:pi/100:2*pi; x2 = 0:pi/10:2*pi; plot(x1,sin(x1),'r:‘) hold on plot(x2,sin(x2),'r+') hold off
  • 60. Plot in 2-D: • Figure Windows o figure o figure(n) where n is the number in the figure title bar. • Multiple Plots in One Figure: x = linspace(0,2*pi,100); y = sin(x); y1 = cos(x); subplot 211 plot(x, y); subplot 212 plot(x, y1); • area(x, y); %% think what happened ??!!! 0 1 2 3 4 5 6 7 -1 -0.5 0 0.5 1 0 1 2 3 4 5 6 7 -1 -0.5 0 0.5 1
  • 61. Plot on 3D: t = 0:0.1:2*pi; x = sin(t); y = cos(t); plot3(x,y,t) -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1 -0.5 0 0.5 1 0 1 2 3 4 5 6 7
  • 62. Plot surface in the 3D : x = linspace(1,10,20); y = linspace(1,5,10); [XX,YY] = meshgrid(x,y); ZZ = sin(XX)./exp(YY); mesh(ZZ) 0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4
  • 63. Specialized Plotting Functions: polar : to make polar plots »polar(0:0.01:2*pi,cos((0:0.01:2*pi)*2)) •bar : to make bar graphs »bar(1:10,rand(1,10)); •stairs : plot piecewise constant functions »stairs(1:10,rand(1,10)); •fill : draws and fills a polygon with specified vertices »fill([0 1 0.5],[0 0 1],'r');
  • 64. Axes Control: • For tow-dimensional graphs: >>axis([xmin xmax ymin ymax]) • For three-dimensional graphs: >>axis([xmin xmax ymin ymax zmin zmax]) • To reenable MATLAB automatic limit selection: >>axis auto • makes the x-axis and y-axis the same length: >>axis square
  • 65. Axes Control: • Makes the axes visible (This is the default): >>axis on • Makes the axes invisible: >>axis off • Turns the grid lines on: >>grid on • Turns them back off again: >>grid off
  • 66. Exercise: Plot the vector y with respect the vector x in the XY plan considering style: o Dotted line o diamond marker o green color o line width of 3
  • 67. Relational Operators: •MATLAB uses mostlystandard relational operators  equal ==  notequal ~=  greater than >  less than <  greater or equal >=  less or equal <= •Logical operatorselementwiseshort-circuit (scalars) And && Or || Not~ Xor xor •Boolean values: zero is false, nonzero is true
  • 68. Relational Operators: •MATLAB uses mostlystandard relational operators  equal ==  notequal ~=  greater than >  less than <  greater or equal >=  less or equal <= •Logical operatorselementwiseshort-circuit (scalars) And &&& Or ||| Not~ Xor xor •Boolean values: zero is false, nonzero is true
  • 69. If / else / elseif : • Basic flow-control, common to all languages • MATLAB syntax is somewhat unique • No need for parentheses : command blocks are between reserved words
  • 70. If / else / elseif : a= input( ‘A‘ ) if rem(a,2) ==0 msgbox(‘a is even’); end
  • 71. If / else / elseif : a= input( ‘A’ ) if rem(a,2) ==0 msgbox(‘a is even’); else msgbox(‘a is odd’); end
  • 72. If / else / elseif : if y < 0 M = y + 3; elseif y > 5 M = y – 3; else M = 0; End M
  • 73. Switch case: A='bye'; switch A case 'hi' msgbox('he says hi') case 'bye' msgbox('he says bye') otherwise msgbox('nothing') end
  • 74. Switch case: • SWITCH expression must be a scalar or string constant. • Unlike the C language switch statement, MATLAB switch does not fall through. If the first case statement is case statements do not execute. • So, break statements are not required.
  • 75. For Loop : • For loops : use for a known number of iterations • MATLAB syntax: • The loop variable: o Is defined as a vector o Is a scalar within the command block o Does not have to have consecutive values (but it's usually cleaner if they're consecutive) • The command block: o Anything between the for line and the end
  • 76. For Loop : for n = 1:32 r(n) = n; end r • Nested For Loop for m = 1: 5 for n = 1: 7 A(m,n) = 1/(m+n-1); end end
  • 77. While loop: • The while is like a more general for loop: • Don't need to know number of iterations • The command block will execute while the conditional expression is true o Beware of infinite loops!
  • 78. While loop: x = 1; while (x^2<10) y=x^2; plot(x,y,’or’); hold on x = x+1; end
  • 79. Continue: • The continue statement passes control to the next iteration of the loop • Skipping any remaining statements in the body of the loop. • In nested loops, continue passes control to the next iteration of the loop enclosing it. x=1; for m=1:5 if (m==3) continue; end x=m+x; end x
  • 80. Continue: • The continue statement passes control to the next iteration of the loop • Skipping any remaining statements in the body of the loop. • In nested loops, continue passes control to the next iteration of the loop enclosing it. • Example: x=1; for m=1:5 if (m==3) continue; end x=m+x; end x
  • 81. Break: • The break statement lets you exit early from a for loop or while loop. • In nested loops, break exits from the innermost loop only. • Example: x=1; for m=1:5 if (m==3) break; end x=m+x; end x
  • 82. Error Trapping: A= input( ‘ Matrix = ‘ ) try B = inv (A); catch msgbox(‘Matrix is not square’) end
  • 83. User-defined Functions: Functions look exactly like scripts, but for ONE difference Functions must have a function declaration. No need for return : MATLAB 'returns' the variables whose names match those in the function declaration.
  • 85. User-defined Functions: MATLAB provides three basic types of variables: Local Variables: Each MATLAB function has its own local variables. Global Variables: If several functions, and possibly the base workspace, all declare a particular name as global, then they all share a single copy of that variable. Persistent Variables: You can declare and use them within M-file functions only. Only the function in which the variables are declared is allowed access to it.
  • 86. User-defined Functions: %this fun. To sum 2 no’s. function x=SUM2(a,b) global z x=a+b+z; end %this fun. To sum 2 no’s. function x=SUM2(a,b) x=a+b; end
  • 87. Matrix : 1-One dimension matrix Only one row or one column (vector) 2-Two dimensions Has rows and columns 3-three dimension matrix (multidimensional array) Has rows, columns and pages.
  • 88. Matrix : Create the 3D matrix >> M=ones(4,4,4)
  • 90. Cell Array: • Used to store different data type (classes) like vectors, matrices, strings,<etc in single variable. • Variables declaration: >> X=3 >> Y=[1 2 3;4 5 6] >> Z(2,5)=15 >> A(4,6)=[3 4 5] %…..(wrong) • cell array: >> C{1}=[2 3 5 10 20] >> C{2}=‘hello’ >> C{3}=eye(3) 1 0 0 0 1 0 0 0 1 C 2 3 5 10 20 h e l l o
  • 91. Cell Array: Z{2,5} = linspace(0,1,10) Z{1,3} = randint(5,5,[0 100]) Z{1,3}(4,2) =77 Note: • The default for cell array elements is empty • The default for matrix elements is zero 77 Z
  • 92. Structure Array: • Variables with named ‚data container‛ called fields. • The field can contain any kind of data. • Example: >> Student.name=‘Ali’; >> Student.age=20; >> Student.grade=‘Excellent’; Student age name grade
  • 93. Structure Array: >> manager = struct ('Name', 'Ahmed', 'ID', 10, 'Salary', 1000) manager = Name: 'Ahmed' ID: 10 Salary: 1000
  • 94. Structure Array: >> manager(3)=struct ('Name', 'Ali','ID',20, 'Salary',2000) manager = 1x3 struct array with fields: Name ID Salary
  • 95. Structure Array: • The need of Structure Array x.y.z = 3 x.y.w = [ 1 2 3] x.p = ‘hello’ • Note: x can be array
  • 96. Symbolic Variable: • syms x t • x = sin(t)*exp(-0.3*t); • sym(2)/sym(5) • ans = • 2/5 • sym(2)/sym(5) + sym(1)/sym(3) • ans = • 11/15
  • 97. findsym : >> syms a b n t x z >> f = x^n; g = sin(a*t + b); >> findsym(f) • ans =n, x >> findsym(g) • ans =a, b, t
  • 98. subs : >> f = 2*x^2 - 3*x + 1 >> subs(f,2) ans =3 >> syms x y >> f = x^2*y + 5*x*sqrt(y) >> subs(f, x, 3) ans = 9*y+15*y^(1/2) >> subs(f, y, 3) ans = 3*x^2+5*x*3^(1/2)
  • 99. Symbolic Matrix: >> syms a b c >> A = [a b c; b c a; c a b] A =[ a, b, c ] [ b, c, a ] [ c, a, b ] >> sum(A(1,:)) ans = a+b+c >> sum(A(1,:)) == sum(A(:,2)) % This is a logical test. ans =1
  • 100. Simple: • Simplify the expression. >> syms x >> m = sin(x)/cos(x) >> simple(m) • Show expression in a user friendly format >> m = sin(x)/cos(x) >> pretty(m) Pretty:
  • 101. Symbolic Plots: • ezplot(...) • Symbolic expression plot in the 2D >> y = sin(x)*exp(-0.3*x) >> ezplot(y,0,10) • ezmesh(..) • Symbolic expression plot in the 3D >> z = sin(a)*exp(-0.3*a)/(cos(b)+2) >> ezmesh(z,[0 10 0 10])
  • 102. Limit: >> syms h n x >> limit( (cos(x+h) - cos(x))/h,h,0 )
  • 103. Differentiation diff : • Numerical Difference or Symbolic Differentiation >> z = [1, 3, 5, 7, 9, 11]; >> dz = diff(z) >> Syms x t >> x=t^4; >> xd3 = diff(x,3)
  • 104. Differentiation diff(…) : >> syms s t >> f = sin(s*t) >> diff(f,t) ans = cos(s*t)*s >> diff(f,t,2) ans =-sin(s*t)*s^2 >> diff(y)./diff(x)
  • 105. Integration int(…) • Symbolic integration >> int(y) • Integration from 0 to 1 >> int(x,0,1) • Integration from 0 to 2 >> int(x,0,2)
  • 106. solve equation solve(...): >> syms x y real >> eq1 = x+y-5 >> eq2 = x*y-6 >> [xa, ya] = solve(eq1, eq2) OR >> answer = solve(eq1, eq2) answer.x answer.y >> syms x y real >> s = solve('x+y=9','x*y=20')
  • 107. Differential Equations dsolve(..): • Symbolic solution of ordinary differential equations >> syms x real >> diff_eq_sol = dsolve('m*D2x+b*Dx+k*x=0','Dx(0)=-1','x(0)=2') >> syms m b k real >> subs(diff_eq_sol, [m,b,k], [2,5,100])
  • 108. • www.mathworks.com/ • ITI MATLAB Course • MIT : Introduction to MATLAB