2010-10-04 851-0585-04L – Modeling and Simulating Social Systems with MATLAB Lecture 2 – Statistics and plotting © ETH Zürich | Giovanni Luca Ciampaglia,

Slides:



Advertisements
Similar presentations
Introduction to MATLAB The language of Technical Computing.
Advertisements

Introduction to Matlab
Empirical Model Building I: Objectives: By the end of this class you should be able to: find the equation of the “best fit” line for a linear model explain.
Introduction to Graphing Using MATLAB. Line Graphs  Useful for graphing functions  Useful for displaying data trends over time  Useful for showing.
Slide deck by Dr. Greg Reese Miami University MATLAB An Introduction With Applications, 5 th Edition Dr. Amos Gilat The Ohio State University Chapter 3.
Al-Amer An Introduction to MATLAB Lesson 2: M-files Dr. Samir Al-Amer Term 061.
Introduction to MATLAB
EGR106 Week 6 MATLAB FILES Two Dimensional Plots Multiple Plots
Vectors and Plotting Selim Aksoy Bilkent University Department of Computer Engineering
MATLAB TUTORIAL Dmitry Drutskoy Some material borrowed from the departmental MATLAB info session by Philippe Rigollet Kevin Wayne.
Dr. Jie Zou PHY Welcome to PHY 3320 Computational Methods in Physics and Engineering.
Matlab Basics IEF 217a: Lecture 2 Fall 2002 Sigmon and Davis, chapters 1-7.
MATLAB FOR PATTERN RECOGNITION By: Özge Öztimur. How Much Do We Know? Anybody who has never used MATLAB?
Matlab intro The Environment
MATLAB INTRO CONTROL LAB1  The Environment  The command prompt Getting Help : e.g help sin, lookfor cos Variables Vectors, Matrices, and Linear Algebra.
Introduction to MATLAB Session 1 Prepared By: Dina El Kholy Ahmed Dalal Statistics Course – Biomedical Department -year 3.
ELG 3120 Signal and System Analysis 1 Introduction to MATLAB TAs Wei Zhang Ozgur Ekici (Section A)(Section B) ELG 3120 Lab Tutorial 1.
Descriptive Statistics II: By the end of this class you should be able to: describe the meaning of and calculate the mean and standard deviation of a sample.
MATLAB An Introduction to MATLAB (Matrix Laboratory) 1.
COMP 116: Introduction to Scientific Programming Lecture 6: Scripts and publishing, Creating matrices.
Numerical Computation Lecture 2: Introduction to Matlab Programming United International College.
Matrix Computations ELEC 206 Computer Applications for Electrical Engineers Dr. Ron Hayne.
Vectors and Matrices In MATLAB a vector can be defined as row vector or as a column vector. A vector of length n can be visualized as matrix of size 1xn.
MAE 1202: AEROSPACE PRACTICUM An Introduction to MATLAB: Part 2 Mechanical and Aerospace Engineering Department Florida Institute of Technology Developed.
L – Modelling and Simulating Social Systems with MATLAB Lesson 2 – Statistics and plotting Anders Johansson and Wenjian Yu © ETH.
What does C store? >>A = [1 2 3] >>B = [1 1] >>[C,D]=meshgrid(A,B) c) a) d) b)
Recap Sum and Product Functions Matrix Size Function Variance and Standard Deviation Random Numbers Complex Numbers.
Scientific Computing Introduction to Matlab Programming.
Matlab Basics FIN250f: Lecture 3 Spring 2010 Grifths Web Notes.
Master in Optical Fiber Communications and Photonic Technologies Foundations of Digital Transmission - Fall quarter Introduction to Matlab.
Matlab Screen  Command Window  type commands  Current Directory  View folders and m-files  Workspace  View program variables  Double click on a.
A string is an array of characters Strings have many uses in MATLAB Display text output Specify formatting for plots Input arguments for some functions.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Introduction to MATLAB 7 for Engineers William J. Palm.
Matrix Computations ELEC 206 Computer Applications for Electrical Engineers Dr. Ron Hayne.
Lecture 26: Reusable Methods: Enviable Sloth. Creating Function M-files User defined functions are stored as M- files To use them, they must be in the.
Introduction to Matlab  Matlab is a software package for technical computation.  Matlab allows you to solve many numerical problems including - arrays.
Introduction To Matlab Class 4 Instructors: Hristiyan (Chris) Kourtev and Xiaotao Su, PhD Double click the matlab icon When prompted click “Skip”
INTRODUCTION TO MATLAB DAVID COOPER SUMMER Course Layout SundayMondayTuesdayWednesdayThursdayFridaySaturday 67 Intro 89 Scripts 1011 Work
Introduction to MATLAB Session 2 Simopekka Vänskä, THL Department of Mathematics and Statistics University of Helsinki 2010.
1 Lecture 5 Post-Graduate Students Advanced Programming (Introduction to MATLAB) Code: ENG 505 Dr. Basheer M. Nasef Computers & Systems Dept.
ECE 351 M ATLAB I NTRODUCTION ( BY T EACHING A SSISTANTS )
1 Lecture 3 Post-Graduate Students Advanced Programming (Introduction to MATLAB) Code: ENG 505 Dr. Basheer M. Nasef Computers & Systems Dept.
Lecture 24: Rough and Ready Analysis. MATLAB uses function names consistent with most major programming languages For example sqrt sin cos log.
NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS ( NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS (PRACTICAL PART) Lab 2 : potting to Matlab Networks.
Structured Computer Programming EE 201 Introduction to MATLAB 7 for Engineers بسم الله الرحمن الرحيم King Abdulaziz University College of Engineering Dept.
An Introduction to Programming in Matlab Emily Blumenthal
Outline What is MATLAB MATLAB desktop Variables, Vectors and Matrices Matrix operations Array operations Built-in functions: Scalar, Vector, Matrix Data.
How to use MATLAB (using M-files) Double click this icon To start Matlab 6.5.
Statistics made easy Basic principles. Statistics made easy Assume we are interested in getting some information about the average height of people in.
Some “What’s the output” questions to get the day started… >>A = [1 2 3; 3 5 6] This statement stores the matrix: 1. A= 2. A= 3. A= 4. A= Ask Garvin’s.
Modelling and Simulating Social Systems with MATLAB
L – Modeling and Simulating Social Systems with MATLAB
Computer Application in Engineering Design
Built-in MATLAB Functions Chapter 3
Modelling and Simulating Social Systems with MATLAB
L – Modeling and Simulating Social Systems with MATLAB
L – Modeling and Simulating Social Systems with MATLAB
MATLAB DENC 2533 ECADD LAB 9.
L – Modelling and Simulating Social Systems with MATLAB
MATLAB How to use (using M-files) Double click this icon
MATLAB How to use (using M-files) Double click this icon
MATLAB How to use (using M-files)
CS 175 Project in AI Discussion -- matlab
Stat 251 (2009, Summer) Lab 1 TA: Yu, Chi Wai.
Plotting Signals in MATLAB
Vectors and Matrices In MATLAB a vector can be defined as row vector or as a column vector. A vector of length n can be visualized as matrix of size 1xn.
Announcements P3 due today
How to Use MATLAB A Brief Introduction.
Introduction to Matlab
Data analysis with R and the tidyverse
Presentation transcript:

L – Modeling and Simulating Social Systems with MATLAB Lecture 2 – Statistics and plotting © ETH Zürich | Giovanni Luca Ciampaglia, Stefano Balietti and Karsten Donnay Chair of Sociology, in particular of Modeling and Simulation

G. L. Ciampaglia, S. Balietti & K. Donnay / 2 Lecture 2 - Contents  Repetition  Creating and accessing scalars, vectors, matrices  for loop  if case  Solutions for lesson 1 exercises  Statistics  Plotting  Exercises

G. L. Ciampaglia, S. Balietti & K. Donnay / 3 Contents of the course Introduction to MATLAB Introduction to social-science modeling and simulation Working on projects (seminar theses) Handing in seminar thesis and giving a presentation

G. L. Ciampaglia, S. Balietti & K. Donnay / 4 Repetition  Creating a scalar: >> a=10 a = 10

G. L. Ciampaglia, S. Balietti & K. Donnay / 5 Repetition  Creating a row vector: >> v=[ ] v =

G. L. Ciampaglia, S. Balietti & K. Donnay / 6 Repetition  Creating a row vector, 2 nd method: >> v=1:5 v =

G. L. Ciampaglia, S. Balietti & K. Donnay / 7 Repetition  Creating a row vector, 3 rd method: linspace(startVal, endVal, n) >> v=linspace(0.5, 1.5, 5) v =

G. L. Ciampaglia, S. Balietti & K. Donnay / 8 Repetition  Creating a column vector: >> v=[1; 2; 3; 4; 5] v =

G. L. Ciampaglia, S. Balietti & K. Donnay / 9 Repetition  Creating a column vector, 2 nd method: >> v=[ ]’ v =

G. L. Ciampaglia, S. Balietti & K. Donnay / 10 Repetition  Creating a matrix: >> A=[ ; ] A =

G. L. Ciampaglia, S. Balietti & K. Donnay / 11 Repetition  Creating a matrix, 2 nd method: >> A=[1:4; 5:8] A =

G. L. Ciampaglia, S. Balietti & K. Donnay / 12 Repetition  Accessing a scalar: >> a a = 10

G. L. Ciampaglia, S. Balietti & K. Donnay / 13 Repetition  Accessing an element in a vector: v(index) (index=1..n) >> v(2) ans = 2

G. L. Ciampaglia, S. Balietti & K. Donnay / 14 Repetition  Accessing an element in a matrix: A(rowIndex, columnIndex) >> A(2, 1) ans = 5

G. L. Ciampaglia, S. Balietti & K. Donnay / 15 Repetition - operators  Scalar operators: Basic: +, -, *, / Exponentialisation: ^ Square root: sqrt()

G. L. Ciampaglia, S. Balietti & K. Donnay / 16 Repetition - operators  Matrix operators: Basic: +, -, *  Element-wise operators: Multiplication:.* Division:./ Exponentialisation:.^  Solving Ax=b: x = A\b

G. L. Ciampaglia, S. Balietti & K. Donnay / 17 Repetition – for loop  Computation can be automized with for loops: >> y=0; for x=1:4 y = y + x^2 + x; end >> y y = 40

G. L. Ciampaglia, S. Balietti & K. Donnay / 18 Repetition – if case  Conditional computation can be made with if : >> val=-4; if (val>0 ) absVal = val; else absVal = -val; end

G. L. Ciampaglia, S. Balietti & K. Donnay / 19 Lesson 1: Exercise 1  Compute: a) b) c)

