Панель инструментов системы MATLAB.

MATLAB

Основы работы в MATLAB.

Рабочая среда MATLAB.

MATLAB– одна из самых мощных компьютерных систем, предназначенных для решения математических, инженерных и экономических задач. Входной язык системы MATLABпозволяет не только использовать встроенные команды, но и разрабатывать собственные визуальные приложения.

Окна системы MATLAB

Общение пользователя с системой MATLAB происходит посредством окон.

Панель инструментов системы MATLAB. - student2.ru

1. Command Window (Окно команд).

Окно Command Window является наиболее важным для пользователя. Посредством этого окна вводятся математические выражения, получаются результаты вычислений, а также выдаются сообщения, посылаемые системой. Математические выражения пишутся в командной строке после знака приглашения « >> ». Например, наберем в командной строке 1+2

>> 1 + 2

Для выполнения действия нажмем клавишу «Enter».

В командном окне появится следующее

ans =

>> |

По умолчанию программа записывает результат в специальную переменную ans.

Выполним действие с использованием переменной и оператора присваивания « = ». Для этого в командной строке набираем

>> z = 1.25 /3.11

z =

0.40193

Редактировать в Command Window можно только текущую командную строку. Для того чтобы отредактировать ранее введенную команду, необходимо установить курсор в строку ввода и воспользоваться клавишами « Панель инструментов системы MATLAB. - student2.ru » или« Панель инструментов системы MATLAB. - student2.ru ».

Командное окно можно закрыть кнопкой « Панель инструментов системы MATLAB. - student2.ru », а кнопка « » служит для отделения окна от интерфейса системы. Вернуться к стандартной форме окна можно с помощью меню:

Главное Меню → Desktop → Desktop Layout → Default.

(Главное Меню → Вид → Схема рабочего стола → По умолчанию).

Очистить командное окно можно с помощью меню:

Главное Меню → Edit → Clear Command Window.

(Главное Меню → Правка → Очистить командное окно).

2. Окно Workspace (Рабочая область).

Окно предоставляет пользователю список всех переменных, созданных в процессе работы. Можно выбрать любую переменную, просмотреть её содержимое или выполнить какие-либо другие действия. Для доступа нужно щелкнуть правой кнопкой мыши по имени переменной в списке.

3. Окно Current Folder (Текущий каталог).

Окно является аналогом известной программы Проводник. Окно служит для поиска, просмотра, открытия файлов и папок, осуществления смены текущей директории, установления пути к файлу и т.д.

4. Окно Command History (История команд).

Все команды, которые набираются в командной строке, автоматически образуют список, который выводится в окне Command History. Если появится необходимость повторить ранее выполненную команду, то она отыскивается в списке Command History, и, дважды щелкнув по ней левой кнопкой мыши, можно команду выполнить. Содержимое данного окна не теряется после выхода из системы и выключения компьютера. Удалить список команд можно только с помощью меню.

Главное меню системы MATLAB

Главное меню имеет стандартный вид и организацию, присущие многим программным продуктам. Главное меню MATLAB содержит следующие пункты:

File (Файл) – работа с файлами;

Edit (Правка) – редактирование;

Window (Окно) – связь с окнами системы;

Help (Справка) – связь со справочной системой MATLAB.

Панель инструментов системы MATLAB.

Кнопки панели инструментов имеют следующие назначения:

New file (Создать) – выводит окна редакторов файлов;

Open file (Открыть) – открывает окна загрузки файлов;

Cut (Вырезать) – вырезает выделенный фрагмент и помещает в буфер обмена;

Copy (Копировать) – копирует выделенный фрагмент в буфера обмена;

Paste (Вставить) – переносит выделенный фрагмент из буфера обмена в строку ввода;

Undo (Отменить) – отменяет результата предыдущей операции;

Redo (Повторить) – повторяет результат предыдущей операции;

Simulink – создает модель Simulink (расширения MATLAB);

Help(Помощь) – открывает окна справки.

