Элементы М-языка MATLAB. Программы MATLAB

Страницы работы

Содержание работы

1. ЭЛЕМЕНТЫ М-ЯЗЫКА MATLAB

            Элементами в М-языке, применяемом для управления вычислительным процессом в MATLAB, служат константы, переменные, функции, команды и управляющие конструкции. Эти элементы, возможно, в различных соединениях с помощью специальных соединительных элементов, используются как в командной строке, так и в программах.

1.1. КОНСТАНТЫ В MATLAB

Константа в MATLAB представляет собой информацию, не изменяющуюся в течение всего сеанса связи. Константы бывают пользовательскими (определяемыми пользователем) и системными (определяемыми системой). Пользовательские константы задаются пользователем и используются однократно – в момент их упоминания в исполняемой командной строке. Например,  16,  -38.654, -1.е-23, 1+2i, 'This is a symbol constant'.

Системные константы постоянно определены в системе и имеют специальные обозначения, по которым на них ссылаются, например, pi (=3.1416), eps (=2.2204e-016), realmin (=2.2251e-308), realmax (=1.7977e+308), i, j (jºi).

1.2. ПЕРЕМЕННЫЕ В MATLAB

Переменная в MATLAB определяется идентификатором, типом, местом в памяти компьютера. Для определения переменной в MATLAB необходимо выбрать идентификатор (имя) переменной (начинается с латинской буквы, далее – лат.буквы, цифры, спец.знаки) и использовать эту переменную в операторе командной строки, задающем значение переменной (простое присваивание, ссылка на некот.функции и др.).

  1. Числовые переменные: обычные (вещественные) или комплексные числа, векторы, матрицы и многомерные массивы. Под вещественное число отводится 8 байт, под комплексное – 16. Целые и вещественные числа не различаются.

А) вещественные числа

A=2     A=2.0   B=-143.298   C=1.23e-2

B) комплексные числа

Q=1+3i  r=-4.6-7.45i  S=2+5j

real(Q) – веществ.часть компл.числа,

imag(Q) – мнимая часть компл.числа,

abs(Q) – абс.величина компл.числа,

conj(Q) – сопряженное компл.число,

angle(Q) – значение фазы (угла) компл.числа в радианах.

C) векторы

векторы-строки

a=1:3:10   b=[13, 23, 33, 43, 53]   c=linspace(13,53,5)

векторы-столбцы

aa=a’   bb=[13;23;33;43;53]    cc= linspace(13,53,5)’  dd=(15:45)’

для векторов с комплексными компонентами: если y – компл.вектор, то y.’ – это вектор-столбец с теми же компонентами, а y’ – это вектор-столбец с компонентами – сопряженными компл.числами.

D) матрицы:  M(i,j) – элемент i – й строки и j – го столбца; M(k) – k-й элемент матрицы, вытянутой в столбец.

A=[1,2;3,4]  ---à                                1     2

                                                   A =    3    4

 A(2,2) (=4)   A(3)   (=2)  -à   A = (1 3 2 4)

A(3,4)=10   ---à                                 1    2   0     0

                                                   A =    3    4   0     0

                                                             0    0   0    10

size(A)  (=[3,4])       [m,n]=size(A)    (m=3,  n=4)

A=A(:) -à вытянуть в столбец – матрица становится вектором!

reshape(A,3,4) -à превращает вектор снова в матрицу 3х4

            A([1,end],:)=[] -à убирает из матрицы 1-ю и последнюю строки

            A(:,[1:end-1])=[] à убирает все столбцы кроме последнего

            Некоторые специальные матрицы:

            eye(m,n) -  единицы на главной диагонали, остальные – нули (eye(m) – квадратная единичная матрица mxm)

            ones(m,n) – матрица из единиц

            zeros(m,n) – матрица из нулей

            rand(m,n) – матрица mxn заполненная случайными числами от 0 до1

            C=round(1+100*rand(10,10)) – матрица 10х10, заполненная целыми случайными числами от 1 до 100.          

            Простые операции с матрицами :

            diag(A) – вектор из элементов, стоящих на главной диагонали матрицы А,

            diag(diag(А)) – квадратная диагональная матрица с диаг.элементами, как у А, и нулями.

            triu(A)  tril(A) – матрица с верхней (upper) или нижней (lower) частями из А, дополненные нулями.

  1. Символьные переменные

cvb=’Moscow is the Capital of Russia’

Строка символов ограничивается одинарными апострофами (на клавише с русской буквой «э») и выделяется цветом.

Каждый символ занимает 2 байта и рассматривается как отдельный элемент символьного вектора-строки. Так что, если задать операцию транспонирования cvb’ , то получим вектор-столбец с 31 элементом.

Можно переводить символьные переменные в числа и наоборот.

Обычно они используются при выводе результатов, графиков, надписей, сообщений.

Контроль за переменными.

1 способ – в окне Workspace

2 способ – команда who – дает перечень определенных к данному моменту времени переменных.

3 способ - команда whos – дает более полную информацию о переменных (Name      Size         Bytes  Class)

Чистка памяти.

clear – полная очистка от всех переменных (или clear variables)

clear var1,var2,… - очистка отдельных переменных var1,var2,….

1.3. ФУНКЦИИ В MATLAB

Функции в MATLAB – это программы, выполняющие некоторые типовые операции с данными. Для выполнения этих операций и получения требуемых результатов достаточно указать имя функции и, возможно,  задать некоторые исходные данные. Таким образом, с понятием функции здесь (как и в любом другом языке) связаны 3 понятия: имя функции, набор входных данных (varargin) и набор выходных данных (varargout). Кроме того, определены понятия числа входных параметров (nargin) и числа выходных параметров (nargout).

      Функции в MATLAB подразделяются на пользовательские (определенные, разработанные пользователем) и системные (определенные, заданные в системе, не требующие программирования). О том, как создавать пользовательские функции, будет рассказано при рассмотрении вопросов программирования. После создания и отладки пользовательская функция ничем не отличается от системной.

      Системные функции подразделяются на встроенные (built-in) и библиотечные. Библиотечные функции хранятся в системе в виде программ на М-языке, записанных в файлы с именем, совпадающим с именем функции, и с расширением *.m. Тексты этих программ доступны для просмотра пользователями (каталог \toolbox\matlab\ в месте установки MATLAB). Например, можно открыть для просмотра m-файл с функцией расчета значения десятичного логарифма (\toolbox\matlab\elfun\log10.m). При выполнении операторы этих программ сначала переводятся в инструкции исполнительной системы компьютера (интерпретируются), а затем – выполняются. Встроенные функции хранятся в системе в откомпилированном виде, не требуют перевода и, благодаря этому, выполняются быстрее библиотечных. В системном каталоге для таких функций хранятся файлы, названные аналогично библиотечным, но содержащие только комментарии по применению функций. Например, можно открыть файл, относящийся к функции расчета экспоненты (\toolbox\matlab\elfun\exp.m).

1.4. ВЫРАЖЕНИЯ В MATLAB

Выражение – это языковая конструкция, включающая элементы языка (константы, переменные, функции), связанные друг с другом с помощью соединительных знаков, задающих операции, выполняемые при вычислении значения выражения. Различают численные (Nexpression), символьные (Cexpression) и логические (Lexpression) выражения в зависимости от результата, получающегося после выполнения операций, входящих в выражение.

Похожие материалы

Информация о работе