Attribution Non-Commercial (BY-NC)

6 visualizações

Attribution Non-Commercial (BY-NC)

- Exercises Ss
- TRANSFORMATION
- sdt
- MATLAB
- Excel Tips
- BSS-PRATools2-85FOCARS
- Matlab Symbolic Toolbox
- Numad Userguide Sand2012-7028
- Lecture 2 Introduction to MATLAB_2
- Word Cloud
- R Course 2014: Lecture 1
- ELCE402 Lab Exp00
- esatdo solido
- Matrices Practice
- filza 2
- Matlab
- nDGeo Mathematical Approach
- Chap5 Matrix Operations
- Mat Lab Tutorial
- matlab_brief_guide.pdf

Você está na página 1de 10

This is an interactive introduction to MATLAB. I have provided a sequence of commands for you to type in. The designation RET means that you should type the "return" key; this is implicit after a command. To bring up MATLAB from from the operating system prompt

lab%

lab% matlab RET

>>

You are now in MATLAB. If you are using the X Window system on the Mathematics Department workstations then you can also start MATLAB from the Main Menu by selecting "matlab" from the "Math Applications" submenu. A window should pop up and start MATLAB. When you run MATLAB under the window system, whether you start from the menu or a system prompt, a small MATLAB logo window will pop up while the program is loading and disappear when MATLAB is ready to use. When you are ready to leave, type exit

>> exit RET

In the course of the tutorial if you get stuck on what a command means type

>> help <command name> RET

and then try the command again. You should record the outcome of the commands and experiments in a notebook. Remark: Depending on the Info reader you are using to navigate this tutorial, you might be able to cut and paste many of the examples directly into Matlab.

Building Matrices

Matlab has many types of matrices which are built into the system. A 7 by 7 matrix with random entries is produced by typing

rand(7)

You can generate random matrices of other sizes and get help on the rand command within matlab:

rand(2,5)

help rand

Another special matrix, called a Hilbert matrix, is a standard example in numerical linear algebra.

hilb(5) help hilb

magic(5) help magic

A magic square is a square matrix which has equal sums along all its rows and columns. We'll use matrix multiplication to check this property a bit later. Some of the standard matrices from linear algebra are easily produced:

eye(6) zeros(4,7) ones(5)

You can also build matrices of your own with any entries that you may want.

[1 2 3 5 7 9]

