Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MV_Eng_OTP(part1)_2013.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать
☆

Laboratory work №1 Programming in the environment of Matlab

1.1 Purpose of the work

Acquisition of skills programming in the environment of Matlab

1.2 The tasks to laboratory work

  1. To get acquainted with the maintenance of point 3.3 of methodical instructions and to execute examples of this point.

  2. To carry out the individual task, variants are resulted in table 3.2

  3. Save rezalts of the work (the programs, listing of calculation) at your personal file.

  4. Draw up report.

    1. The basic theoretical knowledge

MATLAB is a powerful programming language as well as an interactive computational environment. Files that contain code in the MATLAB language are called M-files. You create M-files using a text editor, then use them as you would any other MATLAB function or command.

There are two kinds of M-files:

  • scripts, which do not accept input arguments or return output arguments. They operate on data in the workspace.

  • functions, which can accept input arguments and return output arguments. Internal variables are local to the function.

To view the contents of an M-file, for example, myfunction.m, use

>>type myfunction

      1. Scripts

When you invoke a script, MATLAB simply executes the commands found in the file. Scripts can operate on existing data in the workspace, or they can create new data on which to operate. Although scripts do not return output arguments, any variables that they create remain in the workspace, to be used in subsequent computations. In addition, scripts can produce graphical output using functions like plot.

For example, create a file called magicrank.m that contains these MATLAB commands.

% Investigate the rank of magic squares

r = zeros(1,32);

for n = 3:32

r(n) = rank(magic(n));

end

r

bar(r)

Typing the statement magicrank causes MATLAB to execute the commands, compute the rank of the first 30 magic squares, and plot a bar graph of the result. After execution of the file is complete, the variables n and r remain in the workspace.

1.3.2 Functions

Functions are M-files that can accept input arguments and return output arguments. The name of the M-file and of the function should be the same. Functions operate on variables within their own workspace, separate from the workspace you access at the MATLAB command prompt.

A good example is provided by rank. The M-file rank.m is available in the directory

toolbox/matlab/matfun

You can see the file with

>>type rank

Here is the file.

function r = rank(A,tol)

% RANK Matrix rank.

% RANK(A) provides an estimate of the number of linearly

% independent rows or columns of a matrix A.

% RANK(A,tol) is the number of singular values of A

% that are larger than tol.

% RANK(A) uses the default tol = max(size(A)) * norm(A) * eps.

s = svd(A);

if nargin==1

tol = max(size(A)') * max(s) * eps;

end

r = sum(s > tol);

The first line of a function M-file starts with the keyword function. It gives the function name and order of arguments. In this case, there are up to two input arguments and one output argument.

The next several lines, up to the first blank or executable line, are comment lines that provide the help text. These lines are printed when you type

>>help rank

The first line of the help text is the H1 line, which MATLAB displays when you use the lookfor command or request help on a directory.

The rest of the file is the executable MATLAB code defining the function. The variable s introduced in the body of the function, as well as the variables on the first line, r, A and tol, are all local to the function; they are separate from any variables in the MATLAB workspace.

This example illustrates one aspect of MATLAB functions that is not ordinarily found in other programming languages – a variable number of arguments. The rank function can be used in several different ways.

>>rank(A)

>>r = rank(A)

>>r = rank(A,1.e-6)

Many M-files work this way. If no output argument is supplied, the result is stored in ans. If the second input argument is not supplied, the function computes a default value. Within the body of the function, two quantities named nargin and nargout are available which tell you the number of input and output arguments involved in each particular use of the function. The rank function uses nargin, but does not need to use nargout.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]