INTRODUCTION
TO MATLAB PROGRAMMING
Lec 1.1: MATLAB Basics
Dr. Niket Kaisare
Department of Chemical Engineering
IITMadras
NPTEL Course: MATLAB Programming for Numerical Computations Week-1
About this Module
We will cover the following topics
MATLAB basics
Arrays: Unlocking potential of MATLAB
Loops and Execution Control
MATLAB files: Scripts and Functions
Program Output and Plotting
Starting and Exiting MATLAB
We will go over starting a MATLAB session, layout of MATLAB window,
MATLAB editor, etc.
Also see video Getting Started with MATLAB on MATLAB site
http://in.mathworks.com/videos/getting-started-with-matlab-68985.html
MATLAB Programming Example
Indian captain, Mahendra Singh Dhoni, hits a ball with initial velocity of 35
m/s and angle of 45. If the boundary is at a distance of 75 m, will he score
a six?
Setting up the problem:
!"#$ = 35; *+ = !"#$ cos //4 ; !+ = !"#$ sin //4
4 5 = *; 6 5 = !
* 5 = 8*; ! 5 = 9;
Result
MATLAB Code
%% Define Parameters and Initial Conditions
param.g = 9.81; % gravitational acceleration
param.kappa = 0.006; % air drag coefficient
u0 = 35*cos(pi/4);
v0 = 35*sin(pi/4);
%% Setting up and Solving the problem
X0 = [0; 0; % starting position is the origin
u0; v0]; % starting velocity is given
tSpan = [0 20]; % simulation time
[tOut, XOut] = ode45(@ballTrajectoryFun,tSpan,X0, [], param);
%% Displaying the results
figure(1);
plot(XOut(:,1),XOut(:,2),'bo');
xlabel('x (m)'); ylabel('y (m)');
%% Animating results
exitCode = ballAnimation(tOut,XOut);
MATLAB Code: Main Code Blocks
%% Define Parameters and Initial Conditions
Computation Input block
param.g = 9.81; % gravitational acceleration
param.kappa = 0.006; % air drag coefficient
u0 = 35*cos(pi/4);
v0 = 35*sin(pi/4);
%% Setting up and Solving the problem
X0 = [0; 0; % starting position is the origin
u0; v0]; % starting velocity is given
tSpan = [0 20]; % simulation time
[tOut, XOut] = ode45(@ballTrajectoryFun,tSpan,X0, [], param);
%% Displaying the results
Output block
figure(1);
plot(XOut(:,1),XOut(:,2),'bo');
xlabel('x (m)'); ylabel('y (m)');
%% Animating results
exitCode = ballAnimation(tOut,XOut);
MATLAB Code: Key Parts
%% Define Parameters and Initial Conditions
param.g = 9.81; Comment
u0 = 35*cos(pi/
Assignment
(Math) Expression
[tOut, XOut] = ode45(@bal
Calling a function
plot(XOu
Calling a function
MATLAB Code
%% Define Parameters and Initial Conditions
param.g = 9.81; % gravitational acceleration
param.kappa = 0.006; % air drag coefficient
u0 = 35*cos(pi/4);
v0 = 35*sin(pi/4);
%% Setting up and Solving the problem
X0 = [0; 0; % starting position is the origin
u0; v0]; % starting velocity is given
tSpan = [0 20]; % simulation time
[tOut, XOut] = ode45(@ballTrajectoryFun,tSpan,X0, [], param);
%% Displaying the results
figure(1);
plot(XOut(:,1),XOut(:,2),'bo');
xlabel('x (m)'); ylabel('y (m)');
%% Animating results
exitCode = ballAnimation(tOut,XOut);
Basic Data Types
Matlab easily works with arrays
Scalars, vectors and arrays
Assigning variables
Row vs. column vectors
Arrays / Matrices
Suppress echo
Variables are case-sensitive
Basic Mathematical Expressions
Scalar Operations Special Variables
Variable Meaning
+ - * / ^
pi Number /
log, exp eps Machine precision
i Imaginary unit
pow, sqrt inf Infinity
NaN Not a Number (e.g., 0/0)
sin, cos, tan
ans Last displayed result
asin, acos, atan end Last element of array
realmax Largest real number
rem, round, ceil, floor intmax Largest integer
End of Lecture 1-1