G. L. Ciampaglia, S. Balietti & K. Donnay / 20 Lesson 1: Exercise 1 – solution  Compute: a) >> (18+107)/(5*25) ans = 1

G. L. Ciampaglia, S. Balietti & K. Donnay / 21 Lesson 1: Exercise 1 – solution  Compute: b) >> s=sum(1:100) or >> s=sum(linspace(1,100)) or >> s=sum(linspace(1,100,100)) s = 5050 default value

G. L. Ciampaglia, S. Balietti & K. Donnay / 22 Lesson 1: Exercise 1 – solution  Compute: c) >> s=0; >> for i=5:10 >>s=s+i^2-i; >> end >> s s = 310

G. L. Ciampaglia, S. Balietti & K. Donnay / 23 Lesson 1: Exercise 2  Solve for x:

G. L. Ciampaglia, S. Balietti & K. Donnay / 24 Lesson 1: Exercise 2 – solution >> A=[ ; ; ; ]; >> b=[1; 2; 3; 4]; >> x=A\b x = >> A*x ans = Ax=b

G. L. Ciampaglia, S. Balietti & K. Donnay / 25 Lesson 1: Exercise 3  Fibonacci sequence: Write a function which compute the Fibonacci sequence until a given number n and return the result in a vector.  The Fibonacci sequence F(n) is given by :

