Vectors and Plotting Selim Aksoy Bilkent University Department of Computer Engineering

Slides:



Advertisements
Similar presentations
CSE 123 Plots in MATLAB. Easiest way to plot Syntax: ezplot(fun) ezplot(fun,[min,max]) ezplot(fun2) ezplot(fun2,[xmin,xmax,ymin,ymax]) ezplot(fun) plots.
Advertisements

Introduction to Engineering MATLAB – 11 Plotting - 4 Agenda Multiple curves Multiple plot.
Plotting Selim Aksoy Bilkent University Department of Computer Engineering
Introduction to Matlab
Lecture (4) Plotting & Programming (1) Eng. Osama Talaat 1.
Introduction to Graphing Using MATLAB. Line Graphs  Useful for graphing functions  Useful for displaying data trends over time  Useful for showing.
Matlab Graphics S. Awad, Ph.D. M. Corless, M.S.E.E. E.C.E. Department University of Michigan-Dearborn Introduction to Matlab: 2D Graphics.
Introduction to MATLAB for Biomedical Engineering BME 1008 Introduction to Biomedical Engineering FIU, Spring 2015 Lesson 2: Element-wise vs. matrix operations.
1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.
MATLAB’s extensive, device-independent plotting capabilities are one of its most powerful features. They make it very easy to plot any data at any time.
MA/CS375 Fall MA/CS 375 Fall 2002 Lecture 4.
MATLAB GRAPHICS 2-D.
Arrays Revisited Selim Aksoy Bilkent University Department of Computer Engineering
Introduction to MATLAB Northeastern University: College of Computer and Information Science Co-op Preparation University (CPU) 10/27/2003.
MATLAB - Lecture 22A Two Dimensional Plots / Chapter 5 Topics Covered:
MATLAB Review Selim Aksoy Bilkent University Department of Computer Engineering
Chapter 2 MATLAB Fundamentals.
MATLAB Week 3 17 November Outline Graphics – Basic plotting – Editing plots from GUI – Editing plots from m-file – Advanced plotting commands.
EGR106 Week 4 Two Dimensional Plots Multiple Plots Plot Formatting Homework.
Introduction to Matlab 332:202 Discrete Mathematics Spring 2007.
Lecture 9 Plotting in 2-D Plotting in 2-D, Plotting Multiple Curves, Plotting with Figures, Plot Settings, Scaling, Legends © 2007 Daniel Valentine. All.
EPSII 59:006 Spring Outline Managing Your Session File Usage  Saving Workspace  Loading Data Files  Creating M-files More on Matrices Review.
MATLAB Fundamentals.
1 Introduction to MATLAB MATLAB is all of the following: 1.Computational environment 2.Plotting software 3.Programming language Typical applications: 1.Calculations.
Chapter 5 Review: Plotting Introduction to MATLAB 7 Engineering 161.
MATLAB INTRO CONTROL LAB1  The Environment  The command prompt Getting Help : e.g help sin, lookfor cos Variables Vectors, Matrices, and Linear Algebra.
PLOTS AND FIGURES DAVID COOPER SUMMER Plots One of the primary uses for MATLAB is to be able to create publication quality figures from you data.
ENG College of Engineering Engineering Education Innovation Center 1 2D Plots 1 in MATLAB Topics Covered: 1.Plotting basic 2-D plots The plot()
The Hong Kong Polytechnic University Industrial Centre 1 MatLAB Lesson 3 : Graphics Edward Cheung Room W311g 2008m.
ELG 3120 Signal and System Analysis 1 Introduction to MATLAB TAs Wei Zhang Ozgur Ekici (Section A)(Section B) ELG 3120 Lab Tutorial 1.
How to Use MATLAB A Brief Introduction. 2 What can MATLAB do? Matrix Operations Symbolic Computations Simulations Programming 2D/3D Visualization.
EECE 360/460 Matlab Tutorial Jan Outline What is Matlab? What is Matlab? Matlab Interface Matlab Interface Basic Syntax Basic Syntax Plotting Graphs.
Lecture 2 - Matlab Introduction CVEN 302 June 5, 2002.
ENG 1181 College of Engineering Engineering Education Innovation Center MATLAB – 2D Plots 1 Go to the class drive: ---> MatLab - Graphing ---> Seed Files.
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.
Plot (x-values, y-values) >> x = linspace (-3, 3, 20); >> x = linspace (-3, 3, 20); >> y = 2*x – 1; >> y = 2*x – 1; >> plot (x, y) >> plot (x, y)
UW CSE 190p Section 7/26, Summer 2012 Dun-Yu Hsiao.
Recap Chapter 5 “Plotting” Two Dimensional Plots Simple x-y Plots Titles, Labels and Grids Multiple Plots.
EGR 106 Lecture 6 2-D Plotting Graphical presentation has become the standard method to show technical information. Engineers use plots to analyze, visualize,
1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.
Sept. 26, 2005 Lecture 6 - By Paul Lin 1 CPET 190 Lecture 6 Problem Solving with MATLAB
EGR 115 Introduction to Computing for Engineers 2D Plotting – Part I Wednesday 17 Sept 2014 EGR 115 Introduction to Computing for Engineers.
1 Lecture 5 Post-Graduate Students Advanced Programming (Introduction to MATLAB) Code: ENG 505 Dr. Basheer M. Nasef Computers & Systems Dept.
NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS ( NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS (PRACTICAL PART) Lab 2 : potting to Matlab Networks.
CS100A, Fall 1998, Lecture 191 CS100A, Fall 1998 Lecture 19, Thursday Nov 05 Matlab Concepts: Matlab arrays Matlab subscripting Matlab plotting.
CS100A, Fall 1998, Lecture 201 CS100A, Fall 1998 Lecture 20, Tuesday Nov 10 More Matlab Concepts: plotting (cont.) 2-D arrays Control structures: while,
Plotting. 2 Initializing Vectors colon operator x = 1:2:10 x = y = 0:0.1:0.5 y =
Outline What is MATLAB MATLAB desktop Variables, Vectors and Matrices Matrix operations Array operations Built-in functions: Scalar, Vector, Matrix Data.
EGR 106 – Week 5 – 2-D Plots Question : Why do engineers use plots? Answer : To analyze, visualize, and present data. Matlab has many useful plotting options.
How to use MATLAB (using M-files) Double click this icon To start Matlab 6.5.
Prof. N. P. Jadhav Presented by. Overview of MATLAB environment MATLAB is an interactive, matrix-based system for scientific and engineering numeric computation.
Plotting ELEC 206 Computer Applications for Electrical Engineers Dr. Ron Hayne.
Creating a Plot The plot function can take one or more inputs; e.g. plot (x, y) or plot (y) Note that in the two-argument version, the vectors x and.
Computer Application in Engineering Design
Course Information Do not rely on color to distinguish curves (due to black-white printout). Use different line styles to distinguish curves (solid, dashed,
Lecture 25: Exploring data
Matrices and Arrays.
主讲教师: 胡章芳 MATLAB及其工程应用 MATLAB and It’s Engineering Application 主讲教师: 胡章芳
Net 222: Communications and networks fundamentals (Practical Part)
Net 222: Communications and networks fundamentals (Practical Part)
Net 222: Communications and networks fundamentals (Practical Part)
MATLAB How to use (using M-files) Double click this icon
MATLAB How to use (using M-files) Double click this icon
Plotting Multiple Graphs In The Same Plot
MATLAB How to use (using M-files)
Introduction to MATLAB Plotting LAB 3
Plotting Signals in MATLAB
How to Use MATLAB A Brief Introduction.
Introduction to Matlab
Presentation transcript:

Vectors and Plotting Selim Aksoy Bilkent University Department of Computer Engineering

Spring 2004CS 1112 Initializing Vectors colon operator x = 1:2:10 x = y = 0:0.1:0.5 y = built-in functions zeros(), ones()

Spring 2004CS 1113 Initializing Vectors linspace(x1,x2) generates a row vector of 100 linearly equally spaced points between x1 and x2 linspace(x1,x2,N) generates N points between x1 and x2 x = linspace(10,20,5) x = logspace(x1,x2) can be used for logarithmically equally spaced points

Spring 2004CS 1114 Vector Input to Functions You can call built-in functions with array inputs The function is applied to all elements of the array The result is an array with the same size as the input array

Spring 2004CS 1115 Vector Input to Functions Examples: x = [ ]; abs(x) ans = sin( [ 0 pi/6 pi/4 pi/3 pi/2 ] ) ans = a = 1:5; log(a) ans =

Spring 2004CS 1116 Vector Operations Scalar-vector operations x = 1:5 x = y = 2 * x  scalar multiplication y = z = x + 10  scalar addition z =

Spring 2004CS 1117 Vector Operations Vector-vector operations (element-by-element operations) x = [ ]; y = [ ]; z = x + y z = z = x.* y z = z = x./ y z =

Spring 2004CS 1118 Vector Operations Vector-vector operations (element-by-element operations) z = x.^ y z = Use.*,./,.^ for element-by-element operations Vector dimensions must be the same

Spring 2004CS 1119 Loops vs. Vectorization Problem: Find the maximum value in a vector Soln. 1: Write a loop Soln. 2: Use the built-in function “max” Use built-in MATLAB functions as much as possible instead of reimplementing them

Spring 2004CS Loops vs. Vectorization %Compares execution times of loops and vectors % %by Selim Aksoy, 7/3/2004 %Create a vector of random values x = rand(1,10000); %Find the maximum value using a loop tic; %reset the time counter m = 0; for ii = 1:length(x), if ( x(ii) > m ), m = x(ii); end t1 = toc; %elapsed time since last call to tic %Find the maximum using the built-in function tic; %reset the time counter m = max(x); t2 = toc; %elapsed time since last call to tic %Display timing results fprintf( 'Timing for loop is %f\n', t1 ); fprintf( 'Timing for built-in function is %f\n', t2 );

Spring 2004CS Loops vs. Vectorization Problem: Compute 3x 2 +4x+5 for a given set of values Soln. 1: Write a loop Soln. 2: Use 3*x.^2 + 4*x + 5 Allocate all arrays used in a loop before executing the loop If it is possible to implement a calculation either with a loop or using vectors, always use vectors

Spring 2004CS Loops vs. Vectorization %Compares execution times of loops and vectors % %by Selim Aksoy, 7/3/2004 %Use a loop tic; %reset the time counter clear y; for x = 1:10000, y(x) = 3 * x^2 + 4 * x + 5; end t1 = toc; %elapsed time since last call to tic %Use a loop again but also initialize the result vector tic; %reset the time counter clear y; y = zeros(1,10000); for x = 1:10000, y(x) = 3 * x^2 + 4 * x + 5; end t2 = toc; %elapsed time since last call to tic %Use vector operations tic; %reset the time counter clear y; x = 1:10000; y = 3 * x.^2 + 4 * x + 5; t3 = toc; %elapsed time since last call to tic %Display timing results fprintf( 'Timing for uninizialed vector is %f\n', t1 ); fprintf( 'Timing for inizialed vector is %f\n', t2 ); fprintf( 'Timing for vectorization is %f\n', t3 );

Spring 2004CS Plotting x = linspace(0, 4*pi); y = sin(x); plot(x,y); title( 'sin(x) for [0,4\pi]' ); xlabel( 'x' ); ylabel( 'y' ); grid on; axis( [ 0 4*pi -1 1 ] );

Spring 2004CS Plotting: Multiple Graphs x = linspace(0, 4*pi); y1 = sin(x); y2 = sin(x).^ 2; y3 = y1 + y2; plot(x,y1,'b-'); hold on; plot(x,y2,'r--'); plot(x,y3,'g:'); hold off;

Spring 2004CS Plotting: Multiple Graphs x = linspace(0, 4*pi); y1 = sin(x); y2 = sin(x).^ 2; y3 = y1 + y2; plot(x,y1,x,y2,x,y3); legend( 'sin(x)',... 'sin(x)^2',... 'sin(x) + sin(x)^2' );

Spring 2004CS Plotting: Subplots x = -2:0.1:4; y = 3.5.^ (-0.5*x).*... cos(6*x); figure(1); subplot(2,1,1); plot(x,y,'r-o'); subplot(2,1,2); plot(x,y,'k--*'); print -f1 -dtiff myplot.tif

Spring 2004CS Plotting: Logarithmic Plots r = 16000; c = 1.0e-6; f = 1:2:1000; res = 1./ ( 1 + j*2*pi*f*r*c ); amp = abs(res); phase = angle(res); subplot(2,1,1); loglog(f,amp); title( 'Amplitude response' ); xlabel( 'Frequency (Hz)' ); ylabel( 'Output/Input ratio' ); grid on; subplot(2,1,2); semilogx(f,phase); title( 'Phase response' ); xlabel( 'Frequency (Hz)' ); ylabel( 'Output-Input phase (rad)' ); grid on;

Spring 2004CS Plotting Summary plot(x,y) linear plot of vector y vs. vector x title('text'), xlabel('text'), ylabel('text') labels the figure, x-axis and y-axis grid on/off adds/removes grid lines legend( 'string1', 'string2', 'string3',... ) adds a legend using the specified strings hold on/off allows/disallows adding subsequent graphs to the current graph

Spring 2004CS Plotting Summary axis( [ xmin xmax ymin ymax ] ) sets axes’ limits v = axis returns a row vector containing the scaling for the current plot axis equal sets the same scale for both axes axis square makes the current axis square in size

Spring 2004CS Plotting Summary line colorline markerline style bgrcmykbgrcmyk blue green red cyan magenta yellow black.ox+*sdv^<>ph.ox+*sdv^<>ph point circle x-mark plus star square diamond triangle (down) triangle (up) triangle (left) triangle (right) pentagram hexagram - : solid dotted dashdot dashed

Spring 2004CS Plotting Summary semilogy(x,y), semilogx(x,y), loglog(x,y) logarithmic plots of vector y vs. vector x figure(k) makes k the current figure subplot(m,n,p) breaks the figure window into an m-by-n matrix of small axes and selects the p th axes for the current plot clf clears current figure

Spring 2004CS Plotting Summary print –f -d saves the figure with the given handle in the format specified by the device -depsEncapsulated PostScript -depscEncapsulated Color PostScript -deps2Encapsulated Level 2 PostScript -depsc2Encapsulated Level 2 Color PostScript -djpeg JPEG image with quality level of nn -dtiffTIFF image -dpngPortable Network Graphics image

Spring 2004CS Plotting Examples Line plot x = -2:0.01:4; y = 3.5.^(-0.5*x).*cos(6*x); plot(x,y); line([0,0],[-3 3],'color','r'); Pie plot grades = [ ]; pie(grades);

Spring 2004CS Plotting Examples Vertical bar plot y = 1988:1994; s = [ ]; bar(y,s,'r'); Horizontal bar plot y = 1988:1994; s = [ ]; barh(y,s,'g');

Spring 2004CS Plotting Examples Stairs plot y = 1988:1994; s = [ ]; stairs(y,s); Stem plot y = 1988:1994; s = [ ]; stem(y,s);

Spring 2004CS Plotting Examples Histogram x = randn(1,100); hist(x,10); hist(x,20);

Spring 2004CS Plotting Examples Polar plot t = linspace(0,2*pi,200); r = 3 * cos(0.5*t).^2 + t; polar(t,r); Compass plot u = [ ]; v = [ ]; compass(u,v);

Spring 2004CS Plotting Examples Error bar plot x = 1:10; y = sin(x); e = std(y) * ones(size(x)); errorbar(x,y,e);