[Note that if you are using cut-and-paste features of a window system or editor to copy these examples into Matlab then you should not use cut-and-paste and the last line above. Type it in by hand, touching the Return or Enter key where you see RET, and check to see whether the carriage returns make any difference in Matlab's output.] Matlab syntax is convenient for blocked matrices:

[eye(2);zeros(2)] [eye(2);zeros(3)] [eye(2),ones(2,3)]

Did any of the last three examples produce error messages? What is the problem?

Variables

Matlab has built-in variables like pi, eps, and ans. You can learn their values from the Matlab interpreter.

pi eps help eps

At any time you want to know the active variables you can use who:

who help who

The variable ans will keep track of the last output which was not assigned to another variable.

magic(6) ans x = ans x = [x, eye(6)] x

Since you have created a new variable, x, it should appear as an active variable.

who

clear x x who

Functions

a = magic(4)

a'

Note that if the matrix A has complex numbers as entries then the Matlab function taking A to A' will compute the transpose of the conjugate of A rather than the transpose of A. Other arithmetic operations are easy to perform.

3*a -a a+(-a) b = max(a) max(b)

Some Matlab functions can return more than one value. In the case of max the interpreter returns the maximum value and also the column index where the maximum value occurs.

[m, i] = max(b) min(a) b = 2*ones(a) a*b a

We can use matrix multiplication to check the "magic" property of magic squares.

A = magic(5) b = ones(5,1) A*b v = ones(1,5) v*A

Matlab has a convention in which a dot in front of an operation usually changes the operation. In the case of multiplication, a.*b will perform entry-by-entry multiplication instead of the usual matrix multiplication.

a.*b x = 5 x^2 a*a a^2 a.^2 a triu(a) tril(a) diag(a) diag(diag(a)) c=rand(4,5) size(c) [m,n] = size(c) m d=.5-c (another dot) (there is a dot there!)

There are many functions which we apply to scalars which Matlab can apply to both scalars and matrices.

sin(d) exp(d) log(d) abs(d)

Matlab has functions to round floating point numbers to integers. These are round, fix, ceil, and floor. The next few examples work through this set of commands and a couple more arithmetic operations.

f=[-.5 .1 .5] round(f)

In this section you should think of 1 as "true" and 0 as "false." The notations &, |, ~ stand for "and,""or," and "not," respectively. The notation == is a check for equality.

a=[1 0 1 0] b=[1 a==b a<=b ~a a&b a & ~a a | b a | ~a 1 0 0]

There is a function to determine if a matrix has at least one nonzero entry, any, as well as a function to determine if all the entries are nonzero, all.

a any(a) c=zeros(1,4) d=ones(1,4) any(c) all(a) all(d) e=[a',b',c',d'] any(e)

all(e) any(all(e))

Colon Notation

Matlab offers some powerful methods for creating arrays and for taking them apart.

x=-2:1 length(x) -2:.5:1 -2:.2:1 a=magic(5) a(2,3)

a(2,:) a(:,3) a a(2:4,:) a(:,3:5) a(2:4,3:5) a(1:2:5,:)

a(:,[1 2 5]) a([2 5],[2 4 5])

b=rand(5) b([1 2],:)=a([1 2],:) a(:,[1 2])=b(:,[3 5])

When you a insert a 0-1 vector into the column position then the columns which correspond to 1's are displayed.

v=[0 1 0 1 1] a(:,v) a(v,:)

This has been a sample of the basic MATLAB functions and the matrix manipulation techniques. At the end of the tutorial there is a listing of functions. The functions that you have available will vary slightly from version to version of MATLAB. By typing

help

Miscellaneous Features

You may have discovered by now that MATLAB is case sensitive, that is

"a" is not the same as "A."

casesen

will toggle the case sensitivity off and on. The MATLAB display only shows 5 digits in the default mode. The fact is that MATLAB always keeps and computes in a double precision 16 decimal places and rounds the display to 4 digits. The command

format long

format short

will return to the shorter display. It is also possible to toggle back and forth in the scientific notation display with the commands

format short e

and

format long e

It is not always necessary for MATLAB to display the results of a command to the screen. If you do not want the matrix A displayed, put a semicolon after it, A;.

When MATLAB is ready to proceed, the prompt >> will appear. Try this on a matrix right now. Sometimes you will have spent much time creating matrices in the course of your MATLAB session and you would like to use these same matrices in your next session. You can save these values in a file by typing

save filename

filename.mat

which contains the values of the variables from your session. If you do not want to save all variables there are two options. One is to clear the variables off with the command

clear a b c

which will remove the variables a,b,c. The other option is to use the command

save x y z

which will save the variables x,y,z in the file filename.mat. The variables can be reloaded in a future session by typing

load filename

When you are ready to print out the results of a session, you can store the results in a file and print the file from the operating system using the "print" command appropriate for your operating system. The file is created using the command

diary filename

Once a file name has been established you can toggle the diary with the commands

diary on

and

diary off

This will copy anything which goes to the screen (other than graphics) to the specified file. Since this is an ordinary ASCII file, you can edit it later. Discussion of print out for graphics is deferred to the project "Graphics" where MATLAB's graphics commands are presented. Some of you may be fortunate enough to be using a Macintosh or a Sun computer with a window system that allows you to quickly move in and out of MATLAB for editing, printing, or other processes at the system level. For those of you who are not so fortunate, MATLAB has a feature which allows you to do some of these tasks directly from MATLAB. Let us suppose that you would like to edit a file named myfile.m and that your editor executes on the command ed. The MATLAB command

!ed myfile.m

will bring up your editor and you can now work in it as you usually would. Obviously the exclamation point is the critical feature here. When you are done editing, exit your editor as you usually would, and you will find that you are back

in your MATLAB session. You can use the ! with many operating system commands.

Programming in MATLAB

MATLAB is also a programming language. By creating a file with the extension .m you can easily write and run programs. If you were to create a program file myfile.m in the MATLAB language, then you can make the command myfile from MATLAB and it will run like any other MATLAB function. You do not need to compile the program since MATLAB is an interpretative (not compiled) language. Such a file is called an m-file. I am going to describe the basic programming constructions. While there are other constructions available, if you master these you will be able to write clear programs.

Assignment

Assignment is the method of giving a value to a variable. You have already seen this in the interactive mode. We write x=a to give the value of a to the value of x. Here is a short program illustrating the use of assignment.

function r=mod(a,d) % % % % % r=mod(a,d). If a and d are integers, then r is the integer remainder of a after division by d. If a and b are integer matrices, then r is the matrix of remainders after division by corresponding entries. Compare with REM.

r=a-d.*floor(a./d);

You should make a file named mod.m and enter this program exactly as it is written. Now assign some integer values for a and d. Run

mod(a,d)

This should run just like any built-in MATLAB function. Type

help mod

This should produce the five lines of comments which follow the % signs. The % signs generally indicate that what follows on that line is a comment which will be ignored when the program is being executed. MATLAB will print to the screen the comments which follow the "function" declaration at the top of the file when the help command is used. In this way you can contribute to the help facility provided by MATLAB to quickly determine the behavior of the function.

- Exercises SsEnviado por3rlang
- TRANSFORMATIONEnviado porBurhan Basit
- sdtEnviado porSou Hirr
- MATLABEnviado porvipul tiwary
- Excel TipsEnviado porAmandeep Singh Bassi
- BSS-PRATools2-85FOCARSEnviado pornirmal kumar
- Matlab Symbolic ToolboxEnviado porPierangelo Carozza
- Numad Userguide Sand2012-7028Enviado porMari Lopes
- Lecture 2 Introduction to MATLAB_2Enviado porkkanjum
- Word CloudEnviado porTeppi Nguyen
- R Course 2014: Lecture 1Enviado porGCEID
- ELCE402 Lab Exp00Enviado porlulu1990
- esatdo solidoEnviado poradolfobarrios
- Matrices PracticeEnviado porSanjeev Panwar
- filza 2Enviado porZunAib Ali
- MatlabEnviado porAbdullah Ejaz
- nDGeo Mathematical ApproachEnviado porgeroldtischler
- Chap5 Matrix OperationsEnviado porKevin Patrón Hernandez
- Mat Lab TutorialEnviado porMouhamadou Diaby
- matlab_brief_guide.pdfEnviado porAfaq Saleem
- Solving Matrix Problems With MATLABEnviado porEmmanuel
- GUISTAT.MEnviado porbjmcculloch
- Cuda ExamplesEnviado porSwati Choudhary
- R for MATLAB Users – MathesaurusEnviado porLuis Martín Pomares
- new paper 2Enviado porapi-242378778
- Introduction to MATLABEnviado porTomi Adeyemi
- Using Cst With Mat LabEnviado porEdison Andres Zapata Ochoa
- Group 8Enviado porTrang Pham
- SEC-2012_ Paper GuidelinesEnviado porfreezerguy_in
- Ahp Different Priority MethodEnviado porAmit Kapoor

- Inclusion and Education in European Countries - SwedenEnviado porProiectul SOS
- Grade 8 English Qtr2Enviado porIrish Mae A. Garzon
- Python Lectures 2Enviado porJoão Pedro Viana
- 177738e.pdfEnviado porJonalyn Lastimado
- Eng GrammarEnviado porkalpanagokul44
- VBA and Excel SolverEnviado porsuperman136
- alquimia_bahaiEnviado porJulioPAlva
- Project 3 Cover LetterEnviado porCheri McBryde
- IDL_IntroEnviado porsgrrsc
- FEB 2018 Examtrix.comEnviado porDevendra Meena
- Teaching Reading Skills in a Foreign LanguageEnviado porJaira Espinosza Lopez
- 2000_Romblomanon_Spelling_Survey_Report.docEnviado porJonell John Oliva Espalto
- guidelines.pdfEnviado porseema
- Color display vwEnviado porNikola
- JF_V02_S07_L03Enviado porMidorikawa Noriko
- English 221W Reflection Questions/Study Guide for Second Test – AsiaEnviado porapi-17535865
- Cloud Computing - Unit3.pdfEnviado porsubapacet
- Activity Modal Verbs-convertedEnviado porAlex Ospina
- Views on EquivalenceEnviado porGheorghe Diana
- Postcolonial World and Postmodern Identity RAJANEnviado porAna Carolina Justiniano
- Some Very Important Computer Abbreviations for Competitive ExamsEnviado porSanjay kumar
- UserguideEnviado porpathakiitd
- WillyDev_Oracle2SQLServerGuideEnviado porJ'Paul Hidrogo
- Embedded SQL Into RpgEnviado porMaran Ganapathy
- Apparition Poems : Before the Sun RisesEnviado porAdam Fieled
- rancangan tahunanEnviado porSuzana Haron
- Advanced KoreanEnviado por818590
- reported_speech.docEnviado porJose Ortiz
- Galway Study Abroad HandbookEnviado porPeterMoran
- JEMATIA K C.V (1)Enviado porfrank kipkoech