G. L. Ciampaglia, S. Balietti & K. Donnay / 26 Lesson 1: Exercise 3 – solution fibonacci.m: function [v] = fibonacci(n) v(1) = 0; if ( n>=1 ) v(2) = 1; end for i=3:n+1 v(i) = v(i-1) + v(i-2); end >> fibonacci(7) ans =

G. L. Ciampaglia, S. Balietti & K. Donnay / 27 Statistics functions  Statistics in MATLAB can be performed with the following commands: Mean value: mean(x) Median value: median(x) Min/max values: min(x), max(x) Standard deviation: std(x) Variance: var(x) Covariance: cov(x) Correlation coefficient: corrcoef(x)

G. L. Ciampaglia, S. Balietti & K. Donnay / 28 Plotting functions  Plotting in MATLAB can be performed with the following commands: Plot vector x vs. vector y: Linear scale: plot(x, y) Double-logarithmic scale: loglog(x, y) Semi-logarithmic scale: semilogx(x, y) semilogy(x, y) Plot histogram of x: hist(x)

G. L. Ciampaglia, S. Balietti & K. Donnay / 29 Plotting tips  To make the plots look nicer, the following commands can be used: Set label on x axis: xlabel(‘text’) Set label on y axis: ylabel(‘text’) Set title: title(‘text’)