Формат вывода результата вычислений

Числовые результаты могут быть представлены с плавающей точкой, (например 4.0193e-001, что означает Панель инструментов системы MATLAB. - student2.ru ), или с фиксированной точкой (например, 0.040193). Числа с плавающей точкой представлены в экспоненциальной форме

Панель инструментов системы MATLAB. - student2.ru ,

где Панель инструментов системы MATLAB. - student2.ru – мантисса (целое или дробное число с десятичной точкой); Панель инструментов системы MATLAB. - student2.ru – порядок (целое число).

Введем число Панель инструментов системы MATLAB. - student2.ru в рабочую область.

При вводе вещественных чисел для отделения дробной части используется точка!

>> s = 0.3467819

В строке вывода появится число

s =

0.3468

Количество знаков в дробной части меньше, чем в строке ввода. Это происходит потому, что результат вычислений выводится в формате short(краткая запись числа), который определяется по умолчанию. Можно поменять формат на long (длинная запись числа), набрав команду

>> format long

>> s

s =

0.34678190000000

В списке Numerical Format также имеются форматы чисел

short e– краткая запись числа в формате с плавающей точкой;

long e– длинная запись числа в формате с плавающей точкой;

short g– вторая форма краткой записи числа в формате фиксированной точкой;

long g– вторая форма длинной записи числа в формате фиксированной точкой;

Информацию о форматах можно получить, набрав в командной строке

>> help format

Также формат отображения числовых данных можно установить в меню File(файл) пункт Preferences(предпочтения). Перейти на вкладку Command Window (окно команд). В опции Text display(отображение текста), в списке Numeric format(числовой формат) установить short g, в опции Numeric display(отображение чисел) установить compact. Эти форматы вывода соответствуют выводу чисел в универсальной форме из пяти значащих цифр и с подавлением пробела между строками.

Важно помнить, что, в каком бы формате не выводилось число, в памяти компьютера оно хранится со всеми введенными цифрами с погрешностью около Панель инструментов системы MATLAB. - student2.ru (15 десятичных разрядов). Диапазон представления модуля действительного числа принадлежит интервалу Панель инструментов системы MATLAB. - student2.ru до Панель инструментов системы MATLAB. - student2.ru .

Основы работы в MATLAB.

Для выполнения простейших арифметических операций в MATLAB применяются операторы:

· сложение и вычитание +, –

· умножение и деление *, /

· возведение в степень ^

Для указания порядка выполнения арифметических операторов следует использовать круглые скобки.

Для определения переменной необходимо набрать её имя, символ « = » и значение переменной. Имя переменной не должно совпадать с именами встроенных переменных и функций. Система различает большие и малые буквы в именах переменных.

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

ans – результат последней операции без знака присваивания;

eps – относительная погрешность при вычислениях с плавающей точкой;

realmax – наибольшее положительное число с плавающей точкой;

realmin – наименьшее положительное число с плавающей точкой;

pi – число Панель инструментов системы MATLAB. - student2.ru ;

i , j – мнимая единица;

Inf– бесконечность Панель инструментов системы MATLAB. - student2.ru ;

NaN – неопределенное значение.

Уничтожить одну или несколько переменных можно с помощью команды clear. Например,

>> x=3

x =

>> clear x

>> x

??? Не определенная функция или переменная 'x'.

Функции, используемые в MATLAB, можно разделить на встроенные и определенные пользователем.

Некоторые встроенные элементарные функции:

sin(x), cos(x), tan(x), cot(x) – синус, косинус, тангенс, котангенс числа x;

sec(x), csc(x) – секанс, косеканс числа x;

asin(x), acos(x), atan(x), acot(x) – арксинус, арккосинус, арктангенс, арккотангенс числа x;

exp(x) – экспонента числа x;

log(x) – натуральный логарифм числа x;

log10(x) – десятичный логарифм числа x;

log2(x) – логарифм по основанию 2 числа x;

pow2(x) – возведение числа 2 в степень числа x;

