# CDA6530: Performance Models of Computers and Networks Chapter

CDA6530: Performance Models of Computers and Networks Chapter 4: Using Matlab for Performance Analysis and Simulation Objective Learn a useful tool for mathematical analysis and simulation Interpreted language, easy to learn Use it to facilitate our simulation projects A good tool to plot simulation/experiment results figures for academic papers

More powerful than excel Could directly create .eps for Latex 2 Introduction MatLab : Matrix Laboratory Numerical Computations with matrices Every number can be represented as matrix Why Matlab? User Friendly (GUI) Easy to work with Powerful tools for complex mathematics

Matlab has extensive demo and tutorials to learn by yourself Use help command 3 Matlab Software Access all UCF in-campus computers have student-version Matlab installed If you have no access to Matlab, you can use Octave, an open-source free software http://www.gnu.org/software/octave/

The programming should be almost identical 4 Matrices in Matlab To enter a matrix 2 5 3 6 4 1 >> A = [2 5 3; 6 4 1] >> B = [1:1.5:6; 2 3 4 5] >> for i=1:4 for j=1:3 C(i,j)=i*j;

end end >> D =[]; D=[D;5]; D=[D;6;7] >> E = zeros(4, 5) 5 Basic Mathematical Operations Remember that every variable can be a matrix! Addition: >> C = A + B Subtraction: >> D = A B Multiplication: >> E = A * B (Matrix multiplication) >> E = A .* B (Element wise multiplication, A and B same size) Division: Left Division and Right Division >> F = A . / B (Element wise division) >> F = A / B = A*inv(B) (A * inverse of B) >> F = A . \ B (Element wise division) >> F = A \ B=inv(A)*B (inverse of A * B) 6

Generating basic matrices Matrix with ZEROS: >> A = zeros(m, n) Matrix with ONES: >> B = ones(m, n) IDENTITY Matrix: >> I = eye(m, n) m Rows n Columns zeros, ones, eye Matlab functions 7 Obtain Information Size(A): return [m n] Length(A): length of a vector

B = A(2:4,3:5) Length(A) = max(size(A)) B is the subset of A from row 2 to row 4, column 3 to column 5 A(:, 2)=[] Delete second column 8 Basic Matrix Functions

Inv(A): inverse of A Rank(A): rank of matrix A A: transpose of A Det(A): determinant V= eig(A): eigenvalue vector of A [V,D] = eig(A) produces matrices of eigenvalues (D) and eigenvectors (V) of matrix A, so that A*V = V*D 9 Random Number Generators Rand(m,n): matrix with each entry ~ U(0,1) You can use this for the programming project 1

Randn(m,n): standard normal distribution You cannot use this in programming project 1 You must use the polar method I introduced! 10 Basic 2-D Figure Plot Plot(X, Y):

Plots vector Y versus vector X Hold: next plot action on the same figure Title(title text here) Xlabel(), ylabel() Axis([XMIN XMAX YMIN YMAX]) Legend() Grid Example demo 11 Elementary Math Function Abs(), sign()

Sign(A) = A./abs(A) Sin(), cos(), asin(), acos() Exp(), log(), log10() Ceil(), floor() Sqrt() Real(), imag() 12 Elementary Math Function Vector operation: Max(), min(): max/min element of a vector Mean(), median()

Std(), var(): standard deviation and variance Sum(), prod(): sum/product of elements Sort(): sort in ascending order 13 Save/Load Data Save fname Load fname Save all workspace data into fname.mat

Save fname x y z Save(fname): when fname is a variable Load fname x y No error in data You can run simulation intermittently Save/load data between runs 14 Input/Output for Text Files Input data file for further analysis in Matlab Run simulation using C Use Matlab for post-data processing

Matrix calculation, utilize Matlab math functions Simply use Matlab for figure ploting matlab is slow in doing many loops Excel has constraint on data vector length (<300?) Functions: [A,B]= Textread(fname, format)

Read formated data Use fprintf(), fscanf() similar to C Note that variables here can be vectors/matrices Show examples here of writing data to text file 15 Advanced Graph Subplot(m, n, p) breaks the Figure window into an m-by-n matrix of small axes, selects the p-th axes for the current plot, and returns the axis handle.