G. L. Ciampaglia, S. Balietti & K. Donnay / 30 Details of plot  An additional parameter can be provided to plot() to define how the curve will look like: plot(x, y, ‘key’) Where key is a string which can contain: Color codes: ‘r’, ‘g’, ‘b’, ‘k’, ‘y’, … Line codes: ‘-’, ‘--’, ‘.-’ (solid, dashed, etc.) Marker codes: ‘*’, ‘.’, ‘s’, ’x’ Examples: plot(x, y, ‘r--’) plot(x, y, ‘g*’) * * * *

G. L. Ciampaglia, S. Balietti & K. Donnay / 31  Two additional useful commands:  hold on|off  grid on|off >> x=[-5:0.1:5]; >> y1=exp(-x.^2); >> y2=2*exp(-x.^2); >> y3=exp(-(x.^2)/3); Plotting tips

G. L. Ciampaglia, S. Balietti & K. Donnay / 32 Plotting tips >> plot(x,y1); >> hold on >> plot(x,y2,’r’); >> plot(x,y3,’g’);

G. L. Ciampaglia, S. Balietti & K. Donnay / 33 Plotting tips >> plot(x,y1); >> hold on >> plot(x,y2,’r’); >> plot(x,y3,’g’); >> grid on

G. L. Ciampaglia, S. Balietti & K. Donnay / 34 Datasets  Two datasets for statistical plotting can be found on the course web page you will find the files: countries.m cities.m

G. L. Ciampaglia, S. Balietti & K. Donnay / 35 Datasets  Download the files countries.m and cities.m and save them in the working directory of MATLAB.

G. L. Ciampaglia, S. Balietti & K. Donnay / 36 Where can I get help? >>help functionname  >>doc functionname  >>helpwin  Click on “More Help” from contextual pane after opening first parenthesis, e.g.: plot(…  Click on the Fx symbol before command prompt.

G. L. Ciampaglia, S. Balietti & K. Donnay / 37 Datasets – countries  This dataset countries.m contains a matrix A with the following specification:  Rows: Different countries  Column 1: Population  Column 2: Annual growth (%)  Column 3: Percentage of youth  Column 4: Life expectancy (years)  Column 5: Mortality

G. L. Ciampaglia, S. Balietti & K. Donnay / 38 Datasets – countries  Most often, we want to access complete columns in the matrix. This can be done by A(:, index) For example if you are interested in the life- expectancy column, it is recommended to do: >> life = x(:,4); and then the vector life can be used to access the vector containing all life expectancies.

G. L. Ciampaglia, S. Balietti & K. Donnay / 39 Datasets – countries  The sort() function can be used to sort all items of a vector in inclining order. >> life = A(:, 4); >> plot(life)

G. L. Ciampaglia, S. Balietti & K. Donnay / 40 Datasets – countries  The sort() function can be used to sort all items of a vector in inclining order. >> life = A(:, 4); >> lifeS = sort(life); >> plot(lifeS)

G. L. Ciampaglia, S. Balietti & K. Donnay / 41 Datasets – countries  The histogram hist() is useful for getting the distribution of the values of a vector. >> life = A(:, 4); >> hist(life)

G. L. Ciampaglia, S. Balietti & K. Donnay / 42 Datasets – countries  Alternatively, a second parameter specifies the number of bars: >> life = A(:, 4); >> hist(life, 30)

G. L. Ciampaglia, S. Balietti & K. Donnay / 43 Exercise 1  Statistics: Generate a vector of N random numbers with randn(N,1) Calculate the mean and standard deviation. Do the mean and standard deviation converge to certain values, for an increasing N? Optional: Display the histogram and compare the output of the following two commands  hist(randn(N,1))  hist(rand(N,1))

G. L. Ciampaglia, S. Balietti & K. Donnay / 44 Exercise 2  Demographics: From the countries.m dataset, find out why there is such a large difference between the mean and the median population of all countries. Hint: Use hist(x, n) Also sort() can be useful.  Plus: play with subplot()

G. L. Ciampaglia, S. Balietti & K. Donnay / 45 Exercise 3  Demographics: From the countries.m dataset, see which columns have strongest correlation. Can you explain why these columns have stronger correlations? Hint: Use corrcoef() to find the correlation between columns.

G. L. Ciampaglia, S. Balietti & K. Donnay / 46 Exercise 4 – optional  Zipf’s law: Zipf’s law says that the rank, x, of cities (1: largest, 2: 2 nd largest, 3: 3 rd largest,...) and the size, y, of cities (population) has a power-law relation: y ~ x b  Test if Zipf’s law holds for the three cases in the cities.m file. Try to estimate b. Hint: Use log() and plot() (or loglog() )  Plus: play with cftool()