sqrt (x)– квадратный корень из числа x;

abs(x) – модуль числа x;

round(x) – округление числа x до ближайшего целого;

fix(x) – округление числа x до ближайшего целого в сторону нуля;

floor(x) – округление числа x до ближайшего целого в сторону отрицательной бесконечности;

ceil(x) – округление числа x до ближайшего целого в сторону положительной бесконечности;

mod (x,y) – остаток от целочисленного деления x на y с учетом знака;

rem (x,y) – остаток от целочисленного деления x на y ;

sign(x) – возвращение знака числа x.

Вычислим значение выражение

Панель инструментов системы MATLAB. - student2.ru

>> exp(–2.5)*log(11.3)^0.3 – sqrt((sin(2.45*pi)+cos(3.78*pi))/tan(3.3))

ans =

–3.2105

Затем вычислим значение похожего выражения:

Панель инструментов системы MATLAB. - student2.ru

Для этого необязательно снова набирать его в командной строке. Для вычисления этого выражения, надо проделать шаги:

  1. Нажать клавишу « Панель инструментов системы MATLAB. - student2.ru », при этом в командной строке появиться ранее введенное выражение;
  2. внести необходимые изменения в операциях;
  3. нажать «Enter».

>> exp(–2.5)*log(11.3)^0.3 + ((sin(2.45*pi)+cos(3.78*pi))/tan(3.3))^2

ans =

121.2446

Если оператор не удается разместить в одной строке, то возможно продолжение его ввода в следующей строке, если в конце первой строки указать знак продолжения «…», например, предыдущий пример можно выполнить в виде

>> exp(–2.5)*log(11.3)^0.3 +...

((sin(2.45*pi)+cos(3.78*pi))/tan(3.3))^2

ans =

121.2446

Найти значение выражения

Панель инструментов системы MATLAB. - student2.ru

>> x = sin(1.3*pi)/log(3.4);

>> y = sqrt(tan(2.75)/ cot(2.3));

>> z = (x+y)/(x-y)

z =

-0.013967

Знак « ; » в конце строки означает подавления вывода на экран промежуточных значений.

Используя переменные x и y, найдем значение выражения

Панель инструментов системы MATLAB. - student2.ru

>> t = (x*y)^(3/2)

t =

-5.5344e-017 - 0.30128i

Большинство математических функций MATLAB предусматривает работу с комплексными аргументами.

Введем комплексное число Панель инструментов системы MATLAB. - student2.ru :

>> z = 3 + 4i

z =

3.0000 + 4.0000i

Для вычисления комплексно-сопряженного числа применяется апостроф « ’ ».

>> z1 = z'

z1 =

3.0000 - 4.0000i

Функции для работы с комплексными числами:

abs(z), angle(z) – модуль Панель инструментов системы MATLAB. - student2.ru и аргумент Панель инструментов системы MATLAB. - student2.ru комплексного числа Панель инструментов системы MATLAB. - student2.ru , где Панель инструментов системы MATLAB. - student2.ru , Панель инструментов системы MATLAB. - student2.ru ;

complex(a, b) – конструирует комплексное число по его действительной и мнимой части:

>> complex(2.3, 5.8)

ans =

2.3 + 5.8i

conj(z)– возвращает комплексно-сопряженное число;

imag(z), real(z) – возвращает мнимую и действительную часть комплексного числа.

3. Векторы.

Ввод, сложение, вычитание, умножение на число.

Вектор в MATLAB формируется с помощью оператора квадратные скобки [ ]. При этом элементы вектора - столбца разделяют точкой с запятой «;», а элементы вектора – строки разделяют пробелом « » или запятой « , ».

Введем вектор-столбец Панель инструментов системы MATLAB. - student2.ru .

>> x = [1.3; 5.4; 6.9]

x =

1.3

5.4

6.9

Введем вектор-строку Панель инструментов системы MATLAB. - student2.ru .

>> y = [7.1 3.5 8.2]

