getting started with matlab: slides
DESCRIPTION
These slides were made for introductory course on Getting Started with MATLAB. The course includes interactive computations, programming, graphics, simulink and GUI development. The course notes and slides may be downloaded from www.psiphi.in. See this website for updates and course schedule.TRANSCRIPT
![Page 1: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/1.jpg)
Getting Started with MATLAB
PsiPhiETC
www.psiphi.in
January 1, 2012
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 1 / 74
![Page 2: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/2.jpg)
Motivation
Why are you interested in MATLAB?
Driven byPresent AssignmentCuriosityUrge for Value Addition
Reason
Belief
Action Reward
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 2 / 74
![Page 3: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/3.jpg)
Motivation
What is MATLAB?
MATrix LABoratoryHigh-performance scientific computationMATLAB System Integrates
1 Computation2 Visualization3 Programming
in an easy-to-use environmentMATLAB System Consists of
1 Desktop Tools and Dev Environment2 Mathematical Functions Library3 Programming4 Graphics5 External Interface
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 3 / 74
![Page 4: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/4.jpg)
Motivation
Features of MATLAB!
Library of Mathematical FunctionsInteractive Computations throughCommand WindowProgramming for Complex ProblemsGraphics for Data Analysis andVisualizationGraphical User Interface (GUIDE)Specialized Toolboxes (Simulink)
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 4 / 74
![Page 5: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/5.jpg)
Motivation
Course Contents
# Topic Reference1 Introduction RP Ch1&22 Getting Started RP Ch23 Interactive Computation RP Ch34 Programming and Scripts RP Ch45 Programming and Functions RP Ch46 Graphics-1 RP Ch67 Graphics-2 Notes8 GUIDE & Simulink Notes
No Promise, only Opportunity! No Teaching, only Learning!
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 5 / 74
![Page 6: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/6.jpg)
Motivation
Installation
Available for all major computingplatforms (Windows, Unix, Mac)World Wide Web:http://www.mathworks.com
Student and Professional VersionsRead the installation instructionscarefullyCheck Installation
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 6 / 74
![Page 7: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/7.jpg)
Motivation
Desktop Tools & Development Environment
Menu [Desktop Tools (Layout), Help Browser], Editor, Current Directory [pwd,ls, window, M-Lint], Command Window [x=1, Workspace, x+1, ans], CommandHistory [Selection, Execution], Docking, Start, Ref:GSG-Ch7
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 7 / 74
![Page 8: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/8.jpg)
Motivation
Ways to Get Help!
Extensive and excellentdocumentationHelp Browser
DemosSearch
Commands:lookfor ’string’help topicwhich topic
edit, H1 Line, Help, Code
1 >> lookfor mean2 >> help mean3 >> which mean4 >> edit mean
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 8 / 74
![Page 9: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/9.jpg)
Motivation
Some General Commands
clc clears command windowclf clears figureclear: multiple variable, all variablescd change directorydir show directory contentspath [pwd, directories in path]copyfile copies filesmkdir make directorydate display datequit quit matlabdiary records the sessionsmart recall
1 >> diary2 >> pwd3 >> clc4 >> x=2;y=3;5 >> clear x6 >> clear all
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 9 / 74
![Page 10: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/10.jpg)
Motivation
Vectors and Scalars
Variable Namesrow vec ( [], col sep), col vec(row sep)’, . . . , ;a : ∆ : blinspace(a,b,n)+, -, cross, dot, .* , ./, .^sin, cos, log, sqrtformat
1 >> rv=[1,2,3]2 >> cv=[1;2;3]3 >> v1=1:1:34 >> v2=linspace(1,3,3)5 >> v3=v1'6 >> v4=v1+v27 >> v5=v1.*v28 >> v6=sqrt(v1)9 >> format long e
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 10 / 74
![Page 11: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/11.jpg)
Motivation
Simple Plots
plot (x,y)axis tight | equalxlabel (’string’)ylabel (’string’)title (’string’)grid on | off
1 x=linspace(0,2*pi,100);2 y=sin(x);3 plot(x,y);4 xlabel('x');5 ylabel('sin(x)');6 title('x vs sin(x)');7 axis tight;grid on;
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 11 / 74
![Page 12: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/12.jpg)
Motivation
MATLAB Editor
Menu BarTool BarEditing SpaceLine NumberCode AnalysisMessageDocument BarStatus BarExecution andDebugging
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 12 / 74
![Page 13: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/13.jpg)
Motivation
MATLAB Script
% for commentsH1 Line, HelpValid MATLABcommands andexpressionsComment %, KeywordsSavingExecution
1 % Script to find triangle area2 % The help for ScriptExample.m3
4 base=2; %triangle base5 height=1; %triangle height6 Area=(1/2)*base*height;
1 >> lookfor triangle2 >> help ScriptExample3 >> ScriptExample4 >> base5 >> height6 >> Area7 >> clear all
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 13 / 74
![Page 14: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/14.jpg)
Motivation
MATLAB Functions
function[argout]=FN(argin)H1 Line% for commentsSavingexist (FN)argin pass by valuevariable are local
1 function [A]=FunctionExample(b,h)2 % FunctionExample for triangle area3 % The help for FunctionExample.m4 % Syntax A=FunctionExample(b,h)5
6 A=(1/2)*b*h;
1 >> base=2;height=1;2 >> Area=FunctionExample(base,height);3 >> b4 >> h5 >> A6 >> Area
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 14 / 74
![Page 15: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/15.jpg)
Interactive Computations
Matrix Creation?
Enclosed within square bracket []Entered row wiseColumn Separator: space or ,Row Separator: ;. . . (ellipsis) is used for continuation
1 >> A=[1, 2, 3; 4, ...5, 6]
2 A =3 1 2 34 4 5 6
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 15 / 74
![Page 16: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/16.jpg)
Interactive Computations
Matrix Indexing
A(i,j)=aij
size(A)=[m,n]
A(m1 : m2,n1 : n2) =
am1n1 . . . am1n2...
......
am2n1 . . . am2n2
A(:,k:end)
1 >> A=[1,2,3;...2 4,5,6]3 >> size(A)4 >> A(2,3)5 >> A(1:2,2:3)6 >> A(2,2:end)7 >> A(:,2:end)
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 16 / 74
![Page 17: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/17.jpg)
Interactive Computations
Matrix Manipulation
Element: A(i,j)=aij
Row: A(m,:)=v1×n
Column: A(:,n)=vm×1
Submatrix: A(m1 : m2,n1 : n2) =B(m2−m1)×(n2−n1)
Appending: A=[A, vm×1], A=[A; v1×n]Deleting: A(m,:)=[], A(:,n)=[]eye(m,n), zeros(m,n), ones(m,n),magic(n)
1 >>A=[1,2,3;4,5,6];2 >>A(1,2)=9;3 >>A(2,:)=[9,9,9]4 >>A(:,3)=[9;9]5 >>A(1:2,2:3)=[9,9;9,9]6 >>A(3,:)=[9,9,9];7 >>A(:,4)=[9;9;9];8 >>A(3,:)=[]9 >>A(:,4)=[]
10 >>eye(3)11 >>zeros(3)12 >>ones(3)13 >>magic(3)
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 17 / 74
![Page 18: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/18.jpg)
Interactive Computations
Matrix Operations
Arithmetic: +, -, *, /, ^Relational: <, >, <=, >=, ==, ∼=
Logical Operations: &, |, NOT ∼Logical Functions: all, any, exists,isempty, isinf, isnan
1 >> A=eye(2,2)2 >> B=ones(2,2)3 >> C=A*B4 >> R1=A<B5 >> R2=A==B6 >> R3=A 6=B7 >> L1=A&B8 >> L2=A|B9 >> F1=all(A)
10 >> F2=any(A)11 >> F3=isempty(A)
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 18 / 74
![Page 19: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/19.jpg)
Interactive Computations
Elementary Maths Functions
Trigonometric: sin , asin, . . .Exponential: exp , log, . . .Algebraic: sqrt, nthroot, . . .Complex: abs, angle, conj, img, realRound-off: floor, ceil, fix, mod, remMatrix: expm, sqrtm
1 >> sin(pi/6)2 >> exp(1)3 >> sqrt(2)4 >> z=1+i5 >> abs(z)6 >> angle(z)7 >> floor(1.9)8 >> ceil(1.1)9 >> A=ones(2,2)
10 >> expm(A)
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 19 / 74
![Page 20: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/20.jpg)
Interactive Computations
Character Strings
Single Quote: ’string’Manipulating stringevalnum2str, str2numlower, upperstrcmp, strncmpstrcat, findstr
1 >> s='Hello World'2 >> s(2)='E'3 >> eval('x=2*3')4 >> y='2.3'5 >> zn=str2num(y)6 >> zs=num2str(x)7 >> s1=lower(s)8 >> s2=strcat(s,s1)9 >> strcmpi('Hello','hello')
10 >> findstr(s,'W')
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 20 / 74
![Page 21: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/21.jpg)
Interactive Computations
Saving and Loading Data
matlab.matsavesave (’fn’,’vn’)loadload datafile.txtd=load (’datafile.txt’)
1 >> x=linspace(0,2*pi,10)2 >> y=sin(x)3 >> save4 >> clear all5 >> load6 >> save('myfile','x')7 >> clear all8 >> load myfile9 >> load datafile.txt
10 >> d=load('datafile.txt')
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 21 / 74
![Page 22: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/22.jpg)
Programming in MATLAB
Script Files
.m file containing validcommandsName shall starts with a letterand can have letters, digitsand _Avoid clash with names ofbuilt-in function (exist(’fn’))Variable Name 6= File NameWorks on global workspacevariablesUse of clear all
1 % solvex.m (Ref: RP)2 % 5 x1+2r x2+r x3=23 % 3 x1+6 x2+(2r-1) x3=34 % 2 x1+(r-1) x2+3r x3=55 A=[5, 2*r,r;3, 6, 2*r-1; ...
2, r-1, 3*r];6 b=[2;3;5];7 x=A\b
1 r=1;2 solvex
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 22 / 74
![Page 23: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/23.jpg)
Programming in MATLAB
Function Files
function[argout] =FunctionName (argin)Local VariablesPass-by valueReadability: H1, helpModularity: subfunctionRobustness: nargin,error(‘message’)Expandability: varargin
1 function [det_A, x]=solvexf(r)2 % SOLVEXF solves eqn with par r3 % Function file solvexf.m4 % To call this function, type:5 % [det_A,x]=solvexf(r)6 % r is i/p and det_A & x are o/p7
8 A=[5, 2*r, r; 3,6, 2*r-1; 2, ...r-1, 3*r];
9 b=[2;3;5];10 det_A=det(A);11 x=A\b;
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 23 / 74
![Page 24: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/24.jpg)
Programming in MATLAB
Control Flow: if-elseif-else
1 if expression2 statements3 elseif expression4 statements5 else6 statements7 end
1 if I == J2 A(I,J) = 2;3 elseif abs(I-J) == 14 A(I,J) = -1;5 else6 A(I,J) = 0;7 end
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 24 / 74
![Page 25: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/25.jpg)
Programming in MATLAB
Control Flow: for loops
1 for variable = expression2 statement(s)3 end
1 sum=0;2 for i=1:1003 sum=sum+i;4 end
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 25 / 74
![Page 26: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/26.jpg)
Programming in MATLAB
Control Flow: while loops
1 while expression2 statements3 end
Example of while loop,
1 v=1; num=1; i=1;2 while (num≤4096)3 v=[v;num];4 i=i+1;5 num=2^i;6 end7 v
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 26 / 74
![Page 27: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/27.jpg)
Programming in MATLAB
Control Flow: switch-case-otherwise
1 switch flag2 case val1 block 1 computation3 case val2 block 2 computation4 otherwise last block computation5 end
1 color= input('color= ','s');2 switch color3 case 'red' c=[1, 0, 0];4 case 'green' c=[0, 1, 0];5 case 'blue' c=[0, 0, 1];6 otherwise error('invalid')7 end
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 27 / 74
![Page 28: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/28.jpg)
Programming in MATLAB
break, continue and return
break terminates for or while loopcontinue pass control to the nextiteration of for or while loopreturn return to invoking function
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 28 / 74
![Page 29: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/29.jpg)
Programming in MATLAB
Interactive Input: input, keyboard and pause
Age=input(‘Age plz?’)Name=input(‘Name plz?’, ’s’)script/function keyboard k �statements returnpause, pause(n)
1 Age=input('Age Plz?');2 Name=input('Name Plz?','s');3 keyboard;4 >> Age5 >> Name6 k>> Age=217 k>> Name='ABC'8 k>> return9 pause(10)
10 disp(Age)11 disp(Name)
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 29 / 74
![Page 30: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/30.jpg)
Programming in MATLAB
Input/Output
fid = fopen (fn, r|w|a)fclose (fid)fprintf (fid, format, x)x=fscanf (fid, format)sscanf, sprintffgets, fgetl
1 fid=fopen('a.txt','w');2 fprintf(fid,'pi=%10.8f \n',pi);3 s=sprintf('e=%10.8f\n',exp(1));4 fprintf(fid,s);5 fclose(fid);6 fid=fopen('a.txt','r');7 s1=fgets(fid);8 s2=fgetl(fid);9 PI=sscanf(s1,'pi=%f');
10 E=sscanf(s2,'e=%f');
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 30 / 74
![Page 31: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/31.jpg)
Creating Graphics Programmatically
Figure
h=figureh=gcffigure(h)Edit > Figure PropertiesProperty Editor > Figure
Name: ’string’Color: [r,g,b], (r ,g,b) ∈ [0,1]NumberTitle: {on}|off
More PropertiesMenubar: {figure}|nonePosition: [x,y,w,h]
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 31 / 74
![Page 32: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/32.jpg)
Creating Graphics Programmatically
Setting Figure Properties
h=figure or h=gcfget (h) -> ‘PropertyName’,PropertyValueget (h) -> ‘PropertyName’{PropertyValueActive} |PropertyValueOptionalset (h, ’PropertyName’,PropertyValue)
1 set (h,'Name','myName')2 set (h,'NumberTitle','off')3 set (h,'Menubar','none')4 set (h,'Color',[1,0,0])5 set (h, 'Position', ...
[500,200,400,300])
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 32 / 74
![Page 33: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/33.jpg)
Creating Graphics Programmatically
Axes
axesa=axes –> Handle aa=axes(’PropertyName’,PropertyValue)Important Properties:
ColorFontSize,FontWeight, . . .LineWidth, . . .XGrid, YGridXLim, YLimXTick, YTickXTickLabel,YTickLabel
1 a=axes;2 get(a);
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 33 / 74
![Page 34: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/34.jpg)
Creating Graphics Programmatically
Setting Axes Properties
p=axes()get (p)set (p)set (p,’PropertyName’,PropertyValue)
1 set (a, 'Color' , [1,1,0])2 set (a, 'LineWidth' , 3)3 set (a, 'XGrid' , 'on')4 set (a, 'YLim' , [-1, 1])5 set (a, 'XTick' , [0.2,0.6,0.9])6 set (a,'XTickLabel',{0.2,'six',0.9} )7 set (a, 'YTick' , [0.3,0.6,0.9])8 set (a,'YTickLabel',{'y1',0.6,'y_2'} )
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 34 / 74
![Page 35: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/35.jpg)
Creating Graphics Programmatically
Plot
plot (y)plot (x,y)plot (x,y,’LineSpecs’)
Color: r,g,b,. . .LineStyle: -, –, . . .MarkerStyle: *, + . . .
plot (x,y, ’LineSpecs’,’PropertyName’,PropertyValue)LineStyle, LineWidth, Marker,
MarkerSize
1 x=0:10;2 y=x.^2;3 plot(x,y,'r-*', ...
'Linewidth', 3,...'MarkerSize', 12)
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 35 / 74
![Page 36: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/36.jpg)
Creating Graphics Programmatically
Setting Plot Properties
p=plot (x,y)get (p)set (p)set (p, ’PropertyName’,PropertyValue)
1 x=0:10;y=x.^2;2 p=plot(x,y);3 set(p , 'Color' , [0,1,0]);4 set(p , 'LineWidth' , 3);5 set(p , 'LineStyle' , '-');6 set(p , 'Marker' , 'o');7 set(p , 'MarkerSize' , 12);
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 36 / 74
![Page 37: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/37.jpg)
Creating Graphics Programmatically
Overlay Plot
plot (x1,y1,x2,y2)plot ( x1,y1,’LS1’, x2,y2,’LS2’)plot (x1,y1,’LS’, ’PropName’,PropValue)hold onplot (x2,y2, ’LS’, ’PropName’,PropValue)hold off;line (x, y, ’PropName’,PropValue)
1 x1=-5:5; y1=x1.^2;2 x2=-5:5; y2=x2.^3;3 p1=plot(x1,y1,'r-*');4 set(p1,'Linewidth',3);5 hold on;6 p2=plot(x2,y2,'b:o');7 set(p2,'Linewidth',4);8 hold off; grid on;9 set(gca,'Linewidth',2);
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 37 / 74
![Page 38: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/38.jpg)
Creating Graphics Programmatically
Text on Plot
text(x,y,’string’)text(x,y,’string’,’PropertyName’,PropertyValue)t=text(x,y,’string’)get(t) , set (t)set (t,’PropertyName’,PropertyValue)gtext (’string’)gtext (’string’,’PropertyName’,PropertyValue)To Get Coordinate of a point:[x,y]=ginput (1)
1 x=0:10;y=x.^2;plot(x,y);2 t=text(1,20, 'P(1,20)');3 set(t,'FontSize',14);4 [x1,y1]=ginput(1);5 t1=text(x1,y1,'(x1,y1)')6 gtext('gtext','FontSize',14);
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 38 / 74
![Page 39: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/39.jpg)
Creating Graphics Programmatically
Axis
axis ([xmin, xmax, ymin, ymax])axis equalaxis squareaxis tightaxis normal
Semi Control of Axis:axis (xmin,inf,-inf,ymax)
1 x=linspace(0,2*pi,100);2 y=sin(x);3 plot(x,y);4 axis([0,2*pi,-1,1]);
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 39 / 74
![Page 40: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/40.jpg)
Creating Graphics Programmatically
Legend
legend (’string’)legend (’string1’,’string2’,. . . )legend (’string1’,’string2’,. . . ,’PropertyName’,PropertyValue)
1 x1=-5:5; y1=x1.^2;2 x2=-5:5; y2=x1.^3;3 p=plot(x1,y1,'r',x2,y2,'g');4 set(p,'Linewidth',4);5 l=legend('data x1-y1', ...
'data x2-y2');6 set(l,'Location','NorthWest');
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 40 / 74
![Page 41: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/41.jpg)
Creating Graphics Programmatically
Subplot
subplot (m,n,p)m: Number of rowsn: Number of columnsp: plot number
1 x1=-5:5; y1=x1.^2;2 x2=-5:5; y2=x2.^3;3 subplot (1,2,1);4 plot (x1,y1,'g','Linewidth',3);5 subplot (1,2,2);6 plot(x2,y2,'r','Linewidth',3);
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 41 / 74
![Page 42: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/42.jpg)
Creating Graphics Programmatically
Findobj
h=findobjh=findobj (’PropertyName’,’PropertyValue’)h=findobj (ObjectHandles,’PropertyName’,’PropertyValue’)
1 x1=-5:5; y1=x1.^2;2 x2=-5:5; y2=x2.^3;3 plot (x1,y1,'r',x2,y2,'g');4 h1=findobj('Color','r');5 set(h1,'Linewidth',3);6 h2=findobj('Color','g');7 set(h2,'Color','b','Linewidth',3);
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 42 / 74
![Page 43: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/43.jpg)
Creating Graphics Interactively
Graphics Objects Hierarchy
FigureAxesPlot ObjectsAnnotation Objects
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 43 / 74
![Page 44: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/44.jpg)
Creating Graphics Interactively
Plotting Process
Creating GraphExploring DataEditing Graph ComponentsAnnotation GraphsPrinting and Exporting GraphsAdding and Removing ContentsSaving Graph for Reuse
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 44 / 74
![Page 45: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/45.jpg)
Creating Graphics Interactively
Figure Tools
ZoomPanData CursorBasic FittingData Statistics
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 45 / 74
![Page 46: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/46.jpg)
Creating Graphics Interactively
Plotting Tools
plottoolsFigure PalettefigurepalettePlot BrowserplotbrowserProperty Editorpropertyeditor
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 46 / 74
![Page 47: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/47.jpg)
Creating Graphics Interactively
Figure Palette: New Subplots
subplot(m,n,p)
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 47 / 74
![Page 48: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/48.jpg)
Creating Graphics Interactively
Figure Palette: Variables and Plot Catalog
Figure PaletteWorkspace VariablesSelect VariableRight click for plot catalog
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 48 / 74
![Page 49: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/49.jpg)
Creating Graphics Interactively
Figure Palette: Annotations
LineArrowDouble ArrowText BoxArrow Box. . .
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 49 / 74
![Page 50: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/50.jpg)
Creating Graphics Interactively
Plot Browser
Displays all plot objectsSelect Plot ObjectChange ObjectPropertiesDeselect Plot ObjectAdd Data
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 50 / 74
![Page 51: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/51.jpg)
Creating Graphics Interactively
Property Editor
Enable Edit PlotSelect ObjectGo to Property EditorChanging PropertiesMore PropertiesContext Menu
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 51 / 74
![Page 52: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/52.jpg)
Creating Graphics Interactively
Printing
File > Print PreviewFigure Placement onPage, Paper Size andOrientation etcLine and TextPropertiesColor etc
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 52 / 74
![Page 53: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/53.jpg)
Creating Graphics Interactively
Exporting
File > Export SetupChange PropertiesExportsaveas
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 53 / 74
![Page 54: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/54.jpg)
Creating Graphics Interactively
Saving
File > Saveas.fig.m (function)saveas
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 54 / 74
![Page 55: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/55.jpg)
Publishing Report
Introduction
Formatted report in HTML, PDF, LATEX, MS Word or MS PowerPointSteps Involved
Create a script fileDivide script into ‘code cells’Insert Text Markup for formattingEdit Publish ConfigurationPublish
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 55 / 74
![Page 56: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/56.jpg)
Publishing Report
Code Cells
Open MATLAB editorEnable Cell modeWrite ScriptDivide Script into Cells by %%Color change and cellseparation lineCan evaluate individual cell
1 %% Create vectors2 theta=linspace(0,10*pi,200);3 r=exp(-theta/10);4 %% Plot using polar plot5 polar(theta,r);
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 56 / 74
![Page 57: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/57.jpg)
Publishing Report
Document Title and Introduction
Defined in first code cell, starting from1st line%% Document Title% Introduction% IntroductionMust put %% after introductionContents
1 %% This is the Title2 % Introductory text3 % Introductory text4 %%
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 57 / 74
![Page 58: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/58.jpg)
Publishing Report
Section and Section Titles
New cell in existing section%%New cell that starts newsection %% Section TitleNew section in existing cell%%% Section Title
1 %% New Section2 % introduction3 %%4 % Cell in Existing Section5 %%% New Section in ...
Existing Cell
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 58 / 74
![Page 59: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/59.jpg)
Publishing Report
Other Text Markup
*bold text *_ italic text_|monospace text|Bulleted List
* Item 1* Item 2
Numbered List# Item 1# Item 2
Hyperlinked Text < www.psiphi.in>
1 %% Other Text Markup2 % *bold text*3 % _italic text_4 % | monospace text |5 %6 % * Item 17 % * Item 28 %9 % # Item 1
10 % # Item 211 %12 % <www.psiphi.in>
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 59 / 74
![Page 60: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/60.jpg)
Publishing Report
Other Text Markup. . .
Including Image <<IMAGE.JPG>>LATEX Markup% <latex>% LATEX stuff% </latex>TEX Equations $$ eπi + 1 = 0 $$HTML Markup
1 %% More Text Markup2 % <IMAGE.JPG>3 % $$ e^{\pi i}+1=0 $$
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 60 / 74
![Page 61: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/61.jpg)
Publishing Report
Configuration
Output SettingsOutput File format : HTML, PDF,DOC, PPTOutput File Folder
Figure SettingImage FormatImage Size
Code SettingInclude CodeMax number of lines
publish for changing configurationfrom script
PDFHTMLDoc
FigureCode
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 61 / 74
![Page 62: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/62.jpg)
Publishing Report
Displaying Results
Command Window o/p:No ;disp display the resultsprintf is useful forformatted o/p
1 %% Displaying Output2 phi=1.618;3 PHI=(1+sqrt(5))/2;4 s=sprintf('phi=%5.3f, ...
PHI=%10.8f',phi,PHI);5 disp(s);6 disp(PHI);7 phi
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 62 / 74
![Page 63: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/63.jpg)
Publishing Report
Example File
1 %% Document Title2 % Introductory text3 %% Section4 % Section introduction5 %% Other Text Markup6 % *bold text* , _italic text_ , |monospace text|7 % <www.psiphi.in>8 %% More Text Markup9 % The TeX equations can be inserted like:
10 % $$\phi=\frac{1+\sqrt{5}}{2}$$11 %% Displaying Output12 phi=1.618; PHI=(1+sqrt(5))/2;13 s=sprintf('phi=%5.3f, PHI=%10.8f',phi,PHI);14 disp(s); disp(PHI); phi15 %% Plot16 theta=linspace(0,10*pi,200);17 r=exp(-theta/10); polar(theta,r);
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 63 / 74
![Page 64: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/64.jpg)
Building GUI
Building GUI
Graphical Display forPerforming Tasks InteractivelyEvents→ callback (function,string)Interactive GUI Construction(GUIDE)Programmatic GUIConstruction
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 64 / 74
![Page 65: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/65.jpg)
Building GUI
GUIDE
guideGetting HelpGUIDE Layout EditorFile > Preference > GUIDE >Show Names in Componentpalette > OKGUI Figure Size > Click andDrag CornerCreating Components
AxesPush ButtonStatic TextPop-up Menu
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 65 / 74
![Page 66: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/66.jpg)
Building GUI
Creating Simple GUI
simple_ guiAdding Components
AxesThree Push ButtonStatic TextPop-up Menu
Align Pushbuttons > Tools >Align Objects
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 66 / 74
![Page 67: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/67.jpg)
Building GUI
Creating Simple GUI. . .
Adding Text To ComponentsView > Property Inspector >Push Button: Select PushButton > String > Change itPopup Menu : Select PopupMenu > String >Components in differentlinesStatic Text: Select > String> Change it
Save SimpleGui
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 67 / 74
![Page 68: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/68.jpg)
Building GUI
Programming Simple GUI
Generating Data to PlotProgramming The PopupMenu: Context Menu, ViewCallbackProgramming The PushButton: Context Menu, ViewCallbackSave and Run GUI
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 68 / 74
![Page 69: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/69.jpg)
Simulink
Simulink
Dynamic SystemModeling : Comprehensive block library of sources,sink, linear and nonlinear components, connectorsetcSimulation : Wide choice of Integration MethodAnalysis: Linearization, MATLAB
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 69 / 74
![Page 70: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/70.jpg)
User Interface
User Interface
simulink orSimulink Library Browser
- Commonly Used Blocks- Continuous (Derivative,
Integrator, Transfer Function)- Math Operations (Gain, Sum)- Sources (sine wave, step)- Sinks (Scope, To Workspace)- Routing (Mux)
Simulink Model Window- Simulation (Start,
Configuration)- save, printPsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 70 / 74
![Page 71: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/71.jpg)
Example 1: Sine wave and its Integration
Example 1: Sine wave and its Integration
Display: sin(t) ,∫ t
t0sin τ dτ
Simulink >File > New > Model >SaveDrag from Library to Model Window
- Source > Sine Wave- Sink > Scope- Continuous > Integrator
- Signal Routing > Mux
Connect blocks- Select 1st > hold Ctrl > Select 2nd- Similar way for branching
Simulation: Configuration, StartScope: Zoom, Export Data
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 71 / 74
![Page 72: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/72.jpg)
Example: Spring Mass System (Direct Approach)
Example: Spring Mass System (Direct Approach)
x =1m
(f (t)− cx − kx)
Drag Components to model windowTo Rotate: Ctrl+R, To Flip: Ctrl+FGain Parameters by double clickMore input to Sum BlockConnect ComponentsSimout for variables to WorkspaceUnder damped, overdampedSee variables in workspacesim command
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 72 / 74
![Page 73: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/73.jpg)
Example: Spring Mass System (Transfer Function)
Example: Spring Mass System (Transfer Function)
x =1m
(f (t)− cx − kx)
Drag components to Model WindowConnect ThemDouble click transfer function block forparameter settingDouble click save output to file blockand set file path/nameRun simulationLoad mat file and plot data
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 73 / 74
![Page 74: Getting Started with MATLAB: Slides](https://reader031.vdocuments.us/reader031/viewer/2022013107/542d2d01219acd4d4b8b52a3/html5/thumbnails/74.jpg)
Example: Capacitor Charging
Example: Capacitor Charging
V (s) =1s
(1
RCU(s)− 1
RCV (s)
)
Drag components to Model WindowConnect ComponentsSet parameters for variouscomponentsPlay with Configuration (Solver etc.)SimulationSee results in scope
PsiPhiETC (www.psiphi.in) Getting Started with MATLAB January 1, 2012 74 / 74