FACULTY OF ENGINEERING LAB SHEET INFORMATION THEORY AND ERROR CODING ETM 2126 ETN2126 TRIMESTER 2 (2011/2012)

Size: px
Start display at page:

Download "FACULTY OF ENGINEERING LAB SHEET INFORMATION THEORY AND ERROR CODING ETM 2126 ETN2126 TRIMESTER 2 (2011/2012)"

Transcription

1 FACULTY OF ENGINEERING LAB SHEET INFORMATION THEORY AND ERROR CODING ETM 2126 ETN2126 TRIMESTER 2 (2011/2012) Experiment 1: IT1 Huffman Coding Note: Students are advised to read through this lab sheet before doing experiment. Onthe-spot evaluation may be carried out during or at the end of the experiment. Your performance, teamwork effort, and learning attitude will count towards the marks.

2 Multimedia University Experiment 1: Huffman Coding 1. OBJECTIVE To apply source coding techniques using Huffman Codes. To design and generate Huffman Codes with MATLAB software. 2. SOFTWARE REQUIRED MATLAB 3. INTRODUCTION TO MATLAB 3.1 MATLAB MATLAB is a powerful collection of tools for algorithm development, computation and visualization. It provides more control and flexibility compared to a traditional highlevel programming language. Unlike such languages, MATLAB is compact and easy to learn, letting you express algorithms in concise, readable code. In addition, MATLAB provides an extensive set of ready-to-use functions including mathematical and matrix operations, graphics, color and sound control, and low-level file I/O. MATLAB is readily extendable - you can use the MATLAB language to easily create functions that operate as part of the MATLAB environment. The MATLAB User's Guide describes how to work with the MATLAB language. It discusses how to enter and manipulate data and use MATLAB's extensive collection of functions. It explains how to perform command-line computations and how to create your own functions and scripts. The MATLAB Reference Guide provides reference descriptions of supplied MATLAB functions and commands. 3.2 SIMULINK SIMULINK is a dynamic system simulation environment. It allows you to represent systems as block diagrams, which you build using your mouse to connect blocks and your keyboard to edit block parameters. The SIMULINK User's Guide describes how to work with SIMULINK. It also provides reference descriptions of each block in the standard SIMULINK libraries. 3.3 Communications Toolbox The Communications Toolbox is a collection of computation functions and simulation blocks for research, development, system design, analysis, and simulation in the communications area. The toolbox is designed to be suitable for both experts and beginners in the communications field. The toolbox contains ready-to-use functions and blocks, which you can easily modify to implement your own schemes, methods, and algorithms. The Communications Toolbox is designed for use with MATLAB and SIMULINK. The Communications Toolbox includes: 1

