Matlab Tutorial Handout #1

Total Page:16

File Type:pdf, Size:1020Kb

Matlab Tutorial Handout #1 Help and Online Documentation This document provides a basic introduction to matlab and the best way to make good use of it is to run its examples in your computer. After you grasp the basic facts about matlab you can use the help features and online documentation provided by the supplier of matlab: There are several different ways to access online information about matlab functions: Type the following and hit the return key • help to determine the syntax and behavior of a particular function. For example to see how to use the plot function, type help plot and matlab will give you the syntax of the command and it will describe how to plot graphs • helpwin to get a general help menu window about all the topics for which help is available. If you type helpwin plot then you will see a new window with the description of the plot function • lookfor keyword to get a listing in the command window for all commands whose descriptions include the keyword. Let us say you want to know what commands matlab has for writing data into disk. Then you may want to type lookfor write • helpdesk to display the Help Desk page in a web browser, providing direct access to a comprehensive library of online help, PDF-formatted documentation, trouble-shooting information and the MathWorks web site Entering Matrices One of the ways you can enter a matrix into matlab is to list its entries explicitly: • Start with [ , and stop with ] • To indicate the end of rows, either use a semicolon ; , or hit the enter key • Put commas , or blanks between elements of a row Now let's define some matrices: a = [1, 0, 2; 1, 1, 1; 2, 2, 0] A = [1 2 3 4 4 1 0 9 3 ] Also note that Matlab is case sensitive, so a and A are different objects. If you do not put a semicolon after a command then Matlab displays the output of that command. In the above examples we did not type ;, hence Matlab displays the matrix that is formed each time. If we type ;, say, after the definition of A, then Matlab stores A, but does not display it. The result of the last command that is executed is stored in the variable named ans. You can use ans as any other variable. Arithmetic with Matrices Multiplication: A * B a * 2 Addition and Subtraction: A + B A - B 2 + a (A + B) * (a - 4) Division: A * (B inverse) A / B Division: (A inverse) * B A \ B Inverse: inv (A) Power: B ^ 3 Complex Conjugate Transpose: (This is same as Transpose for real matrices) A' Some Special Matrices Identity Matrix: A = eye(5) creates A which is 5x5 identity matrix. Zero Matrix: B = zeros(4,2) creates B which is 4x2 zero matrix. Matrix of Ones: C = ones(3,3) creates C which is 3x3 matrix of ones. Row Vector Whose Components Increase Arithmetically: u = -2:10 creates a row vector (of dimension 1x13) whose first element is -2 , last element is 10 and all the elements in between increase one by one. Row Vector Whose Components Change by Non-unit Steps: v = 1:-.1:-1 creates a row vector (of dimension 1x21) whose first element is 1 , last element is -1 and all the elements in between decrease by one-tenth. Row Vector with Linearly Spaced Entries: w = linspace(0,pi,10) creates a row vector (of dimension 1x10) whose first element is 0 , last element is pi and all the elements in between are equally spaced and, there are 10 total entries. So if you use linspace(p,q,n), then matlab creates a vector of size n whose elements are equally spaced and whose first and last elements are p and q respectively. Row Vector with Logarithmitically Spaced Entries: h = logspace(1,100,11) Diagonal Matrix with a Given Vector on the Diagonal: D = diag(u) creates a diagonal matrix D (of dimension 13x13) with the vector u on the diagonal. Column Vector of the Diagonal Elements of a Given Matrix: diag(D) displays the diagonal of the matrix D placed in a column vector. Note that the vector is not stored anywhere other than ans. Uniformly Distributed Random Elements: E = rand(5,6) Normally Distributed Random Elements: F = randn(100,10) More on Matrices More on the use of Colon Operator: F(1:k,j) refers to the first k elements of the column j of F. sum(A(2,:)) calculates the sum of elements in the second row of A. sum(A(1,1:2)) calculates the sum of the first two elements in the first row of A. sum(A(:,end)) calculates the sum of the last column of A. Note that if : is used alone then it refers to the whole row (or column). Hence sum(A(:,:)) statement is equivalent to sum(A) statement. Note that sum(A) produces a row vector in which the sum of each column of A is stored. Graphics To plot y against x type plot(x,y) If you want to graph a function say sin(x), then you may type the following: x = 0:pi/100:2*pi; y = sin(x); plot(x,y) Changing Plot Fonts: plot(x,y,'c+:') plots a cyan dotted line with a plus at each data point; plot(x,y,'bd') plots blue diamond at each data point but does not draw any line. See help plot for more options. Axes and Titles: figure(n) creates a figure window number n title(‘your title here’) creates a title -- xlabel(‘your label here’) creates the X-axis label (same for ylabel(‘’) ) Multiple Plots: subplot create axes in tiled positions. subplot(m,n,p) breaks the Figure window into an m-by-n matrix of small axes, selects the p-th axes for for the current plot. For example subplot(2,1,1), plot(x,y) subplot(2,1,2), plot(x,y) Functions of two variables Here is how we graph the function z(x,y) = x exp( - x^2 - y^2): [x,y] = meshdom(-2:.2:2, -2:.2:2); z = x .* exp(-x.^2 - y.^2); mesh(z) The first command creates a matrix whose entries are the points of a grid in the square -2 <= x <= 2, -2 <= y <= 2. The small squares which make up the grid are 0.2 units wide and 0.2 unit tall. The second command creates a matrix whose entries are the values of the function z(x,y) at the grid points. The third command uses this information to construct the graph .
Recommended publications
  • Immanants of Totally Positive Matrices Are Nonnegative
    IMMANANTS OF TOTALLY POSITIVE MATRICES ARE NONNEGATIVE JOHN R. STEMBRIDGE Introduction Let Mn{k) denote the algebra of n x n matrices over some field k of characteristic zero. For each A>valued function / on the symmetric group Sn, we may define a corresponding matrix function on Mn(k) in which (fljji—• > X\w )&i (i)'"a ( )' (U weSn If/ is an irreducible character of Sn, these functions are known as immanants; if/ is an irreducible character of some subgroup G of Sn (extended trivially to all of Sn by defining /(vv) = 0 for w$G), these are known as generalized matrix functions. Note that the determinant and permanent are obtained by choosing / to be the sign character and trivial character of Sn, respectively. We should point out that it is more traditional to use /(vv) in (1) where we have used /(W1). This change can be undone by transposing the matrix. If/ happens to be a character, then /(w-1) = x(w), so the generalized matrix function we have indexed by / is the complex conjugate of the traditional one. Since the characters of Sn are real (and integral), it follows that there is no difference between our indexing of immanants and the traditional one. It is convenient to associate with each AeMn(k) the following element of the group algebra kSn: [A]:= £ flliW(1)...flBiW(B)-w~\ In terms of this notation, the matrix function defined by (1) can be described more simply as A\—+x\Ai\, provided that we extend / linearly to kSn. Note that if we had used w in place of vv"1 here and in (1), then the restriction of [•] to the group of permutation matrices would have been an anti-homomorphism, rather than a homomorphism.
    [Show full text]
  • Some Classes of Hadamard Matrices with Constant Diagonal
    BULL. AUSTRAL. MATH. SOC. O5BO5. 05B20 VOL. 7 (1972), 233-249. • Some classes of Hadamard matrices with constant diagonal Jennifer Wallis and Albert Leon Whiteman The concepts of circulant and backcircul-ant matrices are generalized to obtain incidence matrices of subsets of finite additive abelian groups. These results are then used to show the existence of skew-Hadamard matrices of order 8(1*f+l) when / is odd and 8/ + 1 is a prime power. This shows the existence of skew-Hadamard matrices of orders 296, 592, 118U, l6kO, 2280, 2368 which were previously unknown. A construction is given for regular symmetric Hadamard matrices with constant diagonal of order M2m+l) when a symmetric conference matrix of order km + 2 exists and there are Szekeres difference sets, X and J , of size m satisfying x € X =» -x £ X , y £ Y ~ -y d X . Suppose V is a finite abelian group with v elements, written in additive notation. A difference set D with parameters (v, k, X) is a subset of V with k elements and such that in the totality of all the possible differences of elements from D each non-zero element of V occurs X times. If V is the set of integers modulo V then D is called a cyclic difference set: these are extensively discussed in Baumert [/]. A circulant matrix B = [b. •) of order v satisfies b. = b . (j'-i+l reduced modulo v ), while B is back-circulant if its elements Received 3 May 1972. The authors wish to thank Dr VI.D. Wallis for helpful discussions and for pointing out the regularity in Theorem 16.
    [Show full text]
  • An Infinite Dimensional Birkhoff's Theorem and LOCC-Convertibility
    An infinite dimensional Birkhoff's Theorem and LOCC-convertibility Daiki Asakura Graduate School of Information Systems, The University of Electro-Communications, Tokyo, Japan August 29, 2016 Preliminary and Notation[1/13] Birkhoff's Theorem (: matrix analysis(math)) & in infinite dimensinaol Hilbert space LOCC-convertibility (: quantum information ) Notation H, K : separable Hilbert spaces. (Unless specified otherwise dim = 1) j i; jϕi 2 H ⊗ K : unit vectors. P1 P1 majorization: for σ = a jx ihx j, ρ = b jy ihy j 2 S(H), P Pn=1 n n n n=1 n n n ≺ () n # ≤ n # 8 2 N σ ρ i=1 ai i=1 bi ; n . def j i ! j i () 9 2 N [ f1g 9 H f gn 9 ϕ n , POVM on Mi i=1 and a set of LOCC def K f gn unitary on Ui i=1 s.t. Xn j ih j ⊗ j ih j ∗ ⊗ ∗ ϕ ϕ = (Mi Ui ) (Mi Ui ); in C1(H): i=1 H jj · jj "in C1(H)" means the convergence in Banach space (C1( ); 1) when n = 1. LOCC-convertibility[2/13] Theorem(Nielsen, 1999)[1][2, S12.5.1] : the case dim H, dim K < 1 j i ! jϕi () TrK j ih j ≺ TrK jϕihϕj LOCC Theorem(Owari et al, 2008)[3] : the case of dim H, dim K = 1 j i ! jϕi =) TrK j ih j ≺ TrK jϕihϕj LOCC TrK j ih j ≺ TrK jϕihϕj =) j i ! jϕi ϵ−LOCC where " ! " means "with (for any small) ϵ error by LOCC". ϵ−LOCC TrK j ih j ≺ TrK jϕihϕj ) j i ! jϕi in infinite dimensional space has LOCC been open.
    [Show full text]
  • Alternating Sign Matrices and Polynomiography
    Alternating Sign Matrices and Polynomiography Bahman Kalantari Department of Computer Science Rutgers University, USA [email protected] Submitted: Apr 10, 2011; Accepted: Oct 15, 2011; Published: Oct 31, 2011 Mathematics Subject Classifications: 00A66, 15B35, 15B51, 30C15 Dedicated to Doron Zeilberger on the occasion of his sixtieth birthday Abstract To each permutation matrix we associate a complex permutation polynomial with roots at lattice points corresponding to the position of the ones. More generally, to an alternating sign matrix (ASM) we associate a complex alternating sign polynomial. On the one hand visualization of these polynomials through polynomiography, in a combinatorial fashion, provides for a rich source of algo- rithmic art-making, interdisciplinary teaching, and even leads to games. On the other hand, this combines a variety of concepts such as symmetry, counting and combinatorics, iteration functions and dynamical systems, giving rise to a source of research topics. More generally, we assign classes of polynomials to matrices in the Birkhoff and ASM polytopes. From the characterization of vertices of these polytopes, and by proving a symmetry-preserving property, we argue that polynomiography of ASMs form building blocks for approximate polynomiography for polynomials corresponding to any given member of these polytopes. To this end we offer an algorithm to express any member of the ASM polytope as a convex of combination of ASMs. In particular, we can give exact or approximate polynomiography for any Latin Square or Sudoku solution. We exhibit some images. Keywords: Alternating Sign Matrices, Polynomial Roots, Newton’s Method, Voronoi Diagram, Doubly Stochastic Matrices, Latin Squares, Linear Programming, Polynomiography 1 Introduction Polynomials are undoubtedly one of the most significant objects in all of mathematics and the sciences, particularly in combinatorics.
    [Show full text]
  • Counterfactual Explanations for Graph Neural Networks
    CF-GNNExplainer: Counterfactual Explanations for Graph Neural Networks Ana Lucic Maartje ter Hoeve Gabriele Tolomei University of Amsterdam University of Amsterdam Sapienza University of Rome Amsterdam, Netherlands Amsterdam, Netherlands Rome, Italy [email protected] [email protected] [email protected] Maarten de Rijke Fabrizio Silvestri University of Amsterdam Sapienza University of Rome Amsterdam, Netherlands Rome, Italy [email protected] [email protected] ABSTRACT that result in an alternative output response (i.e., prediction). If Given the increasing promise of Graph Neural Networks (GNNs) in the modifications recommended are also clearly actionable, this is real-world applications, several methods have been developed for referred to as achieving recourse [12, 28]. explaining their predictions. So far, these methods have primarily To motivate our problem, we consider an ML application for focused on generating subgraphs that are especially relevant for computational biology. Drug discovery is a task that involves gen- a particular prediction. However, such methods do not provide erating new molecules that can be used for medicinal purposes a clear opportunity for recourse: given a prediction, we want to [26, 33]. Given a candidate molecule, a GNN can predict if this understand how the prediction can be changed in order to achieve molecule has a certain property that would make it effective in a more desirable outcome. In this work, we propose a method for treating a particular disease [9, 19, 32]. If the GNN predicts it does generating counterfactual (CF) explanations for GNNs: the minimal not have this desirable property, CF explanations can help identify perturbation to the input (graph) data such that the prediction the minimal change one should make to this molecule, such that it changes.
    [Show full text]
  • MATLAB Array Manipulation Tips and Tricks
    MATLAB array manipulation tips and tricks Peter J. Acklam E-mail: [email protected] URL: http://home.online.no/~pjacklam 14th August 2002 Abstract This document is intended to be a compilation of tips and tricks mainly related to efficient ways of performing low-level array manipulation in MATLAB. Here, “manipu- lation” means replicating and rotating arrays or parts of arrays, inserting, extracting, permuting and shifting elements, generating combinations and permutations of ele- ments, run-length encoding and decoding, multiplying and dividing arrays and calcu- lating distance matrics and so forth. A few other issues regarding how to write fast MATLAB code are also covered. I'd like to thank the following people (in alphabetical order) for their suggestions, spotting typos and other contributions they have made. Ken Doniger and Dr. Denis Gilbert Copyright © 2000–2002 Peter J. Acklam. All rights reserved. Any material in this document may be reproduced or duplicated for personal or educational use. MATLAB is a trademark of The MathWorks, Inc. (http://www.mathworks.com). TEX is a trademark of the American Mathematical Society (http://www.ams.org). Adobe PostScript and Adobe Acrobat Reader are trademarks of Adobe Systems Incorporated (http://www.adobe.com). The TEX source was written with the GNU Emacs text editor. The GNU Emacs home page is http://www.gnu.org/software/emacs/emacs.html. The TEX source was formatted with AMS-LATEX to produce a DVI (device independent) file. The PS (PostScript) version was created from the DVI file with dvips by Tomas Rokicki. The PDF (Portable Document Format) version was created from the PS file with ps2pdf, a part of Aladdin Ghostscript by Aladdin Enterprises.
    [Show full text]
  • The Pagerank Algorithm Is One Way of Ranking the Nodes in a Graph by Importance
    The PageRank 13 Algorithm Lab Objective: Many real-world systemsthe internet, transportation grids, social media, and so oncan be represented as graphs (networks). The PageRank algorithm is one way of ranking the nodes in a graph by importance. Though it is a relatively simple algorithm, the idea gave birth to the Google search engine in 1998 and has shaped much of the information age since then. In this lab we implement the PageRank algorithm with a few dierent approaches, then use it to rank the nodes of a few dierent networks. The PageRank Model The internet is a collection of webpages, each of which may have a hyperlink to any other page. One possible model for a set of n webpages is a directed graph, where each node represents a page and node j points to node i if page j links to page i. The corresponding adjacency matrix A satises Aij = 1 if node j links to node i and Aij = 0 otherwise. b c abcd a 2 0 0 0 0 3 b 6 1 0 1 0 7 A = 6 7 c 4 1 0 0 1 5 d 1 0 1 0 a d Figure 13.1: A directed unweighted graph with four nodes, together with its adjacency matrix. Note that the column for node b is all zeros, indicating that b is a sinka node that doesn't point to any other node. If n users start on random pages in the network and click on a link every 5 minutes, which page in the network will have the most views after an hour? Which will have the fewest? The goal of the PageRank algorithm is to solve this problem in general, therefore determining how important each webpage is.
    [Show full text]
  • A Riemannian Fletcher--Reeves Conjugate Gradient Method For
    A Riemannian Fletcher-Reeves Conjugate Gradient Method for Title Doubly Stochastic Inverse Eigenvalue Problems Author(s) Yao, T; Bai, Z; Zhao, Z; Ching, WK SIAM Journal on Matrix Analysis and Applications, 2016, v. 37 n. Citation 1, p. 215-234 Issued Date 2016 URL http://hdl.handle.net/10722/229223 SIAM Journal on Matrix Analysis and Applications. Copyright © Society for Industrial and Applied Mathematics.; This work is Rights licensed under a Creative Commons Attribution- NonCommercial-NoDerivatives 4.0 International License. SIAM J. MATRIX ANAL. APPL. c 2016 Society for Industrial and Applied Mathematics Vol. 37, No. 1, pp. 215–234 A RIEMANNIAN FLETCHER–REEVES CONJUGATE GRADIENT METHOD FOR DOUBLY STOCHASTIC INVERSE EIGENVALUE PROBLEMS∗ TENG-TENG YAO†, ZHENG-JIAN BAI‡,ZHIZHAO §, AND WAI-KI CHING¶ Abstract. We consider the inverse eigenvalue problem of reconstructing a doubly stochastic matrix from the given spectrum data. We reformulate this inverse problem as a constrained non- linear least squares problem over several matrix manifolds, which minimizes the distance between isospectral matrices and doubly stochastic matrices. Then a Riemannian Fletcher–Reeves conjugate gradient method is proposed for solving the constrained nonlinear least squares problem, and its global convergence is established. An extra gain is that a new Riemannian isospectral flow method is obtained. Our method is also extended to the case of prescribed entries. Finally, some numerical tests are reported to illustrate the efficiency of the proposed method. Key words. inverse eigenvalue problem, doubly stochastic matrix, Riemannian Fletcher–Reeves conjugate gradient method, Riemannian isospectral flow AMS subject classifications. 65F18, 65F15, 15A18, 65K05, 90C26, 90C48 DOI. 10.1137/15M1023051 1.
    [Show full text]
  • An Alternate Exposition of PCA Ronak Mehta
    An Alternate Exposition of PCA Ronak Mehta 1 Introduction The purpose of this note is to present the principle components analysis (PCA) method alongside two important background topics: the construction of the singular value decomposition (SVD) and the interpretation of the covariance matrix of a random variable. Surprisingly, students have typically not seen these topics before encountering PCA in a statistics or machine learning course. Here, our focus is to understand why the SVD of the data matrix solves the PCA problem, and to interpret each of its components exactly. That being said, this note is not meant to be a self- contained introduction to the topic. Important motivations, such the maximum total variance or minimum reconstruction error optimizations over subspaces are not covered. Instead, this can be considered a supplementary background review to read before jumping into other expositions of PCA. 2 Linear Algebra Review 2.1 Notation d n×d R is the set of real d-dimensional vectors, and R is the set of real n-by-d matrices. A vector d n×d x 2 R , is denoted as a bold lower case symbol, with its j-th element as xj. A matrix X 2 R is denoted as a bold upper case symbol, with the element at row i and column j as Xij, and xi· and x·j denoting the i-th row and j-th column respectively (the center dot might be dropped if it d×d is clear in context). The identity matrix Id 2 R is the matrix of ones on the diagonal and zeros d elsewhere.
    [Show full text]
  • Some Remarks on the Permanents of Circulant (0,1) Matrices
    University of Wollongong Research Online Faculty of Engineering and Information Faculty of Informatics - Papers (Archive) Sciences 1982 Some remarks on the permanents of circulant (0,1) matrices Peter Eades Cheryl E. Praeger Jennifer Seberry University of Wollongong, [email protected] Follow this and additional works at: https://ro.uow.edu.au/infopapers Part of the Physical Sciences and Mathematics Commons Recommended Citation Eades, Peter; Praeger, Cheryl E.; and Seberry, Jennifer: Some remarks on the permanents of circulant (0,1) matrices 1982. https://ro.uow.edu.au/infopapers/1010 Research Online is the open access institutional repository for the University of Wollongong. For further information contact the UOW Library: [email protected] Some remarks on the permanents of circulant (0,1) matrices Abstract Some permanents of circulant (0,1) matrices are computed. Three methods are used. First, the permanent of a Kronecker product is computed by directly counting diagonals. Secondly, Lagrange expansion is used to calculate a recurrence for a family of sparse circulants. Finally, a "complement expansion" method is used to calculate a recurrence for a permanent of a circulant with few zero entries. Also, a bound on the number of different permanents of circulant matrices with a given row sum is obtained. Disciplines Physical Sciences and Mathematics Publication Details Eades, P, Praeger, C and Seberry, J, Some remarks on the permanents of circulant (0,1) matrices, Utilitas Mathematica, 23, 1983, 145-159. This journal article is available at Research Online: https://ro.uow.edu.au/infopapers/1010 SOME REHARKS ON THE PERMANENTS OF CIRCULANT (0,1) MATRICES Peter Eades, Cheryl E.
    [Show full text]
  • Signal and System Analysis Fall 2021 Lab#2 – Matrix and Array in MATLAB
    EECS 360: Signal and System Analysis Fall 2021 Lab#2 – Matrix and Array in MATLAB Matrices are the basic elements of the MATLAB environment. A matrix is a two-dimensional array consisting of m rows and n columns. Special cases are column vectors (n = 1) and row vectors (m = 1). In this lab, we will illustrate how to create array and matrices and how to apply different operations on matrices. 1. ENTERING A VECTOR We define a matrix of dimension (n × m) as follows, where n stands for number of rows and m stands for number of columns. 1 2 . m 2 . n Rows ..... ..... n .... m Columns A vector is a special case of a matrix, where either number of rows or number of columns goes to 1. Row Vector: An array of dimension (1 × n) is called a row vector. Column Vector: An array of dimension (m × 1) is called a column vector. The elements of vectors in MATLAB are enclosed by square brackets and are separated by spaces or by commas. For example, in Matlab, you can define a Row Vector as: A = [1 2 3 4] or A = [1,2,3,4]. Column vectors are created in a similar way, however, semicolon (;) must separate the components of a column vector. For example, Column Vector: B= [1; 2; 3; 4] *** A row vector is converted to a column vector using the transpose operator and vice versa. The transpose operation is denoted by an apostrophe or a single quote (’). AB= ' or BA= ' PRACTICE 1: Create one row vector (1 5) and one column vector (5 1) and perform transpose operation to convert them from one type to another (i.e.
    [Show full text]
  • The Greedy Strategy in Optimizing the Perron Eigenvalue
    The greedy strategy for optimizing the Perron eigenvalue ∗ Aleksandar Cvetkovi´c, †Vladimir Yu. Protasov ‡ Abstract We address the problems of minimizing and of maximizing the spectral radius over a compact family of non-negative matrices. Those problems being hard in general can be efficiently solved for some special families. We consider the so-called prod- uct families, where each matrix is composed of rows chosen independently from given sets. A recently introduced greedy method works very fast. However, it is applicable mostly for strictly positive matrices. For sparse matrices, it often diverges and gives a wrong answer. We present the “selective greedy method” that works equally well for all non-negative product families, including sparse ones. For this method, we prove a quadratic rate of convergence and demonstrate its efficiency in numerical examples. The numerical examples are realised for two cases: finite uncertainty sets and poly- hedral uncertainty sets given by systems of linear inequalities. In dimensions up to 2000, the matrices with minimal/maximal spectral radii in product families are found within a few iterations. Applications to dynamical systems and to the graph theory are considered. Keywords: iterative optimization method, non-negative matrix, spectral radius, relax- ation algorithm, cycling, spectrum of a graph, quadratic convergence, dynamical system, stability AMS 2010 subject classification: 15B48, 90C26, 15A42 arXiv:1807.05099v2 [math.OC] 18 May 2020 1. Introduction The problem of minimizing or maximizing the spectral radius of a non-negative matrix over a general constrained set can be very hard. There are no efficient algorithms even for ∗The research is supported by the RSF grant 20-11-20169 †GSSI (L’Aquila, Italy), ‡University of L’Aquila (Italy), Moscow State University (Moscow, Russia), e-mail: [email protected] 1 solving this problem over a compact convex (say, polyhedral) set of positive matrices.
    [Show full text]