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

0 ... 90 91 92 93 94 95 96 ... 177

Пример 8.22. Полином степени 3 проходит через точки (0, 5), (4, -23), (8, -3), (11, 100). Найти уравнение данного поликома

В общем виде уравнение полинома степени 3 может быть записано следующим образом:

3 2 Р(х) = ах + ox + с-х + d

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

А 7=

Г0

11

0 1 1

43

г

4 1

83

8 I

И13

и2

П 1,

В: =

5 -23 -3

Uoo;

Решаем полученную систему линейных уравнений, используя функцию Isolve. Расчет ведем численно и аналитически. На основании полученных данных задаем функцию полинома Рэ(х).

( из Л

K:=Isolve(A,B)

v

462 -221 154 -1195 231 5

lsolve(A,B) =

( 0.245 > -1.435 -5.173 5 J

Р3(х)+ К:-х2 + K-x+Kj

Строим -зг1фик полинома, коэффициенты которого были определены, чтобы убедиться, что он действительно проходит через данные в условии задачи точки (рис, 8.9).

datuj:- (0 4 8 И)

diliy.-CJ -23 -3 100)

1004-

Р3(х) О О


В каких случаях решение СЛАУ нужно искать численно, а в каких аналитически?1 Аналитический расчет лучше в том отношении, чтоогвет выдается в виде * красивых» выражений и не содержит погрешности (главный недостаток такого подхода, связанный с возможностью появления громоздких дробей, легко решается их пересчетом в числа с плавающей точкой посредством оператора float). Также при этом допустимо, чтобы коэффициенты были не чиеламн, а символами или символьными выражениями. Однако символьный расчет не стоит применять, если система очень большая (его при этом весьма сложно реализовать технически, так как в Mathcad напрямую не может быть задана матрица размерности бол ьше, чем 1 Ох 10). Также лучше предпочесть численный метод, если коэффициентами являются числа с плавающей точкой. Если задействовать при этом оператор символьного вывода то ответ будет получен, однако для его нахождения будет задействован тот же численный алгоритм, как если бы был использован оператор вывода «-». Правда, так как символьный процессор применяет не связанную с аппаратным уровнем арифметику длинных мантисс то ответ прн этом будет на пять знаков точнее. Однако и времени на его нахождение уйдет больше. Невозможно использовать символьный расчет также, если решение СЛАУ является частью алгоритма, реализованного в виде программы на языке Mathcad.

Пример 8.23. Решение СЛАУ, заданной в общем виде

c-x2i- xl-f i- b-k-xl+ kz-xl- хЗ-zc + bx3f -g-zc + f-g-b + dci - d-blc + z-a-k — a-i-f

-(g c-x2-g xl f+ k d xl - хЗ-dc + f-ахЗ-x2ak)

-gz>c + fgb + dci - dbk + z*ak — ai-f -d-b-хЗ* x2-g b - gzxl + zax3 + d-хИ- atx2 -g-z-c +• f-g-b + d-c-i - db-k + i-a-k - a-i-f

Матричные методы решения СЛАУ не мот быть использованы, если количество уравнений и количество неизвестных в системе не совпадает (при этом матрица коэффициентов не будет квадратной). Тут возможно два случая. Если количество неизвестных превышает количество уравнений, то система будет иметь бесконечное множество решений. При этом часть неизвестных можно выразить через остальные. Для этого нужно использовать оператор solve (см пример 8.24). Если количество уравнений превышает количество неговестных, то, как правило, часть нз них является избыточными. Однако просто отбросить часть уравнений нельзя, так как среди оставшихся уравнений некоторые могут являться просто линейными комбинациями друг друга. Выкидывая избыточные уравнения, нужно обязательны проверять остаточную систему на линейную независимость, например, определяя ранг матрицы коэффициентов или вычисляя определитель. Впрочем, можно обойтись без всех этих операций, если использовать для решения системы оператор solve (аналитический расчет) или же блок Given-Find (численный расчет). Подробно о данном блоке мы поговорим ниже, а пока ограничимся лишь примером.

Пример 8.24. Решение СЛАУ в случае неравенства количество уравнений и количества неизвестных

Если количество неизвестных превышает количество уравнений, то одни неизвестные можно выразить tax функциональные зависимости от других неизвестных:

ГВ Ь с>

А:=

Аг f

х2

vx3,

lsolve(A,B)-


f х + у + z + к = 4 1 x-y+z-k=0 -х+ y + z+k=2y

solve, х, у, z >(1 -к+2 1)

Нсли количество уравнений превышает количество неи:шестиых. го найти корни аналитически можно, использовав оператор solve.

X + у + z

= 3 ,

х- у + z= 1 -х + у + Z = 1

k-y-z=-3j

solve,x,y,г-*- (1 1 1)

Численно решить систему, в которой количество уравнений превышает количество неизвестных, позволяет блок Given-Find.

х:=0

у:=0

Given

z:=0

х- у + z= 1 х + у + z = 3 -x+y + z= l -x-y-z = -3

find(x.y,z)

Говоря о численном решении СЛАУ, важно затронуть вопрос о точности используемых в Mathcad алгоритмов. В случае обычных систем, вроде приводимых в задачниках, точность функции [solve илн блока Given-Find очень высока. Ответ обычно верен вплотьдо 14- 15-го знака мантиссы, чго близко к предельной теоретической точности численных методов на машинах с 64-битовыми числами с плавающей точкой. Однако с увеличением размеров системы точность обычно падает. Также крайне важно, насколько разнородные уравнения образуют систему. Если коэффициенты двух или нескольких уравнений близки, то при малых возмущениях в матрице коэффициентов А или векторе правых частей В произойдут большие изменения в векторе неизвестных Х-А"-В. Это означает, что численный метод будет неустойчив и, следовательно, резко повысится вероятность получения ответа, содержащего большую погрешность.

Системы, содержащие практически линейно зависимые уравнения, называются плохо обусловленными. Количественной мерой обусловлен]гости может являться определитель: чем он ближе к нулю, тем хуже обусловлена система. Однако есть и более объективная характеристика, называемая числом обусловленности (condition number). Число обусловленности определяется как произведение нормы матрицы коэффициентов А на норму обратной ей матрицы. Чем больше число обусловленности .тем выше вероятность получения ответа со значительной погрешностью. В Mathcad есть функции, позволяющие определять число обусловленности. Данные функции различаются тем. на основании каких норм находится число обусловленности. Перечислим их: condl (норма LI), cond2 (норма L2), conde (эвклидова норма), condi (бесконечная норма). Расчет данные функции могут вести как числении, гак н аналитически.



0 ... 90 91 92 93 94 95 96 ... 177