Semilogx(), semilogy(), loglog() 16 3-D plot x=[0:10]; y=[0:10]; z=x*y; mesh(x,y,z); figure; surf(x,y,z); 100 100 80 80 60 60

40 40 20 20 0 10 0 10 5 0 0 2 4 6

8 10 5 0 17 0 2 4 6 8 10 M-file

Script or function Scripts are m-files containing MATLAB statements Functions are like any other m-file, but they accept arguments It is always recommended to name function file the same as the function name function A = changeSign(B) % change sign for each element [m,n] = size(B); A = zeros(m,n); for i=1:m for j=1:n A(i,j)= -B(i,j); end end

return 18 Online Tutorials Matlab itself contains many tutorials Other online tutorials: http://www.math.siu.edu/matlab/tutorials.html http://www.cs.cmu.edu/~ggordon/780/lecture s/matlab_tutorial.pdf Google search matlab tutorial ppt to find a lot more 19 Example on Using Matlab for

Markov Chain Steady State Calculation 20 Discrete-time Markov Chain transition matrix: P = , [1 1 1 1]T = 1 (P I) = 0, But we cannot use it directly Replace first column in (P-I) with [1 1..1]T to be A, then we can solve the linear equation set by = [1 0 0 0] A-1 Another way: P*P*P*P 21

Tutorial on Matlab Simulink 22 Graphical programming language Powerful modeling tool Differential Equations Physiological systems

Control systems Transfer functions M-file can call a simulink model Drag and draw line to program Configure each object for parameters sim fname Use current workspace variables Simulation results can be saved to workspace variables Thus can be process after simulink 23 Example: Internet Worm Propagation

dI (t) = I (t) [N I (t)] dt N: vulnerable population : worm host average scan rate : scanning IP space size 24 Example 2: RC Circuit Transfer function: 25 Save result to workspace variables

the save format is "structure with time". Suppose the workspace variable is X_t. Then: X_t.time saves the simulation step times (vector) X_t.signals.values saves the simulation results (vector). plot(X_t.time, X_t.signals.values); Variable step simulation or fixed step simulation: "to workspace" use "-1" for sample time (inherited)

Then X_t.time has variable size "to workspace" use "1" for sample time Then each time tick has one result value 26

## Recently Viewed Presentations

• Deprivation of Liberty Safeguards - A time of change Sam Cox Knowledge Officer (Legal and Welfare Rights) * * * * * * * * * * Introduction What are DOLS? Is change needed - problems with the current system...
• ASU MAT 591: Opportunities In Industry! Subject: On-board Processing By Eric Smith Lockheed Martin- Management and Data Systems Presentation Overview Background Quick overview of SAR High level technical overview Architectural Model Hardware Software Issues Applications Related topics GFLOPS in Space!
• Raman Chagger. Principal Consultant, Fire Safety Group, BRE. Emergency Evacuation Seminar, 3rd April 2019. Introduction Losses from false fire alarms ~£1 billion/year in the UK . ... Active workshop on reducing false alarms Last modified by:
• Poverty and Pesticide Use Evidence from Vietnam Susmita Dasgupta Craig Meisner DECRG-IE, The World Bank Pesticide consumption (metric tons) Alarming Composition / Application of Pesticides In 2000, a nation-wide survey by PPD found: 2,500 kg of banned pesticides (Methamidophos, DDT...
• Mise en scene the "Auteur" theory Guidelines of "Cahiers du Cinéma" Mise en Scène Literally means "putting on stage." originally it was a theatre term but it was adapted to film during the French New wave. Simple it is the...
• Solanco Education Foundation. The Solanco Education Foundation is a non-profit 501 (c)(3) organization. Mission Statement: The mission of the Solanco Education Foundation is to inspire greater academic achievement in the Solanco School District by working with the community to generate...
• Spotted Elk aka. bigfoot. 1826-1890. Chief miniconjou. USA soldier. Woundedkneecreek
• Pros. Infertility- with cloning, infertile couples could have children.. Plastic, Reconstructive, and Cosmetic Surgery- With the new. technology, instead of using materials foreign to the body for such