Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ШПОРЫ печать.doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
577 Кб
Скачать
☆

26. Матричные вычисления в matlab

В системе MatLab основной единицей данных является матрица, поэтому система имеет обширный набор стандартных функций и операций по обработке матриц, который позволяет:

- формировать новые матрицы стандартного вида;

- выполнять матричные арифметические операции;

- вычислять матричные характеристики и математические функции.

Для формирования новых матриц стандартного вида применяются следующие системные функции:

rand(M,N) – формирует прямоугольную матрицу размерностью M×N, элементами которой являются случайные числа в интервале (0.0; 1.0), функция rand без параметров формирует одно случайное число в том же интервале.

ones(M,N) формирует единичную матрицу размерностью M×N.

zeros(M,N) формирует матрицу размерностью M×N, состоящую из нулей.

diag(V) создает диагональную матрицу, в которой элементы вектора V являются элементами главной диагонали.

Матричные арифметические операции представлены следующими:

A+B , A-B матричное сложение и вычитание. Оба операнда этой операции должны иметь одинаковую размерность, если они являются матрицами. Один из операндов может выть скалярной величиной.

A*B матричное умножение. Операция выполняется по правилам матричного умножения, число столбцов матрицы A должно быть равно числу строк матрицы B.

A \ B левое деление матриц. Осуществляет решение системы линейных алгебраических уравнений A*X=B. Число столбцов А должно быть равно числу строк В.

A / B правое деление матриц. Осуществляет решение системы линейных алгебраических уравнений X*A=B.

Х ^ Р возведение матрицы в степень. Эта операция при скалярном значении Р возводит квадратную матрицу Х в степень Р. Если Х – скалярная величина, а Р – квадратная матрица, то Х^Р возводит Х в матричную степень Р. Эта операция является ошибочной, если оба операнда – матрицы.

В MatLab существуют матричные операции, которые выполняются над каждым элементом матрицы, это такие операции, как:

.* поэлементное матричное умножение.

.\ поэлементное левое деление матриц.

. / поэлементное правое деление матриц.

.^ поэлементное возведение матрицы в степень.

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

Операция «апостраф» ′ вычисляет комплексно сопряженную транспонированную матрицу.

Операция «точка апостраф» .′ вычисляет транспонированную матрицу.

Система содержит стандартные функции, позволяющие вычислять различные характеристики матриц:

det(A) вычисляет определитель матрицы;

trace(A) вычисление следа матрицы;

rank(A) вычисление ранга матрицы;

inv(A) вычисление обратной матрицы.

27. Построение графиков в matlab

команда построения графика какой-либо функции у = f(x), которая носит имя plot.

Plot строит не истинный график функции f(x), а лишь заданное числом элементов вектора х число точек. Эти точки затем соединяются отрезками прямых, т. е. выполняется кусочно - линейная интерполяция данных графика. Если число точек достаточно велико, то полученная кривая воспринимается как вполне истинный график функции у = f(x), при 10 – 20 точках получается ломаная кривая.

Для построения графика функции у = f(x) необходимо задать совокупность точек х и у. Для аргумента х это выполняется оператором двоеточие, для у – надлежащим программированием выражения для функции, т. е. необходимо применить знаки арифметических операций над массивами:

: . ; . / ; . .

Для отображения таких функций используется декартовая прямоугольная система координат. Команда построения графика функции у = f(x) plot имеет ряд параметров, которые рассмотрим ниже.

рlot(х, у) – строит график функции у = f(x), координаты точек (х, у) которой берутся из векторов одинакового размера х, у рlot(х, у, s) – аналогична команде рlot(х, у), но тип линии графика можно задавать с помощью строковой константы s, значения которой представлены в таблице

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

Трехмерные поверхности описываются функцией двух переменных z = f(x, y). Построение трехмерных графиков требует определение для х и у двухмерных массивов – матриц. Для создания таких массивов служит функция meshgrid, которая записывается следующим образом:

[X,Y]=meshgrid(x,y) – преобразует векторы x и y в матрицы X и Y, которые могут быть использованы для вычисления функции двух переменных и построения трехмерных графиков. Строки выходного массива X являются копиями вектора x, а столбцы матрицы Y – копиями вектора y.

В основном она используется совместно с функциями построения графиков трехмерных поверхностей. Функция преобразует область заданную векторами х и у, в массивы X и Y, которые могут быть использованы для вычисления функции двух переменных и построения трехмерных графиков. Строки выходного массива Х являются копиями вектора х, а столбцы Y – копиями вектора у.

При построении графиков наряду с разметкой осей часто необходимо иметь масштабную сетку. Команды grid позволяют управлять этим процессом. Если после команды построения графиков добавить команду включения или выключения масштабной сетки, то можно получить график с требуемым видом:

grid on – добавляет сетку к текущему графику;

grid off – отключает сетку;

grid – последовательно производит включение и отключение сетки.

Для маркировки графиков можно ввести любой текст с помощью мыши командой gtext. Команда помещается после команды plot.

gtext ( string ) – выводит на график перемещаемый мышкой маркер в виде крестика. Установив маркер в нужное место и щелкнув кнопкой мыши, получим текст на графике.

Система Matlab предоставляет возможность настраивать и корректировать свойства графиков как средствами интерфейса графического окна, так и путем задания соответствующих графических команд и параметров.