3 SIMULINK blocks MATLAB functions You can use the toolbox directly from the MATLAB workspace. You can use the SIMULINK environment to construct a simulation block diagram for your communication system. For convenience, the Communications Toolbox provides online interactive examples that use any of the function found in this toolbox. 3.4 Available Functions This toolbox supports a variety of functions in the communications area. These functions include: Data source Source coding/ decoding Error-control coding Modulation/ demodulation Transmission/ reception filters Transmitting channel Multiple access Synchronization Utilities 4. MATLAB FUNDAMENTALS In this section, we will illustrate some commands used for this experiment. (For additional information on the individual MATLAB commands, we refer you to the MATLAB User's Guide or the online help facility.) 4.1 Fundamental Expressions Working in the MATLAB environment is straightforward because most commands are entered as you would write them mathematically. For example, entering the following simple expression >>a = 4/3 yields the MATLAB response a = In general, it is better to use appropriate and memorable names for variables. MATLAB recognizes the first 19 characters of a variable name but the first character in a variable name be a letter. MATLAB is case sensitive and all MATLAB commands are written in lowercase letters. 2

4 If you prefer to create a new variable but do not wish to see the MATLAB response, type a semicolon at the end of the expression. For example, >>b = 4+7; will create a new variable b whose value is 11, but MATLAB will not display the value of b. 4.2 Creating Script Files It is much more convenient to use script files than to enter commands line by line at the MATLAB prompt. A script file is an ASCII file (regular text file) that contains a series of MATLAB commands written just as you would enter them in the MATLAB environment. Statements that begin with a '%' are considered to be comments and are ignored by MATLAB. The script file is created outside of MATLAB with any available text editor or word processor. Each script file should have a name that ends in ".m". The commands in the script file are executed in the MATLAB environment simply by entering the name of the script file without the ".m". For example, suppose the text file magphase.m contains the following statements: % magphase.m: example m-file to % compute the magnitude and phase of G at = 1. =1; G =l/(j* + 2); mag =abs(g) phase =atan(imag(g)/real(g)) Then type magphase at the MATLAB prompt will yield the following MATLAB response: mag= phase= which are the magnitude and phase of the transfer function G(j ) = l/(j + 2) evaluated at = 1. By entering help magphase will give you back the text in the comment lines at the beginning of the file: magphase.m: example m-file to compute the magnitude and phase of G at =1. It should be obvious that it is very desirable to include at least some brief comments as a header to each m-file. 3

5 4.3 Matrices Matrices are entered into MATLAB by listing the elements of the matrix and enclosing them within a pair of brackets. Commas or blanks separate elements of a single row, and semicolons or carriage returns separate rows. For example, >>A = [1 2; 3 4] yields the MATLAB response A= To get the dimensions of a matrix, we can use the size command, e.g., >>[K,N] = size(a) K= 2 N= 2 Special vectors can be created using the ':' operator. For example, the command >>k= 1:10 will generate a row vector with elements from 1 to 10 with increment 1. Using the simple commands described thus far, you can easily manipulate both matrices and vectors. For example, to add a row onto matrix A we type, >>A = [A; [7 8]] A= To extract the submatrix of A that consists of the first through second columns of the second through third rows, use vectors as indices as follows: >>B = A(2:3,1:2) B= MATLAB has commands for generating special matrices. For example, you can create a n x n identity matrix with the eye(n). The zeros, ones and rand commands work 4

6 similarly to eye and make matrices with elements equal to zero, elements equal to one, and random elements, respectively. These commands can also be used to create nonsquare matrices. For example, zeros(2,4) generates a 2 x 4 matrix of zeros. Finally, A = A' command will give the transpose of the matrix A. 4.4 Additional Commands A) HUFFMANDICT DICT = HUFFMANDICT(SYM, PROB) Generates a binary Huffman code dictionary using the maximum variance algorithm for the distinct symbols given by the SYM vector. The symbols can be represented as a numeric vector or single-dimensional alphanumeric cell array. The second input, PROB, represents the probability of occurrence for each of these symbols. SYM and PROB must be of same length. DICT = HUFFMANDICT(SYM, PROB, N) Generates an N-ary Huffman code dictionary using the maximum variance algorithm. N is an integer between 2 and 10 (inclusive) that must not exceed the number of source symbols whose probabilities appear in PROB. DICT = HUFFMANDICT(SYM, PROB, N, VARIANCE) Generates an N-ary Huffman code with the specified variance. The possible values for VARIANCE are 'min' and 'max'. [DICT, AVGLEN] = HUFFMANDICT(...) Returns the average codeword length of the Huffman code. B) HUFFMANENCO ENCO = HUFFMANENCO(SIG, DICT) Encodes the input signal, SIG, based on the code dictionary, DICT. The code dictionary is generated using the HUFFMANDICT function. Each of the symbols appearing in SIG must be present in the code dictionary, DICT. The SIG input can be a numeric vector or a single-dimensional cell array containing alphanumeric values. C) HUFFMANDECO HUFFMANDECO(COMP, DICT) Decodes the numeric Huffman code vector COMP using the code dictionary, DICT. The encoded signal is generated by the HUFFMANENCO function. The code dictionary can be generated using the HUFFMANDICT function. The decoded signal will be a numeric vector if the original signals are only numeric. If any signal value in DICT is alphanumeric, then the decoded signal will be represented as a single-dimensional cell 5

7 array. 5. THEORY 5.1 Source Coding Source encoding (or source coding) is a process by the help of which the data generated by a discrete source is efficiently represented. The device that performs the representation is called a source encoder. For a source encoder to be efficient, we require knowledge of the statistics of the source. In particular, if some source symbols are known to be more probable than the others, then we may exploit this feature in the generation of a source code by assigning short code words to frequent source symbols, and long code words to rare source symbols. We refer to such a source code as a variable-length code. An efficient source encoder should satisfy the following two functional requirements: 1. The code words produced by the encoder are in binary form. 2. The source code is uniquely decodable, so that the original source sequence can be reconstructed perfectly from the encoded binary sequence. Consider a discrete memoryless source whose output s k is converted by the source encoder into a block of 0s and 1s, denoted by b k. We assume that the source has an alphabet with K different symbols, and that the kth symbol s k occurs with probability p k, k = 0, 1,, K-1. Let the binary code word assigned to s k by the encoder have a length l k, measured in bits. We define the average code word length, L, of the source encoder as L = p k l k k = 0, 1,, K-1 L represents the average number of bits per source symbol used in the encoding process. Let L min denote the minimum possible value of L. We then define the coding efficiency of the source encoder as = L min / L With L L min, we clearly have 1. The source encoder is said to be efficient when approaches unity. 5.2 Source Coding Theorem Given a discrete memoryless source of entropy H(S), the average code-word length L for any distortionless source encoding is bounded as L H(S) This is also known as Noiseless coding theorem or Shannon s first theorem. 6

8 Accordingly, the entropy H(S) represents a fundamental limit on the average number of bits per source symbol necessary to represent a discrete memoryless source. In other words, L cannot be made smaller than H(S). Thus with L min = H(S), we may rewrite the efficiency of a source encoder in terms of the entropy H(S) as = H(S) / L 5.3 Huffman Coding Huffman code is a variable-length code. The basic principle of Huffman coding is to assign short codes to symbols with high p, and long codes to symbols with low p. The purpose is to construct a code such that its average code-word length L that approaches the minimum i.e. entropy of source H(S). The followings are the encoding steps: 1. The source symbols are listed in order of decreasing probability. 2. The two symbols with the lowest probability are assigned a 0 and a The probabilities of the last two symbols are added. 4. The list of symbols is re-sorted with the last two symbols combined. 5. Repeat steps 2, 3, 4 until there are only two symbols left. 6. Assign the final two combined symbols a 0 and a PROCEDURE Step 1: Start the MATLAB program. Step 2: In the Command Window, type the MATLAB code line by line, as given in Example (see Section 7). Observe the result after typing each line. Alternatively, you can type the entire MATLAB code in an m-file (this is actually the preferred method). By saving the m-file, you can run the code at a later date, or you can make minor modifications without retyping the entire code, or you can copy the code to another computer to be executed there. Step 1: Start the MATLAB program. Step 2: To view the present working directory, type: pwd This is where all your m-files will be stored. To change the present working directory, use the "cd" command. For example: cd d:\infot\exp1 Step 3: Go to File -> New -> M-file. The MATLAB Editor window will open. 7

9 Step 4: Type the entire code as given in Example (see Section 7). Step 5: Save the m-file by going to File -> Save As. Choose a short name for your m- file. Make sure it contains no spaces. Step 6: To run the m-file from the MATLAB Editor window, go to Tools -> Run. You can also execute the m-file from the Command Window by typing the m-file name (without the.m ) on the command line. 7. EXAMPLE STEP 1: Generating the message sequence Let us generate a message which consists of one sentence of text: 'information theory is interesting'. The message will be stored in a variable called msg. In the MATLAB command window, type msg = 'information theory is interesting' Our message contains a total of 33 characters, including spaces. STEP 2: Estimating the source Before a Huffman coder can properly encode the given message, it requires information about the source alphabet and the source statistics. The source alphabet is a list of distinct symbols in the message sequence. There are altogether 14 distinct symbols in our message: symb = {'i' 'n' 'f' 'o' 'r' 'm' 'a' 't' ' ' 'h' 'e' 'y' 's' 'g'} The source statistics, on the other hand, is a list of probabilities corresponding to each symbol in the source alphabet. Since we have 14 distinct symbols, our source statistics should have 14 probabilities: p = [5/33 4/33 1/33 3/33 3/33 1/33 1/33 4/33 1/33 3/33 1/33 2/33 1/33 3/33] Observe that we have enclosed the elements of symb with curly braces { } instead of the usual square brackets [ ]. Doing so indicates that symb is a cell array, instead of a character array. The variable symb will become an input to a later function called huffmandict, which requires that the source alphabet be of cell data type. STEP 3: Constructing the Huffman codebook Based on the supplied source alphabet and source statistics, the MATLAB function huffmandict generates the Huffman codebook: dict = huffmandict(symb, p) The entire codebook construction process (including the Huffman tree) is done in the background, and is invisible to the user. The resulting codebook is stored in the variable 8

10 dict. Like the variable symb previously, the variable dict is also a cell array. In order to access the elements in dict, we again use curly braces { }. To see the Huffman code for the first symbol, type: dict{1,:} To view the Huffman code for the rest of the symbols, simply increment the subscript value: dict{2,:} dict{3,:} STEP 4: Encoding the message Now that the Huffman codebook is ready, we may proceed to convert the message sequence into a binary stream: binstream = huffmanenco(msg, dict) The encoding process simply consists of replacing each symbol in the message with the corresponding binary word in the codebook. STEP 5: Decoding the binary stream The binary stream will be transmitted over a communications channel to the receiver. At the receiving end, it will be decoded in order to recover the original message sequence. Message decoding is generally performed with the help of a code tree. In MATLAB, we simply type: msgdeco = huffmandeco(binstream, dict) Huffman code is a type of prefix code, so no ambiguity will arise in the decoding process. If our transmission is error-free, the decoded message should match the original message emitted by the source. Also note that the same dictionary (or codebook) is used for both encoding and decoding. 8. PROBLEM 1. Generate a message sequence that incorporates your name. The message should be phrased as 'my name is <insert name here>' Store the message in a variable called myname. 2. Estimate the source alphabet and source statistics of your message. Store the source alphabet in the variable salpha, and the source statistics in the variable sstat. 9

11 3. Draw the Huffman tree corresponding to the information found in part 2 (do this by hand). Trace the branches in the Huffman tree to construct the Huffman codebook. 4. Type the MATLAB code that automatically generates the Huffman codebook. Compare this codebook with the one constructed manually in part 3. Is there any difference between the two codebooks? If so, why? 5. Encode your message sequence and convert it to a binary stream. 6. Answer the following questions: (a) How many bits were used to encode your message? (b) If 7-bit ASCII were employed instead of Huffman, what would the length of your binary stream be? (c) Estimate the percentage of compression that is achieved by Huffman coding relative to using 7-bit ASCII. (d) Calculate the efficiency of your Huffman coder. 9. REPORT Print out and submit your report 2 weeks after the laboratory session. The report should contain the following: Introduction Procedures Results and Discussion Conclusions Appendices (MATLAB code) Lab report writing is an individual work. Fabricating results and copying the report of others are strictly prohibited. Severe penalties will be imposed for any such offences. 10

12 FACULTY OF ENGINEERING LAB REPORT SUBMISSION ETM2126 INFORMATION THEORY AND ERROR CODING ETN2126 Information Theory and Error Coding Trimester 2, 2018/2019 TRIMESTER 2 SESSION 2011/2012 Student Name: Student ID: Lab Group No.: Degree Major:.. TE / MCE Declaration of originality: I declare that all sentences, results and data mentioned in this report are from my own work. All work derived from other authors have been listed in the references. I understand that failure to do this is considered plagiarism and will be penalized. Note that collaboration and discussions in conducting the experiments are allowed but copying and any act of cheating in the report, results and data are strictly prohibited. Student signature: Experiment title: Experiment Date: Table/PC No.: Date Submitted: IT1 Huffman Coding... Lab Instructor Name: Verified:. (Please get your lab instructor signature after they have verified your result) 11

Introduction to MATLAB

Introduction to MATLAB Chapter 1 Introduction to MATLAB 1.1 Software Philosophy Matrix-based numeric computation MATrix LABoratory built-in support for standard matrix and vector operations High-level programming language Programming

More information

Chapter 5 VARIABLE-LENGTH CODING Information Theory Results (II)

Chapter 5 VARIABLE-LENGTH CODING Information Theory Results (II) Chapter 5 VARIABLE-LENGTH CODING ---- Information Theory Results (II) 1 Some Fundamental Results Coding an Information Source Consider an information source, represented by a source alphabet S. S = { s,

More information

ECE Lesson Plan - Class 1 Fall, 2001

ECE Lesson Plan - Class 1 Fall, 2001 ECE 201 - Lesson Plan - Class 1 Fall, 2001 Software Development Philosophy Matrix-based numeric computation - MATrix LABoratory High-level programming language - Programming data type specification not

More information

MATLAB Project: Getting Started with MATLAB

MATLAB Project: Getting Started with MATLAB Name Purpose: To learn to create matrices and use various MATLAB commands for reference later MATLAB functions used: [ ] : ; + - * ^, size, help, format, eye, zeros, ones, diag, rand, round, cos, sin,

More information

ITCT Lecture 8.2: Dictionary Codes and Lempel-Ziv Coding

ITCT Lecture 8.2: Dictionary Codes and Lempel-Ziv Coding ITCT Lecture 8.2: Dictionary Codes and Lempel-Ziv Coding Huffman codes require us to have a fairly reasonable idea of how source symbol probabilities are distributed. There are a number of applications

More information

Lossless Compression Algorithms

Lossless Compression Algorithms Multimedia Data Compression Part I Chapter 7 Lossless Compression Algorithms 1 Chapter 7 Lossless Compression Algorithms 1. Introduction 2. Basics of Information Theory 3. Lossless Compression Algorithms

More information

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 11 Coding Strategies and Introduction to Huffman Coding The Fundamental

More information

Optimization of Bit Rate in Medical Image Compression

Optimization of Bit Rate in Medical Image Compression Optimization of Bit Rate in Medical Image Compression Dr.J.Subash Chandra Bose 1, Mrs.Yamini.J 2, P.Pushparaj 3, P.Naveenkumar 4, Arunkumar.M 5, J.Vinothkumar 6 Professor and Head, Department of CSE, Professional

More information

Fundamentals of Multimedia. Lecture 5 Lossless Data Compression Variable Length Coding

Fundamentals of Multimedia. Lecture 5 Lossless Data Compression Variable Length Coding Fundamentals of Multimedia Lecture 5 Lossless Data Compression Variable Length Coding Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Mahmoud El-Gayyar / Fundamentals of Multimedia 1 Data Compression Compression

More information

CITS2401 Computer Analysis & Visualisation

CITS2401 Computer Analysis & Visualisation FACULTY OF ENGINEERING, COMPUTING AND MATHEMATICS CITS2401 Computer Analysis & Visualisation SCHOOL OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING Topic 3 Introduction to Matlab Material from MATLAB for

More information

MRT based Fixed Block size Transform Coding

MRT based Fixed Block size Transform Coding 3 MRT based Fixed Block size Transform Coding Contents 3.1 Transform Coding..64 3.1.1 Transform Selection...65 3.1.2 Sub-image size selection... 66 3.1.3 Bit Allocation.....67 3.2 Transform coding using

More information

Intro. To Multimedia Engineering Lossless Compression

Intro. To Multimedia Engineering Lossless Compression Intro. To Multimedia Engineering Lossless Compression Kyoungro Yoon yoonk@konkuk.ac.kr 1/43 Contents Introduction Basics of Information Theory Run-Length Coding Variable-Length Coding (VLC) Dictionary-based

More information

Welcome Back to Fundamentals of Multimedia (MR412) Fall, 2012 Lecture 10 (Chapter 7) ZHU Yongxin, Winson

Welcome Back to Fundamentals of Multimedia (MR412) Fall, 2012 Lecture 10 (Chapter 7) ZHU Yongxin, Winson Welcome Back to Fundamentals of Multimedia (MR412) Fall, 2012 Lecture 10 (Chapter 7) ZHU Yongxin, Winson zhuyongxin@sjtu.edu.cn 2 Lossless Compression Algorithms 7.1 Introduction 7.2 Basics of Information

More information

ENSC Multimedia Communications Engineering Huffman Coding (1)

ENSC Multimedia Communications Engineering Huffman Coding (1) ENSC 424 - Multimedia Communications Engineering Huffman Coding () Jie Liang Engineering Science Simon Fraser University JieL@sfu.ca J. Liang: SFU ENSC 424 Outline Entropy Coding Prefix code Kraft-McMillan

More information

OUTLINES. Variable names in MATLAB. Matrices, Vectors and Scalar. Entering a vector Colon operator ( : ) Mathematical operations on vectors.

OUTLINES. Variable names in MATLAB. Matrices, Vectors and Scalar. Entering a vector Colon operator ( : ) Mathematical operations on vectors. 1 LECTURE 3 OUTLINES Variable names in MATLAB Examples Matrices, Vectors and Scalar Scalar Vectors Entering a vector Colon operator ( : ) Mathematical operations on vectors examples 2 VARIABLE NAMES IN

More information

MATLAB Project: Getting Started with MATLAB

MATLAB Project: Getting Started with MATLAB Name Purpose: To learn to create matrices and use various MATLAB commands for reference later MATLAB built-in functions used: [ ] : ; + - * ^, size, help, format, eye, zeros, ones, diag, rand, round, cos,

More information

Computer Project: Getting Started with MATLAB

Computer Project: Getting Started with MATLAB Computer Project: Getting Started with MATLAB Name Purpose: To learn to create matrices and use various MATLAB commands. Examples here can be useful for reference later. MATLAB functions: [ ] : ; + - *

More information

Digital Image Processing

Digital Image Processing Lecture 9+10 Image Compression Lecturer: Ha Dai Duong Faculty of Information Technology 1. Introduction Image compression To Solve the problem of reduncing the amount of data required to represent a digital

More information

MATLAB COURSE FALL 2004 SESSION 1 GETTING STARTED. Christian Daude 1

MATLAB COURSE FALL 2004 SESSION 1 GETTING STARTED. Christian Daude 1 MATLAB COURSE FALL 2004 SESSION 1 GETTING STARTED Christian Daude 1 Introduction MATLAB is a software package designed to handle a broad range of mathematical needs one may encounter when doing scientific

More information

MATLAB - Lecture # 4

MATLAB - Lecture # 4 MATLAB - Lecture # 4 Script Files / Chapter 4 Topics Covered: 1. Script files. SCRIPT FILE 77-78! A script file is a sequence of MATLAB commands, called a program.! When a file runs, MATLAB executes the

More information

MATLAB BASICS. M Files. Objectives

MATLAB BASICS. M Files. Objectives Objectives MATLAB BASICS 1. What is MATLAB and why has it been selected to be the tool of choice for DIP? 2. What programming environment does MATLAB offer? 3. What are M-files? 4. What is the difference

More information

Creates a 1 X 1 matrix (scalar) with a value of 1 in the column 1, row 1 position and prints the matrix aaa in the command window.

Creates a 1 X 1 matrix (scalar) with a value of 1 in the column 1, row 1 position and prints the matrix aaa in the command window. EE 350L: Signals and Transforms Lab Spring 2007 Lab #1 - Introduction to MATLAB Lab Handout Matlab Software: Matlab will be the analytical tool used in the signals lab. The laboratory has network licenses

More information

General Instructions. You can use QtSpim simulator to work on these assignments.

General Instructions. You can use QtSpim simulator to work on these assignments. General Instructions You can use QtSpim simulator to work on these assignments. Only one member of each group has to submit the assignment. Please Make sure that there is no duplicate submission from your

More information

Multimedia Networking ECE 599

Multimedia Networking ECE 599 Multimedia Networking ECE 599 Prof. Thinh Nguyen School of Electrical Engineering and Computer Science Based on B. Lee s lecture notes. 1 Outline Compression basics Entropy and information theory basics

More information

Information Theory and Communication

Information Theory and Communication Information Theory and Communication Shannon-Fano-Elias Code and Arithmetic Codes Ritwik Banerjee rbanerjee@cs.stonybrook.edu c Ritwik Banerjee Information Theory and Communication 1/12 Roadmap Examples

More information

A Guide to Using Some Basic MATLAB Functions

A Guide to Using Some Basic MATLAB Functions A Guide to Using Some Basic MATLAB Functions UNC Charlotte Robert W. Cox This document provides a brief overview of some of the essential MATLAB functionality. More thorough descriptions are available

More information

Lab of COMP 406. MATLAB: Quick Start. Lab tutor : Gene Yu Zhao Mailbox: or Lab 1: 11th Sep, 2013

Lab of COMP 406. MATLAB: Quick Start. Lab tutor : Gene Yu Zhao Mailbox: or Lab 1: 11th Sep, 2013 Lab of COMP 406 MATLAB: Quick Start Lab tutor : Gene Yu Zhao Mailbox: csyuzhao@comp.polyu.edu.hk or genexinvivian@gmail.com Lab 1: 11th Sep, 2013 1 Where is Matlab? Find the Matlab under the folder 1.

More information

Starting with a great calculator... Variables. Comments. Topic 5: Introduction to Programming in Matlab CSSE, UWA

Starting with a great calculator... Variables. Comments. Topic 5: Introduction to Programming in Matlab CSSE, UWA Starting with a great calculator... Topic 5: Introduction to Programming in Matlab CSSE, UWA! MATLAB is a high level language that allows you to perform calculations on numbers, or arrays of numbers, in

More information

LAB 2: Linear Equations and Matrix Algebra. Preliminaries

LAB 2: Linear Equations and Matrix Algebra. Preliminaries Math 250C, Section C2 Hard copy submission Matlab # 2 1 Revised 07/13/2016 LAB 2: Linear Equations and Matrix Algebra In this lab you will use Matlab to study the following topics: Solving a system of

More information

MAT 343 Laboratory 1 Matrix and Vector Computations in MATLAB

MAT 343 Laboratory 1 Matrix and Vector Computations in MATLAB MAT 343 Laboratory 1 Matrix and Vector Computations in MATLAB In this laboratory session we will learn how to 1. Create matrices and vectors. 2. Manipulate matrices and create matrices of special types

More information

MATLAB is working with vectors and matrices, using different operators and functions.

MATLAB is working with vectors and matrices, using different operators and functions. INTRODUCTION TO COMMUNICATIONS BASICS OF MATLAB MATLAB is working with vectors and matrices, using different operators and functions. The vectors are indexed starting with 1 not 0. A line-vector is introduced

More information

MATLAB Demo. Preliminaries and Getting Started with Matlab

MATLAB Demo. Preliminaries and Getting Started with Matlab Math 250C Sakai submission Matlab Demo 1 Created by G. M. Wilson, revised 12/23/2015 Revised 09/05/2016 Revised 01/07/2017 MATLAB Demo In this lab, we will learn how to use the basic features of Matlab

More information

Full file at

Full file at Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class

More information

Data Compression Scheme of Dynamic Huffman Code for Different Languages

Data Compression Scheme of Dynamic Huffman Code for Different Languages 2011 International Conference on Information and Network Technology IPCSIT vol.4 (2011) (2011) IACSIT Press, Singapore Data Compression Scheme of Dynamic Huffman Code for Different Languages Shivani Pathak

More information

MATLAB GUIDE UMD PHYS401 SPRING 2012

MATLAB GUIDE UMD PHYS401 SPRING 2012 MATLAB GUIDE UMD PHYS40 SPRING 202 We will be using Matlab (or, equivalently, the free clone GNU/Octave) this semester to perform calculations involving matrices and vectors. This guide gives a brief introduction

More information

LESSON 1. A C program is constructed as a sequence of characters. Among the characters that can be used in a program are:

LESSON 1. A C program is constructed as a sequence of characters. Among the characters that can be used in a program are: LESSON 1 FUNDAMENTALS OF C The purpose of this lesson is to explain the fundamental elements of the C programming language. C like other languages has all alphabet and rules for putting together words

More information

Figure-2.1. Information system with encoder/decoders.

Figure-2.1. Information system with encoder/decoders. 2. Entropy Coding In the section on Information Theory, information system is modeled as the generationtransmission-user triplet, as depicted in fig-1.1, to emphasize the information aspect of the system.

More information

ESE 150 Lab 03: Data Compression

ESE 150 Lab 03: Data Compression LAB 03 In this lab we will do the following: 1. Use the Arduino A2D you built in Lab 1 to capture the following waveforms: square wave, sine wave, and sawtooth wave in the audio frequency range 2. Import

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB 1 Introduction to MATLAB A Tutorial for the Course Computational Intelligence http://www.igi.tugraz.at/lehre/ci Stefan Häusler Institute for Theoretical Computer Science Inffeldgasse

More information

Computer Programming : C++

Computer Programming : C++ The Islamic University of Gaza Engineering Faculty Department of Computer Engineering Fall 2017 ECOM 2003 Muath i.alnabris Computer Programming : C++ Experiment #1 Basics Contents Structure of a program

More information

Midterm Exam 2B Answer key

Midterm Exam 2B Answer key Midterm Exam 2B Answer key 15110 Principles of Computing Fall 2015 April 6, 2015 Name: Andrew ID: Lab section: Instructions Answer each question neatly in the space provided. There are 6 questions totaling

More information

Introduction to MATLAB

Introduction to MATLAB to MATLAB Spring 2019 to MATLAB Spring 2019 1 / 39 The Basics What is MATLAB? MATLAB Short for Matrix Laboratory matrix data structures are at the heart of programming in MATLAB We will consider arrays

More information

LAB: INTRODUCTION TO FUNCTIONS IN C++

LAB: INTRODUCTION TO FUNCTIONS IN C++ LAB: INTRODUCTION TO FUNCTIONS IN C++ MODULE 2 JEFFREY A. STONE and TRICIA K. CLARK COPYRIGHT 2014 VERSION 4.0 PALMS MODULE 2 LAB: FUNCTIONS IN C++ 2 Introduction This lab will provide students with an

More information

TUTORIAL MATLAB OPTIMIZATION TOOLBOX

TUTORIAL MATLAB OPTIMIZATION TOOLBOX TUTORIAL MATLAB OPTIMIZATION TOOLBOX INTRODUCTION MATLAB is a technical computing environment for high performance numeric computation and visualization. MATLAB integrates numerical analysis, matrix computation,

More information

Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming)

Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming) Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming) Learning any imperative programming language involves mastering a number of common concepts: Variables: declaration/definition