y =

7.1 3.5 8.2

Для транспонирования вектора применяют апостроф «’ »:

>> z = y’

z =

7.1

3.5

8.2

Для нахождения суммы и разности векторов используются знаки « + » и «– »:

>> с = x + z

c =

8.4

8.9

15.1

Умножение вектора на число осуществляется как справа, так и слева при помощи знака « * ».

>> t = 3*x

t =

3.9

16.2

20.7

Векторы могут быть аргументами встроенных функций, например,

>> d = sin(c)

d =

0.8546

0.50102

0.5712

Для обращения к элементам векторов используется индексация, например,

>> h = x(2)

h =

5.4

Из элементов вектора можно составить новый вектор, например

>> g = [x(2) x(3) x(1)]

g =

5.4 6.9 1.3

Из нескольких векторов-столбцов можно составить один, например

>> t = [x; z]

t =

1.3

5.4

6.9

7.1

3.5

8.2

Из нескольких векторов-строк можно составить одну строку, например

>> r = [x’ y]

r =

1.3 5.4 6.9 7.1 3.5 8.2

Символ двоеточие « : » используется для выделения элементов из вектора

>> w = r(3:5)

w =

6.9 7.1 3.5

Символ двоеточие « : » также позволяет заменять элементы вектора, например,

>> r(3:5)= 0

r =

1.3 5.4 0 0 0 8.2

Символ « : » также можно использовать для построения вектора, каждый элемент которого отличается от предыдущего на постоянное число, т.е. шаг, например

>> h = [1:0.2:2]

h =

1 1.2 1.4 1.6 1.8 2

Шаг может быть отрицательным (в этом случае начальное число должно быть больше конечного).

Шаг, равный единице, можно не указывать

>> k = [1:5]

k =

1 2 3 4 5

Поэлементные операции с векторами.

Операции « .* » , « .^ », « ./ » приводят к поэлементному умножению, поэлементному возведению в степень, поэлементному делению двух векторов.

Для того чтобы, к каждому элементу вектора прибавить одно и тоже число используется знак « + », для вычитания из элементов вектора одного и того числа используется знак «–».

Разделить элементы вектора на число можно при помощи знака « / ».

Деление числа на вектор, осуществляется с помощью операции « ./ ».

Пример.

Даны векторы

Панель инструментов системы MATLAB. - student2.ru , Панель инструментов системы MATLAB. - student2.ru , Панель инструментов системы MATLAB. - student2.ru , Панель инструментов системы MATLAB. - student2.ru

Выполните команды, опуская знак « ; » в конце выражения.

>> v1 = [2 –3 4 1];

>> v2 = [7 5 –6 9];

>> p = [4 6 8 10];

>> f = [4 2 6];

>> s1 = v1.*v2;

>> s2 = v1.^2;

>> s3 = v1.^v2;

>> s4 = v1./v2;

>> a = p + 1.2;

>> b = p – 1.2;

>> p = p/2;

>> df = 12./f;

Основные функции для работы с векторами.

  • length(z)– определение длины вектора;
  • prod(z)– перемножение всех элементов вектора;
  • sum(z)– суммирование всех элементов вектора;
  • mean(z)– вычисление среднего арифметического элементов вектора;
  • sort(z)– упорядочение вектора по возрастанию его элементов;
  • max(z)– нахождение максимального элемента;
  • min(z)– нахождение минимального элемента.

Если вызвать функцию min или max с двумя выходными аргументами [m, k] = min(z),

то первой переменной присваивается значение минимального (максимального элемента), а второй переменной присваивается номер этого элемента.

Пример.

Дан вектор

Панель инструментов системы MATLAB. - student2.ru ,

Выполните команды, опуская знак « ; » в конце выражения.

>> z = [3; 2; 1; 4; 6; 5];

>> l = length(z);

>> p = prod(z);

>> s = sum(z);

>> q = mean(z);

>> M = max(z);

>> m = min(z);

