8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 97 98 99 100 101 102 103 ... 365

чившимися параметрами. Физический закон лучше оформить в виде функции от трех аргументов — переменной t и параметров а, Ь. Текст файл-функции fit с вложенной функцией law содержится в листинге 6.13.

• Листинг 6.13. Файл-функция fit подбора параметров

function [a, b]=fit

function у = law(t, a, b] у = a.*exp(-t) + b.*t,-end

% задание таблицы с экспериментальными данными

t = [0; 0.1; 0.2; 0.3; 0.4; 0.5];

у= [4.25; 3.95; 3.64; 3.41; 3.21; 3.04];

% создаете матрицы системы линейных уравнений

А = [exp(-t) t];

% решение системы и получение искомых коэффициентов физического закона х = А\у; а = х(1) ; b = х(2) ;

% построение графика экспериментальных данных plot(t, у, 1s1) hold on

% построение графика физического закона fplot(@law, [0 0.5]. [ ], [ ],a, b)

end

Файл-функция fit строит изображенные на рис. 6.7 графики данных и физического закона при найденных значениях параметров, которые она возвращает в выходных аргументах

» [а, Ь] = fit » а =

4.2478

b =

0.9070

Внесите самостоятельно в файл-функцию fit некоторые изменения. Пусть табличные данные считываются из текстового файла функцией load, а на график наносится вся необходимая информация.


4.5

m 1 1 1 Г 1 Т 1 1

4

3.5

0 0.05 0.1 0.1S 0.2 0.25 0.3 0.35 0.4 0.45 0.5

Рис. 6.7. Подбор параметров физического закона

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

Х + 2*2 + 3*3 = 2; 3*, +4*2+5*3 =2

и произведите проверку, умножив матрицу системы на найденное решение.

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

Решение систем при помощи функции linsolve

При использовании знака обратной косой черты для решения системы линейных уравнений выбор метода решения остается за MATLAB. Более широкие возможности предоставляет функция linsolve, которая, так же как и знак обратной косой черты, позволяет решать систему или несколько систем с одной и той же необязательно квадратной матрицей АХ = В, и при этом допускает выбор метода ее решения в соответствии со свойствами


матрицы, указанными пользователем. В простейшем случае обращение к функции linsolve имеет вид:

X = linsolve(А, В)

При этом для решения системы в случае квадратной матрицы А применяется LU-разложение с выбором ведущего элемента, а для прямоугольной — QR-разложение. Рассмотрим, как повлиять на выбор более эффективного метода решения, учитывая свойства матрицы. Для этого следует сформировать управляющую структуру, содержащую поля со значениями true или false в зависимости от свойств матрицы, и указать ее в качестве третьего входного аргумента функции linsolve. Будем, как и ранее, использовать для управляющей структуры имя options, хотя оно может быть произвольным, более того, если решается много систем с разными свойствами, целесообразно создать несколько управляющих структур, используя нужную в конкретном случае. Поле transa определяет, как задана матрица системы: значение true означает, что солверу передается транспонированная матрица системы.

т

Например, если введена матрица А и надо решать систему А Х = В, то следует обратиться к солверу следующим образом:

>> options.TRANSA = true;

>> у = linsolve(А, В, options)

Параметры, определяющие свойства матрицы системы, сведены в табл. 6.4.

Таблица 6.4. Флаги, определяющие свойства матрицы системы

Флаг

Свойство матрицы

LT

Нижняя треугольная

ит

Верхняя треугольная

uhess

Верхняя почти треугольная (хессенбергова)

sym

Снммегричная

posdef

Положительно определенная

rect

Прямоугольная

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



0 ... 97 98 99 100 101 102 103 ... 365