More information

Efficient Sequential Algorithms, Comp309. Motivation. Longest Common Subsequence. Part 3. String Algorithms

Efficient Sequential Algorithms, Comp309. Motivation. Longest Common Subsequence. Part 3. String Algorithms Efficient Sequential Algorithms, Comp39 Part 3. String Algorithms University of Liverpool References: T. H. Cormen, C. E. Leiserson, R. L. Rivest Introduction to Algorithms, Second Edition. MIT Press (21).

More information

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY ACADEMIC YEAR / ODD SEMESTER QUESTION BANK

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY ACADEMIC YEAR / ODD SEMESTER QUESTION BANK KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY ACADEMIC YEAR 2011-2012 / ODD SEMESTER QUESTION BANK SUB.CODE / NAME YEAR / SEM : IT1301 INFORMATION CODING TECHNIQUES : III / V UNIT -

More information

More Bits and Bytes Huffman Coding

More Bits and Bytes Huffman Coding More Bits and Bytes Huffman Coding Encoding Text: How is it done? ASCII, UTF, Huffman algorithm ASCII C A T Lawrence Snyder, CSE UTF-8: All the alphabets in the world Uniform Transformation Format: a variable-width

More information

MATLAB Lecture 1. Introduction to MATLAB

MATLAB Lecture 1. Introduction to MATLAB MATLAB Lecture 1. Introduction to MATLAB 1.1 The MATLAB environment MATLAB is a software program that allows you to compute interactively with matrices. If you want to know for instance the product of