>> [m, k] = min(z);

>> sr = sort(z);

4. Матрицы.

Различные способы ввода матрицы.

1. Матрицу можно вводить как вектор-столбец, состоящий из двух элементов, каждый из которых является вектор - строкой и отделяется точкой с запятой. Например, введем матрицу

Панель инструментов системы MATLAB. - student2.ru

>> A = [3 1 –1; 2 4 3 ]

A =

3 1 –1

2 4 3

2. Матрицу можно вводить построчно, выполняя последовательность команд:

>> A = [3 1 –1

«Enter»

2 4 3]

«Enter»

В результате получим ту же матрицу.

3. Матрицу можно составить из блоков, например

>> A = [ [3;2] [1;4] [-1;3]]

или

>> A = [ [3 1;2 4] [-1;3]]

Доступ к элементам матрицы осуществляется при помощи двух индексов – номеров строки и столбца:

>> A (2, 3)

ans =

Создание матриц специального вида.

Функция

  • zeros(m,n) формирует нулевую матрицу размера Панель инструментов системы MATLAB. - student2.ru ;
  • eye(n) формирует единичную матрицу размера Панель инструментов системы MATLAB. - student2.ru ;
  • ones(m,n) формирует матрицу размера Панель инструментов системы MATLAB. - student2.ru из единиц ;
  • rand(m,n) создает матрицу размера Панель инструментов системы MATLAB. - student2.ru из случайных чисел.

Пример.

Выполните команды, опуская знак « ; » в конце выражения.

>> O = zeros(3, 6);

>> E = eye(4);

>> E = eye(8,4);

>> EI = ones(3, 8);

>> R = rand(3,5)

Функция diag(d) формирует диагональную матрицу из вектора d, например

>> d = [1; 2; 3; 4];

>> D = diag(d)

D =

1 0 0 0

0 2 0 0

0 0 3 0

0 0 0 4

Функция diag(A) служит также для выделения диагонали матрицы A в вектор, например

>> A = [10 1 2; 1 20 3; 2 3 30];

>> d = diag(A)

d =

Выделение блоков и заполнение матрицы при помощи индексации.

Символ двоеточие « : » используется для выделения блоков из матрицы.

Представляется в следующих формах:

  • M(i, :) – выбирается i-я строка из матрицы M;
  • M(:, j) – выбирается j-й столбец из матрицы M;
  • M(:) – представление матрицы M в виде столбца;
  • M(k:l, n:m) – выбирается блок из матрицы M, ограниченный элементами Панель инструментов системы MATLAB. - student2.ru , Панель инструментов системы MATLAB. - student2.ru , Панель инструментов системы MATLAB. - student2.ru , Панель инструментов системы MATLAB. - student2.ru ;
  • Команда M(k:l, n:m) = число заменяет элементы блока матрицы M;
  • Команда M(i, :) = [] удаляет i-ю строку из матрицы M;
  • Команда M(:, j) = [] удаляет j-й столбец из матрицы M;

Пример.

Дана матрица

Панель инструментов системы MATLAB. - student2.ru

Выполните команды, опуская знак « ; » в конце выражения.

>> P = [5 2 1 3; 3 -1 1 2; 1 2 4 8; 3 -1 1 2];

>> P1 = P(2:3, 2:3);

>> P(2:3,2:3)=0;

>> st = P(2, :);

>> rt = P(2, 2:end);

>> P(1, :) = [];

Пример.

Создать матрицу Панель инструментов системы MATLAB. - student2.ru .

Для этого применяем последовательность команд

>> T = zeros(5);

>> T(1, :) = 1;

>> T(end, 3:end) = –1

T =

1 1 1 1 1

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 –1 –1 –1

Действиями с матрицами и элементами матриц.

Транспонирование матрицы из действительных чисел осуществляется с помощью апострофа «’ ».

Сложение и вычитание матриц одного размера осуществляется при помощи знаков « + » и

« – ».

