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 необходимо выбрать идентификатор (имя) переменной (начинается с латинской буквы, далее – лат.буквы, цифры, спец.знаки) и использовать эту переменную в операторе командной строки, задающем значение переменной (простое присваивание, ссылка на некот.функции и др.).
А) вещественные числа
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) частями из А, дополненные нулями.
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) выражения в зависимости от результата, получающегося после выполнения операций, входящих в выражение.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.