More information

Introduction to Matlab. By: Dr. Maher O. EL-Ghossain

Introduction to Matlab. By: Dr. Maher O. EL-Ghossain Introduction to Matlab By: Dr. Maher O. EL-Ghossain Outline: q What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators (Arithmetic, relational, logical ) Display Facilities Flow Control

More information

MAT 343 Laboratory 1 Matrix and Vector Computations in MATLAB

MAT 343 Laboratory 1 Matrix and Vector Computations in MATLAB MAT 343 Laboratory 1 Matrix and Vector Computations in MATLAB MATLAB is a computer software commonly used in both education and industry to solve a wide range of problems. This Laboratory provides a brief

More information

Constraint-based Metabolic Reconstructions & Analysis H. Scott Hinton. Matlab Tutorial. Lesson: Matlab Tutorial

Constraint-based Metabolic Reconstructions & Analysis H. Scott Hinton. Matlab Tutorial. Lesson: Matlab Tutorial 1 Matlab Tutorial 2 Lecture Learning Objectives Each student should be able to: Describe the Matlab desktop Explain the basic use of Matlab variables Explain the basic use of Matlab scripts Explain the

More information

EE-575 INFORMATION THEORY - SEM 092

EE-575 INFORMATION THEORY - SEM 092 EE-575 INFORMATION THEORY - SEM 092 Project Report on Lempel Ziv compression technique. Department of Electrical Engineering Prepared By: Mohammed Akber Ali Student ID # g200806120. ------------------------------------------------------------------------------------------------------------------------------------------

