Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л_1.doc
Скачиваний:
17
Добавлен:
18.03.2016
Размер:
834.05 Кб
Скачать

2.2. . Интерфейс среды matlab

После установки и запуска среды MATLAB на экране появится следующее окно (рис.1).

Рис.1. Интерфейс среды MATLAB

Обязательно наличие трех окон:

  • Workspace – окно рабочего пространства (отображаются переменные, полученные в результате вычислений).

  • Command Window – окно команд – используется для ввода основной программы и вызова функций.

  • Command History – история команд – отображаются введенные пользователем команды.

2.3. Задания массивов в среде matlab

Массив является основной структурой данных. Это относится и к понятию «переменная» - объекту, имеющему определенное имя и которому присваивается некоторое значение. Переменная представляет собой двумерный массив размерности 1 (ячейка, в которую записывается значение).

Стандартный одномерный массив (вектор) можно задать, например, введя в окне команд следующее:

>>A = [2 34 5 2 3 4 6 7 8 -1 2]; (если убрать точку с запятой, то введенный массив отобразится в окне команд).

В результате в окне рабочего пространства отобразится переменная A (рис.2).

Рис.2. Задание одномерного массива

Двумерный массив задается несколькими способами:

  • Стандартно – вводом в окне команд (рис.3), например:

>>A1 = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1];

Рис.3. Задание двумерного массива

  • Другой способ – вводом в окне команд переменной >>A2 = [0]; массив состоит из одной ячейки. Дважды щелкнув по переменной, вызовем редактор массивов (Array Editor) (рис.4).

Рис.4. Редактор массивов

В ячейках Size(по умолчанию стоит 1 by 1) можно задать количество строк и столбцов массива, например 5 by 6, в них вводить значения.

Например, зададим следующие значения элементов массива (рис.5).

Рис.5. Задание массива

2.4. Стандартные матрицы

В MATLAB можно также использовать стандартные матрицы:

- матрица из нулей (в которую записываются результаты вычислений). Задается командой zeros(N,M) – для прямоугольных матриц, zeros(N) – для квадратных матриц. Например –A3 = zeros(5);

- матрица из единиц (иногда применяется для обработки изображений) – A = ones(N,M) либо A = ones(N). Например, A = =ones(5,3).

- единичная матрица (матрица, элементы главной диагонали которой равны единице, а все остальные – нулю). A = ones (N, M) или A= ones (N);

-матрица, элементы которой являются случайными числами: A = =randn (N, M) или A = randn (N). N = число строк, M – число столбцов.

2.5. Операции над матрицами

В MATLAB можно применять операции над матрицами:

- транспонирование матрицы A = B’;

-определение длины вектора A = length(B);

-определение суммы элементов массива A = sum(B).

Применение этой операции для двумерного массива даст сумму столбцов матрицы. Если необходимо получить сумму строк матрицы, наберите следующее: A = sum(B’)’ – двойное транспонирование. B = =sum(1:4:10) – суммирование первых десяти чисел с шагом 4;

-определение размерности массива: A = size(B). В результате получим вектор из двух ячеек. Первая – количество строк, вторая – количество столбцов. Чтобы получить количество строк, необходимо набрать: A = size(B,1), а для определения количества столбцов выполнить команду A = size(B,2);

-нахождение верхнего треугольника матрицы (над главной диагональю): U=triu(A). Также можно найти треугольник матрицы над диагональю определенного номера: U = triu(A,k). Параметр k – номер диагонали (рис.6);

Рис. 6. Нахождение верхнего треугольника матрицы

- нахождение нижнего треугольника матрицы (под главной диагональю): U = tril(A);

- U5 = fliplr(A) – зеркальное отображение матрицы (рис.7);

Рис.7. Зеркальное отображение матрицы

- U5 = flipud(A) – симметрия элементов матрицы относительно главной оси (рис.8).

Рис.8. Отображение матрицы относительно главной оси (сверху вниз)

Помимо стандартных массивов, существуют еще массивы ячеек (можно задавать многомерные массивы – полезно при обработке изображений), массивы строк (char array), логические массивы (logical array), структуры (struct array). По мере необходимости будем комментировать использование каждого из типов массивов.