Для умножения согласованных матриц используется знак «*». Этот же знак используется для произведения матрицы на число.

Возведение квадратной матрицы в целую степень производится с использованием оператора « ^ ».

Операторы « .* », « ./ » , « .^ » служат для умножения, деления, возведения в степень каждого элемента одной матрицы на соответствующий элемент другой матрицы. Символы «.^ » служит также для возведения каждого элемента матрицы в степень.

Пример.

Даны матрицы

Панель инструментов системы MATLAB. - student2.ru и Панель инструментов системы MATLAB. - student2.ru .

Выполните команды, опуская знак « ; » в конце выражения.

>> A = [2 5 –1; 3 4 9];

>> B = [–1 2 8; 7 –3 –5];

>> S = A+B;

>> R = A – B;

>> A’;

>> D = A*A’;

>> D1 = D*3;

>> С = A.*B;

>> Q = A./B;

>> P = A.^B;

>> D = A.^2;

Некоторые функции для работы с матрицами.

Функция

  • size(M)определяет размер матрицы M;
  • sum(M)суммирует элементы матрицы M по столбцам;
  • sum(M, 2)суммирует элементы матрицы M по строкам;
  • prod(M)находит произведения элементов матрицыM по столбцам;
  • prod(M,2)находит произведения элементов матрицыM по строкам;
  • sort(M) упорядочивает элементы каждого столбца матрицы M в порядке возрастания;
  • sort(M,2)упорядочивает элементы каждой строки матрицы M в порядке возрастания;
  • max(M)формирует вектор - строку, содержащую максимальные элементы в столбцах матрицы M;
  • min(M) формирует вектор - строку, содержащую минимальные элементы в столбцах матрицы M;
  • max(M, [], 2) формирует вектор - столбец, содержащий максимальные элементы в строках матрицы M;
  • min(M, [], 2) формирует вектор - столбец, содержащий минимальные элементы в строках матрицы M;
  • rot90(M) осуществляет поворот матрицы M на Панель инструментов системы MATLAB. - student2.ru ;
  • tril(M) формирует из матрицы M нижнюю треугольную матрицу, начиная с главной диагонали;
  • triu(M) формирует из матрицы M верхнюю треугольную матрицу, начиная с главной диагонали;

Пример.

Дана матрица

Панель инструментов системы MATLAB. - student2.ru .

Выполните команды, опуская знак « ; » в конце выражения.

>> M = [1 –2 –4; 3 –6 4; 2 –2 0];

>> SZ = size(M);

>> S = sum(M);

>> S2 = sum(M, 2);

>> P = prod(M);

>> P2 = prod (M,2);

>> mx = max(M);

>> mn = min(M);

>> MX = max(M, [], 2);

>> MN = min(M, [], 2);

Операции отношения и логические операции.

Операторы отношения производят поэлементное сравнение двух матриц и возвращают матрицу той же размерности с элементами 1, где отношение истинно и 0, где отношение ложно:

< – меньше чем ( <= означает "меньше или равно");

> – больше чем ( >= означает "больше или равно").

Логические операции осуществляются с помощью операторов:

= = – логический оператор эквивалентности;

& – логическое "И".

A&B – это матрица, элементы которой равны 1, если соответствующие элементы и A и B ненулевые, иначе равны 0;

| – логическое "ИЛИ".

A|B – это матрица, элементы которой равны 1, если соответствующие элементы или A или B ненулевые, иначе равны 0;

~= – логическое дополнение "НЕ" ( ~= означает не "равно").

Пример.

Даны матрицы

Панель инструментов системы MATLAB. - student2.ru , Панель инструментов системы MATLAB. - student2.ru

Выполните команды, опуская знак « ; » в конце выражения.

>> A = [1 2 3; 4 0 6; 7 1 9];

>> В = [1 0 -1; 0 0 -6; 1 2 9];

>> D1 = A>B;

>> D2 =A<=B;

>> D3 = A&B;

>> D4 = A==B;

Наши рекомендации