More information

Getting To Know Matlab

Getting To Know Matlab Getting To Know Matlab The following worksheets will introduce Matlab to the new user. Please, be sure you really know each step of the lab you performed, even if you are asking a friend who has a better

More information

Experiment 1: Introduction to MATLAB I. Introduction. 1.1 Objectives and Expectations: 1.2 What is MATLAB?

Experiment 1: Introduction to MATLAB I. Introduction. 1.1 Objectives and Expectations: 1.2 What is MATLAB? Experiment 1: Introduction to MATLAB I Introduction MATLAB, which stands for Matrix Laboratory, is a very powerful program for performing numerical and symbolic calculations, and is widely used in science

More information

SIGNAL COMPRESSION Lecture Lempel-Ziv Coding

SIGNAL COMPRESSION Lecture Lempel-Ziv Coding SIGNAL COMPRESSION Lecture 5 11.9.2007 Lempel-Ziv Coding Dictionary methods Ziv-Lempel 77 The gzip variant of Ziv-Lempel 77 Ziv-Lempel 78 The LZW variant of Ziv-Lempel 78 Asymptotic optimality of Ziv-Lempel

More information

Matlab Tutorial and Exercises for COMP61021

Matlab Tutorial and Exercises for COMP61021 Matlab Tutorial and Exercises for COMP61021 1 Introduction This is a brief Matlab tutorial for students who have not used Matlab in their programming. Matlab programming is essential in COMP61021 as a

More information

Unix Computer To open MATLAB on a Unix computer, click on K-Menu >> Caedm Local Apps >> MATLAB.

Unix Computer To open MATLAB on a Unix computer, click on K-Menu >> Caedm Local Apps >> MATLAB. MATLAB Introduction This guide is intended to help you start, set up and understand the formatting of MATLAB before beginning to code. For a detailed guide to programming in MATLAB, read the MATLAB Tutorial

More information

Huffman Coding. (EE 575: Source Coding Project) Project Report. Submitted By: Raza Umar. ID: g

Huffman Coding. (EE 575: Source Coding Project) Project Report. Submitted By: Raza Umar. ID: g Huffman Coding (EE 575: Source Coding Project) Project Report Submitted By: Raza Umar ID: g200905090 Algorithm Description Algorithm developed for Huffman encoding takes a string of data symbols to be

More information

Matlab Tutorial for COMP24111 (includes exercise 1)

Matlab Tutorial for COMP24111 (includes exercise 1) Matlab Tutorial for COMP24111 (includes exercise 1) 1 Exercises to be completed by end of lab There are a total of 11 exercises through this tutorial. By the end of the lab, you should have completed the

More information

A/D Converter. Sampling. Figure 1.1: Block Diagram of a DSP System

A/D Converter. Sampling. Figure 1.1: Block Diagram of a DSP System CHAPTER 1 INTRODUCTION Digital signal processing (DSP) technology has expanded at a rapid rate to include such diverse applications as CDs, DVDs, MP3 players, ipods, digital cameras, digital light processing

More information

EE 368. Weeks 5 (Notes)

EE 368. Weeks 5 (Notes) EE 368 Weeks 5 (Notes) 1 Chapter 5: Trees Skip pages 273-281, Section 5.6 - If A is the root of a tree and B is the root of a subtree of that tree, then A is B s parent (or father or mother) and B is A

More information

Lab 0a: Introduction to MATLAB

Lab 0a: Introduction to MATLAB http://www.comm.utoronto.ca/~dkundur/course/real-time-digital-signal-processing/ Page 1 of 1 Lab 0a: Introduction to MATLAB Professor Deepa Kundur Introduction and Background Welcome to your first real-time

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB Introduction: MATLAB is a powerful high level scripting language that is optimized for mathematical analysis, simulation, and visualization. You can interactively solve problems

More information

ELE 201, Spring 2014 Laboratory No. 4 Compression, Error Correction, and Watermarking

ELE 201, Spring 2014 Laboratory No. 4 Compression, Error Correction, and Watermarking ELE 201, Spring 2014 Laboratory No. 4 Compression, Error Correction, and Watermarking 1 Introduction This lab focuses on the storage and protection of digital media. First, we ll take a look at ways to

More information

Get Free notes at Module-I One s Complement: Complement all the bits.i.e. makes all 1s as 0s and all 0s as 1s Two s Complement: One s complement+1 SIGNED BINARY NUMBERS Positive integers (including zero)

More information

CS 206 Introduction to Computer Science II

CS 206 Introduction to Computer Science II CS 206 Introduction to Computer Science II 04 / 25 / 2018 Instructor: Michael Eckmann Today s Topics Questions? Comments? Balanced Binary Search trees AVL trees / Compression Uses binary trees Balanced

More information

MATLAB = MATrix LABoratory. Interactive system. Basic data element is an array that does not require dimensioning.

MATLAB = MATrix LABoratory. Interactive system. Basic data element is an array that does not require dimensioning. Introduction MATLAB = MATrix LABoratory Interactive system. Basic data element is an array that does not require dimensioning. Efficient computation of matrix and vector formulations (in terms of writing

More information

CSE Theory of Computing Spring 2018 Project 2-Finite Automata

CSE Theory of Computing Spring 2018 Project 2-Finite Automata CSE 30151 Theory of Computing Spring 2018 Project 2-Finite Automata Version 1 Contents 1 Overview 2 2 Valid Options 2 2.1 Project Options.................................. 2 2.2 Platform Options.................................

More information

An undirected graph is a tree if and only of there is a unique simple path between any 2 of its vertices.

An undirected graph is a tree if and only of there is a unique simple path between any 2 of its vertices. Trees Trees form the most widely used subclasses of graphs. In CS, we make extensive use of trees. Trees are useful in organizing and relating data in databases, file systems and other applications. Formal

More information

CpSc 1111 Lab 9 2-D Arrays

CpSc 1111 Lab 9 2-D Arrays CpSc 1111 Lab 9 2-D Arrays Overview This week, you will gain some experience with 2-dimensional arrays, using loops to do the following: initialize a 2-D array with data from an input file print out the

More information

JME Language Reference Manual

JME Language Reference Manual JME Language Reference Manual 1 Introduction JME (pronounced jay+me) is a lightweight language that allows programmers to easily perform statistic computations on tabular data as part of data analysis.

More information

EE67I Multimedia Communication Systems Lecture 4

EE67I Multimedia Communication Systems Lecture 4 EE67I Multimedia Communication Systems Lecture 4 Lossless Compression Basics of Information Theory Compression is either lossless, in which no information is lost, or lossy in which information is lost.

More information

Inlichtingenblad, matlab- en simulink handleiding en practicumopgaven IWS

Inlichtingenblad, matlab- en simulink handleiding en practicumopgaven IWS Inlichtingenblad, matlab- en simulink handleiding en practicumopgaven IWS 1 6 3 Matlab 3.1 Fundamentals Matlab. The name Matlab stands for matrix laboratory. Main principle. Matlab works with rectangular

More information

CSE Theory of Computing Spring 2018 Project 2-Finite Automata

CSE Theory of Computing Spring 2018 Project 2-Finite Automata CSE 30151 Theory of Computing Spring 2018 Project 2-Finite Automata Version 2 Contents 1 Overview 2 1.1 Updates................................................ 2 2 Valid Options 2 2.1 Project Options............................................

More information

Introduction to MatLab. Introduction to MatLab K. Craig 1

Introduction to MatLab. Introduction to MatLab K. Craig 1 Introduction to MatLab Introduction to MatLab K. Craig 1 MatLab Introduction MatLab and the MatLab Environment Numerical Calculations Basic Plotting and Graphics Matrix Computations and Solving Equations

More information

A Comparative Study of Entropy Encoding Techniques for Lossless Text Data Compression

A Comparative Study of Entropy Encoding Techniques for Lossless Text Data Compression A Comparative Study of Entropy Encoding Techniques for Lossless Text Data Compression P. RATNA TEJASWI 1 P. DEEPTHI 2 V.PALLAVI 3 D. GOLDIE VAL DIVYA 4 Abstract: Data compression is the art of reducing

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB Contents 1.1 Objectives... 1 1.2 Lab Requirement... 1 1.3 Background of MATLAB... 1 1.4 The MATLAB System... 1 1.5 Start of MATLAB... 3 1.6 Working Modes of MATLAB... 4 1.7 Basic

More information

Introduction to MATLAB for Engineers, Third Edition

Introduction to MATLAB for Engineers, Third Edition PowerPoint to accompany Introduction to MATLAB for Engineers, Third Edition William J. Palm III Chapter 2 Numeric, Cell, and Structure Arrays Copyright 2010. The McGraw-Hill Companies, Inc. This work is

More information

Boolean Logic & Branching Lab Conditional Tests

Boolean Logic & Branching Lab Conditional Tests I. Boolean (Logical) Operations Boolean Logic & Branching Lab Conditional Tests 1. Review of Binary logic Three basic logical operations are commonly used in binary logic: and, or, and not. Table 1 lists

More information

CS 1044 Program 6 Summer I dimension ??????

CS 1044 Program 6 Summer I dimension ?????? Managing a simple array: Validating Array Indices Most interesting programs deal with considerable amounts of data, and must store much, or all, of that data on one time. The simplest effective means for

More information

Introduction to MATLAB

Introduction to MATLAB CHEE MATLAB Tutorial Introduction to MATLAB Introduction In this tutorial, you will learn how to enter matrices and perform some matrix operations using MATLAB. MATLAB is an interactive program for numerical

More information

SMS 3515: Scientific Computing Lecture 1: Introduction to Matlab 2014

SMS 3515: Scientific Computing Lecture 1: Introduction to Matlab 2014 SMS 3515: Scientific Computing Lecture 1: Introduction to Matlab 2014 Instructor: Nurul Farahain Mohammad 1 It s all about MATLAB What is MATLAB? MATLAB is a mathematical and graphical software package

More information

EE 216 Experiment 1. MATLAB Structure and Use

EE 216 Experiment 1. MATLAB Structure and Use EE216:Exp1-1 EE 216 Experiment 1 MATLAB Structure and Use This first laboratory experiment is an introduction to the use of MATLAB. The basic computer-user interfaces, data entry techniques, operations,

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB Introduction MATLAB is an interactive package for numerical analysis, matrix computation, control system design, and linear system analysis and design available on most CAEN platforms

More information

Introduction to Scientific Computing with Matlab

Introduction to Scientific Computing with Matlab UNIVERSITY OF WATERLOO Introduction to Scientific Computing with Matlab SAW Training Course R. William Lewis Computing Consultant Client Services Information Systems & Technology 2007 Table of Contents

More information

2.0 MATLAB Fundamentals

2.0 MATLAB Fundamentals 2.0 MATLAB Fundamentals 2.1 INTRODUCTION MATLAB is a computer program for computing scientific and engineering problems that can be expressed in mathematical form. The name MATLAB stands for MATrix LABoratory,

More information

16 Greedy Algorithms

16 Greedy Algorithms 16 Greedy Algorithms Optimization algorithms typically go through a sequence of steps, with a set of choices at each For many optimization problems, using dynamic programming to determine the best choices

More information

1 Introduction to Matlab

1 Introduction to Matlab 1 Introduction to Matlab 1. What is Matlab? Matlab is a computer program designed to do mathematics. You might think of it as a super-calculator. That is, once Matlab has been started, you can enter computations,

More information

Finding MATLAB on CAEDM Computers

Finding MATLAB on CAEDM Computers Lab #1: Introduction to MATLAB Due Tuesday 5/7 at noon This guide is intended to help you start, set up and understand the formatting of MATLAB before beginning to code. For a detailed guide to programming

More information

Introduction to MATLAB programming: Fundamentals

Introduction to MATLAB programming: Fundamentals Introduction to MATLAB programming: Fundamentals Shan He School for Computational Science University of Birmingham Module 06-23836: Computational Modelling with MATLAB Outline Outline of Topics Why MATLAB?

More information

APPM 2460 Matlab Basics

APPM 2460 Matlab Basics APPM 2460 Matlab Basics 1 Introduction In this lab we ll get acquainted with the basics of Matlab. This will be review if you ve done any sort of programming before; the goal here is to get everyone on

More information

FRACTAL IMAGE COMPRESSION OF GRAYSCALE AND RGB IMAGES USING DCT WITH QUADTREE DECOMPOSITION AND HUFFMAN CODING. Moheb R. Girgis and Mohammed M.

FRACTAL IMAGE COMPRESSION OF GRAYSCALE AND RGB IMAGES USING DCT WITH QUADTREE DECOMPOSITION AND HUFFMAN CODING. Moheb R. Girgis and Mohammed M. 322 FRACTAL IMAGE COMPRESSION OF GRAYSCALE AND RGB IMAGES USING DCT WITH QUADTREE DECOMPOSITION AND HUFFMAN CODING Moheb R. Girgis and Mohammed M. Talaat Abstract: Fractal image compression (FIC) is a

More information

What is MATLAB and howtostart it up?

What is MATLAB and howtostart it up? MAT rix LABoratory What is MATLAB and howtostart it up? Object-oriented high-level interactive software package for scientific and engineering numerical computations Enables easy manipulation of matrix

More information

ECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu

ECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu ECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu 0. What is MATLAB? 1 MATLAB stands for matrix laboratory and is one of the most popular software for numerical computation. MATLAB s basic

More information

Introduction to Matlab for Econ 511b

Introduction to Matlab for Econ 511b Introduction to Matlab for Econ 511b I. Introduction Jinhui Bai January 20, 2004 Matlab means Matrix Laboratory. From the name you can see that it is a matrix programming language. Matlab includes both

More information

INTRODUCTION TO MATLAB, SIMULINK, AND THE COMMUNICATION TOOLBOX

INTRODUCTION TO MATLAB, SIMULINK, AND THE COMMUNICATION TOOLBOX INTRODUCTION TO MATLAB, SIMULINK, AND THE COMMUNICATION TOOLBOX 1) Objective The objective of this lab is to review how to access Matlab, Simulink, and the Communications Toolbox, and to become familiar

More information

CSE COMPUTER USE: Fundamentals Test 1 Version D

CSE COMPUTER USE: Fundamentals Test 1 Version D Name:, (Last name) (First name) Student ID#: Registered Section: Instructor: Lew Lowther Solutions York University Faculty of Pure and Applied Science Department of Computer Science CSE 1520.03 COMPUTER

More information

CSC 310, Fall 2011 Solutions to Theory Assignment #1

CSC 310, Fall 2011 Solutions to Theory Assignment #1 CSC 310, Fall 2011 Solutions to Theory Assignment #1 Question 1 (15 marks): Consider a source with an alphabet of three symbols, a 1,a 2,a 3, with probabilities p 1,p 2,p 3. Suppose we use a code in which

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB The Desktop When you start MATLAB, the desktop appears, containing tools (graphical user interfaces) for managing files, variables, and applications associated with MATLAB. The following

More information