Учебная работа. Курсовая работа: Численные методы решения систем линейных уравнений
по информатике на тему:
«Численные способы решения
систем линейных уравнений»
Выполнил:
студент 06–ИСТ, Фадеева Т.В.
Проверил:
Ловыгина М.Б.
г. Павлово
2008
Содержание.
Теоретическая часть
1. Введение…………………………………………………………..3
2. Численные способы …………………………………………..6
1) Матричный способ………………………………….6
2) способ Крамера………………………………………9
3) Способ Гаусса …………………………………….12
4) Итерации для линейных систем….…..…..17
a) Итерация Якоби..……………………..18
b) Итерация Гаусса – Зейделя..…………20
Практическая часть
1) Матричный способ………………………………….22
2) Способ Крамера………………………………………24
3) Способ Гаусса……………………………………….26
4) Листинг программки.……………………….28
Полезность введения расчётов.
……………………………….65
Литература………..
………………………………………………………66
Теоретическая часть.
Введение.
Линейная алгебра – часть алгебры, изучающая векторные (линейные) места и их подпространства, линейные отображения (операторы), линейные, билинейные, и квадратичные функции на векторных местах.
Линейная алгебра, численные способы – раздел вычислительной арифметики, посвященный математическому описанию и исследованию действий численного решения задач линейной алгебры.
Посреди задач линейной алгебры наибольшее задачки: воззвание матрицы, вычисление определителя и т.д.
Хоть какой численный способ линейной алгебры можно разглядывать как некую последовательность выполнения арифметических операций над элементами входных данных. Если при всех входных данных численный способ дозволяет отыскать решение задачки за конечное число арифметических операций, то таковой способ именуется
. В обратном случае численный способ именуется
. Прямые способы — это такие, как способ Гаусса, способ окаймления, способ пополнения, способ сопряжённых градиентов и др. Итерационные способы – это способ обычный итерации, способ вращений, способ переменных направлений, способ релаксации и др. Тут будут рассматриваться матричный способ, способ Гаусса и способ Крамера.
В данной работе будут рассмотрены численные способы в электрических таблицах Excel и программке MathCAD, MicrosoftVisualBasic.
программка MathCAD по собственному предназначению дозволяет моделировать в электрическом документе научно–технические, также экономические расчёты в форме, довольно близкой к принятым ручным расчётам. Это упрощает составление программки расчёта, автоматизирует перерасчёт и построение графических иллюстраций подобно электрическим таблицам Excel, документирование результатов как в редакторе текста Word.
Программка Mathcad известна за лёгкость, с которой математические уравнения, текст, и графика могут быть объединены в одном документе. Не считая того, вычислительные возможности Mathcad распространяются от сложения столбца чисел к решению интегралов и производных, решение систем уравнений и больше.
Достоинством MathCAD является также наличие в его составе электрических книжек. одна из их – учебник по самой программке, остальные – справочник по разным разделам арифметики, физики, радиоэлектроники и др.
Если же гласить о программке Excel, которая является одной из более узнаваемых в обработке электрических таблиц, то без преувеличения можно утверждать, что ее способности фактически неистощимы.Обработка текста, управление базами данных — программка так массивна, что в почти всех вариантах превосходит спец программки — редакторы либо программки баз данных. Такое обилие функций может сначала запутать, нежели вынудить использовать их на практике. Но по мере приобретения опыта начинаешь по достоинству ценить то, что границ способностей Excel тяжело достигнуть.За всю историю табличных расчетов с применением индивидуальных компов требования юзеров к схожим программкам значительно поменялись. Сначала главный упор в таковой программке, как, к примеру,
, ставился на счетные функции. сейчас, положение другое. Вместе с инженерными и бухгалтерскими расчетами организация и графическое изображение данных получают все растущее работу юзера. Программки для Windows делают для этого безупречные предпосылки.В крайнее время почти все как раз перебежали на внедрение Windows в качестве собственной пользовательской среды. Как следствие, почти все компании, создающие программное обеспечение, начали давать огромное количество программ для Windows.
MicrosoftVisualBasic – это мощная система программирования, позволяющая стремительно и отлично создавать приложения для MicrosoftWindows. В отличие от Excel и MathCADэто более комфортная программка для решения систем линейных уравнений. Обычный пользовательский интерфейс, позволяющий просто переключаться с проекта формы на сам код программки.
Комфортное окно для кода самой программки:
Численные способы.
Разрешимость системы линейных уравнений.
Когда мы говорим о главной матрице системы линейных уравнений, то постоянно имеем в виду квадратную матрицу nЧn, т. е. матрицу с схожим количеством строк и столбцов. Это принципиально.
Если, к примеру, количество строк (количество уравнений в системе) будет меньше, чем количество столбцов (практически, количества неведомых), то система будет неопределенной, т. е. мы не сможем совершенно точно найти все неведомые (решить систему).
Но это не единственное ограничение. Из векторной алгебры понятно, что система линейных уравнений имеет решение (однозначное) и тогда лишь тогда, когда ее основной определитель не равен нулю: Δ ≠ 0.
Разглядим вариант, когда определитель системы равен нулю. Тут вероятны два варианта:
1. Δ = 0 и любой из доп определителей Δxi
= 0. Это имеет пространство лишь тогда, когда коэффициенты при неведомых xi
пропорциональны, т. е. каждое уравнение системы выходит из первого уравнения умножением обеих его частей на число k. При всем этом система имеет бессчетное огромное количество решений.
2. Δ = 0 и хотя бы один доп определитель Δxi
≠ 0. Это имеет пространство лишь тогда, когда коэффициенты при всех неведомых xi
, пропорциональны. При всем этом выходит система из противоречивых уравнений, которая не имеет решений.
Матричный способ решения систем линейных уравнений.
Пусть дана система линейных уравнений:
Разглядим матрицу, составленную из коэффициентов при неведомых:
Вольные члены и неведомые можно записать в виде матрицы столбцов:
Тогда, используя правило умножение матриц, эту систему уравнений можно записать так:
либо
A·x = b. (1)
Равенство (1) именуется матричным уравнением либо системой уравнений в матричном виде.
Матрица А коэффициентов при неведомых именуется главной матрицей системы.
Время от времени разглядывают также расширенную матрицу системы, т. е. главную матрицу системы, дополненную столбцом вольных членов, которую записывают в последующем виде:
Всякую линейную систему уравнений можно записать в матричном виде. к примеру, пусть дана система:
Эта система из 2-ух уравнений с 3-мя неведомыми – x, y,. В высшей арифметике можно разглядывать системы из весьма огромного числа уравнений с огромным количеством неведомых и потому неведомые принято обозначать лишь буковкой х, но с индексами:
Запишем эту систему в матричном виде:
тут основная матрица системы:
Расширенная матрица будет иметь вид:
Матричные уравнения решаются с помощью оборотных матриц. Уравнение решается последующим образом. Пусть матрица А – невырожденная (D ≠ 0), тогда существует оборотная матрица А-1. Умножив на нее обе части матричного уравнения, имеем А-1(АХ) = А-1В. Используя сочетательный законумножения, перепишем это равенство в виде
(А-1А) Х = А-1В.
Так как А-1 А = Е и ЕХ = Х, находим:
Х = А-1В.
Таковым образом, чтоб решить матричное уравнение, необходимо:
1. Отыскать оборотную матрицу А-1.
2. Отыскать произведение оборотной матрицы А-1 на матрицу столбец вольных членов В, т. е А-1В.
Пользуясь определением равных матриц, записать ответ.
При всем этом фактически нахождение оборотной матрицы – процесс довольно трудозатратный и его программирование навряд ли можно именовать простой задачей. Потому на практике почаще используют численные способы решения систем линейных уравнений.
К численным способам решения систем линейных уравнений относят такие как: способ Гаусса, способ Крамера, итеративные способы. В способе Гаусса, к примеру, работают над расширенной матрицей системы. А в способе Крамера – с определителями системы, образованными по специальному правилу.
Способ Крамера.
При решении систем линейных уравнений по способу Крамера поочередно производится последующий метод:
1. Записывают систему в матричном виде (если это еще не изготовлено).
2. Вычисляют основной определитель системы:
3. Вычисляют все доп определители системы:
4. Если основной определитель системы не равен нулю, то делают пункт 5. По другому разглядывают вопросец о разрешимости данной системы (имеет бессчетное огромное количество решений либо не имеет решений). Находят значения всех неведомых по формулам Крамера для решения системы n линейных уравнений с n неведомыми, которые имеют вид:
Решить по способу Крамера систему из 3-х уравнений с 3-мя неведомыми:
Запишем основной и побочные определители системы:
Вычислим эти определители:
Δ = 3*4*(-4)+7*(-3)*5+(-2)*(-8)*5-5*4*5-3*(-3)*(-8)-7*(-2)*(-4) = 48-105+80-100-72-56 = 128-333 = -205.
Δ1 = -112+(-45)+(-192)-(-240)-24-168 = -112-45-192+240-24-168 = 240-541 = -301.
Δ2 = -36-420-280-75+196-288 = 196-1099 = -903.
Δ3 = -144-147-30-140+27-168 = -629+27 = -602.
Основной определитель системы не равен нулю. Находим неведомые по формулам Крамера.
Подставим отысканные значения определителей в формулы Крамера:
x1 = Δ1/Δ = -301/(-205) = 1,468292682927 ≈ 1,47;
x2 = Δ2/Δ = -903/(-205) = 4,40487804878 ≈ 4,4;
x3 = Δ3/Δ = -602/(-205) = 2,936585365854 ≈ 2,93.
При решении систем линейных уравнений по способу Крамера употребляются формулы, в каких участвуют как основной, так и доп определители системы:
Напомним, что основным определителем системы именуется определитель главной матрицы системы, составленной из коэффициентов при неведомых:
Если в основном определителе системы поменять попеременно столбцы коэффициентов при x1
, x2
,…xn
на столбец вольных членов, то получим n доп определителей (для всякого из n неведомых):
При всем этом важен вопросец о разрешимости данной системы, который решается сопоставлением головного и доп определителей системы с нулем:
Способ Гаусса – прямой и оборотный ход.
Разглядим способ Гаусса. К примеру, пусть дана расширенная матрица некой системы m линейных уравнений c n неведомыми:
Будем считать, что a11
≠ 0 (если это не так, то довольно переставить первую и некую другую строчку расширенной матрицы местами). Проведем последующие простые преобразования:
C2
-(a21
/a11
)*C1
,
…
Cm
-(am1
/a11
)*C1
,
т.е. Ci-(ai1
/a11
)*C1
, i = 2, 3, …, m.
Т. е. от каждой строчки расширенной матрицы (не считая первой) отнимаем первую строчку, умноженную на личное от деления первого элемента данной нам строчки на диагональный элемент а11
.
В итоге получим матрицу:
Т. е. 1-ая строчка осталась без конфигураций, а в столбце под а1
1 на всех местах оказались нули. Обратим внимание, что преобразования задели всех частей строк, начиная со 2-ой, всей расширенной матрицы системы.
Сейчас наша задачка заключается в том, чтоб получить нули подо всеми диагональными элементами матрицы А – aij
, где I = j.
Повторим наши простые преобразования, но уже для элемента α22
.
C1
-(a12
/α22
)*C2
,
…
Cm
-(αm2
/α22
)*C2
,
т.е. Ci
-(αi2
/α22
)*C2
, i = 3, …, m.
Т. е. от каждой строчки расширенной матрицы (сейчас не считая первой и 2-ой) отнимаем вторую строчку, умноженную на личное от деления первого элемента данной нам (текущей) строчки на диагональный элемент α22
.
Такие преобразования длятся до того времени, пока матрица не приведется к верхнее — треугольному виду. Т. е. под главной диагональю не окажутся все нули:
Вспомнив, что любая строчка представляет собой одно из уравнений линейной системы уравнений, просто увидеть, что крайнее m-ое уравнение воспринимает вид:
γmn
*xn
= δm
.
Отсюда просто можно отыскать
Подставив это
Таковым образом, поднимаясь до самого верха оборотным ходом способа Гаусса, мы поочередно найдем все корешки системы уравнений.
Разглядим систему уравнений:
Основной определитель данной системы:
Δ = [1*(-4)*(-2)+2*2*1+(-1)*(-1)*(-1)]-[1*(-4)*(-1)+2*(-1)*(-2)+2*(-1)*1] = [8+4-1]-[4+4-2] = 11-6 =5,
т. е. Δ ≠ 0.
Т. е. система определена и разрешима. Решим ее по способу Гаусса.
Проведем прямой ход способа Гаусса, выписав за ранее расширенную матрицу системы:
Получим нули под главной диагональю в первом столбце расширенной матрицы. Для получения нуля в элементе a21 (т. е. под диагональю во 2-ой строке матрицы) вторую строчку матрицы преобразуем по формуле C2
-(a21
/a11
)*C1
= C2
-(2/1)*C1
= C2
-2*C1
:
Аналогично поступаем и с элементом а31 (т. е. под диагональю в третьей строке матрицы). Третью строчку матрицы преобразуем по формуле C3
-(a31
/a11
)*C1
= C3
-(-1/1)*C1
= C3
+C1
:
Таковым образом, мы получили нули под главной диагональю в первом столбце расширенной матрицы. Осталось получить нуль под главной диагональю во 2-м столбце матрицы, т. е. на месте элемента а32. Для этого третью строчку матрицы преобразуем по формуле C3
-(a32
/a22
)*C2
= C3
-(1/-2)*C2
= C3
+1/2C2
:
Таковым образом, проведя
, мы получили расширенную матрицу системы, приведенную к верхне-треугольному виду:
Эта матрица эквивалентна системе:
Оборотным ходом способа Гаусса
найдем корешки системы. Из крайнего уравнения найдем корень х3
:
-5/2×3
= 3/2,
x3
= (3/2):(-5/2) = 3/2*(-2/5) = -3/5.
Корень x3
= -3/5 найден. Подставим его в верхнее (2-ое) уравнение системы (-2×2
-3×3
= 1):
-2×2
-3(-3/5) = 1,
-2×2
+9/5 = 1,
-2×2
= 1-9/5,
-2×2
= -4/5,
x2
= (-4/5):(-2) = (-4/5)*(-1/2) = 2/5.
Корень x2
= 2/5 найден. Подставим его и корень х3
в верхнее (1-ое) уравнение системы (x1
-x2
+x3
= 0):
x1
-2/5+(-3/5) = 0,
x1
-5/5 = 0,
x1
= 5/5 = 1.
Проверка:
т. е.
т. е.
и т. д.
Итак, способ Гаусса (либо, по другому, способ поочередного исключения неведомых) состоит в последующем:
1. Методом простых преобразований систему уравнений приводят к эквивалентной ей системе с верхне-треугольной матрицей. Эти деяния именуют прямым ходом.
2. Из приобретенной треугольной системы переменные находят при помощи поочередных подстановок (оборотный ход).
3. При всем этом все преобразования проводятся над так именуемой расширенной матрицей системы, которую и приводят к верхнее — треугольному виду в прямом ходе способа.
Итерация для линейных систем.
метод итераций дает возможность получить последовательность приближенных значений, сходящихся к четкому решению системы, подобно тому, как это делается для 1-го уравнения.
Для определенности ограничимся системой из 4 уравнений с 4-мя неведомыми (система 4-ого порядка), которую запишем в виде:
Разрешим 1-ое уравнение системы относительно х1
:
х1
= (-a12
/a11
)х2
-a13
/a11
х3
-a14
/a11
х4
-a15
/a11
.
Потом разрешим 2-ое уравнение относительно х2
и т. д. Тогда систему можно переписать в виде:
гдеα = -aik
/aii
, i = 1, 2, 3, 4; k = 1, 2, 3, 4, 5.
Система является личным случаем записи вида:
При всем этом линейная функция L1
практически не зависит от х1
.
Зададим какие-либо исходные значения неведомых (нулевые приближения):
х1
(0)
, х2
(0)
, х3
(0)
, х4
(0)
.
Подставляя эти значения в правые части системы
, получим 1-ые приближения:
Приобретенные 1-ые приближения могут быть так же применены для получения вторых, третьих и т. д. приближений. Т. е. можно записать:
Условия сходимости итерационного процесса.
Установим условия, выполнение которых обеспечит сходимость получающихся приближений к настоящему (четкому) решению системы х1
, х2
, х3
, х4
.
Не вдаваясь в подробности, скажем, что для того чтоб итерационный процесс сходился к четкому решению, довольно, чтоб все коэффициенты системы были малы по сопоставлению с диагональными.
Это условие можно сконструировать и наиболее буквально:
:
Итерация Якоби.
Разглядим систему линейных уравнений:
Уравнения можно записать в виде:
Это дозволяет предложить последующий итерационный процесс:
либо (иной вид записи)
Покажем, что если начать с точки P0
= (х1
(0)
, х2
(0)
, х3
(0)
, х4
(0)
) = (1, 2, 2), то итерация (3) сходится к решению (2, 4, 3). Подставим х1
= 1, х2
= 2, х2
= 2 в правую часть всякого уравнения из (3), чтоб получить новейшие значения:
Новенькая точка P1
= (х1
(1)
, х2
(1)
, х3(1)
, х4
(1)
) = (1.75, 3.375, 3), поближе, чем P0
.
Итерация, использующая (3), генерирует последовательность точек {Pk
}, которая сходится к решению (2, 4, 3):
k
х1(k)
х2(k)
х3(k)
0
1.0
2.0
2.0
1
1.75
3.375
3.0
2
1.84375
3.875
3.025
3
1.9625
3.925
2.9625
4
1.990625
3.9765625
3.0
5
1.99414063
3.9953125
3.0009375
…
…
…
…
15
1.99999993
3.99999985
3.0009375
…
…
…
…
19
2.0
4.0
3.0
Этот процесс именуется
и может употребляться для решения определенных типов линейных систем.
Итерация Гаусса-Зейделя.
процесс итерации Якоби время от времени можно видоизменять для убыстрения сходимости.
Отметим, что итеративный процесс Якоби производит три последовательности – {х1
(k)
}, {х2
(k)
}, {х3
(k)
}, {х4
(k)
}. Кажется разумным, что х1
(k+1)
быть может применено заместо х2
(k
). Аналогично х1
(k+1)
и х2
(k+1)
можно применять в вычислении х3
(k+1)
. к примеру, для уравнений из системы (1) это даст последующий вид итерационного процесса Гаусса-Зейделя, использующий (3*):
Таковой итерационный процесс даст результаты:
k
х1
(k)
х2
(k)
х3
(k)
0
1.0
2.0
2.0
1
1.75
3.75
2.95
2
1.95
3.96875
2.98625
3
1.995625
3.99609375
2.99903125
…
…
…
…
8
1.99999983
3.99999988
2.99999996
9
1.99999998
3.99999999
3.0
10
2.0
4.0
3.0
Т. е. к четкому решению мы пришли уже на 10-ом шаге итерации, а не на 19, как в итерации Якоби.
Вывод.
1. метод итераций дает возможность получить последовательность приближенных значений, сходящихся к четкому решению системы. Для этого система приводится к виду (для варианта системы из 4 уравнений):
Эти формулы как раз и задают фактически итерационный процесс.
2. При всем этом чтоб итерационный процесс сходился к четкому решению, довольно, чтоб все коэффициенты системы были малы по сопоставлению с диагональными.
Это условие можно сконструировать и наиболее буквально:
Для сходимости процесса итераций довольно, чтоб в любом столбце сумма отношений коэффициентов системы к диагональным элементам, взятым из той же строчки, была строго меньше единицы:
3. Следует так же сказать, что итерационный процесс может проводиться как в виде итерации Якоби, так и в виде итерации Гаусса-Зейделя. В крайнем случае сходимость итерационного процесса может значительно улучшиться.
Практическая часть.
1) Способ оборотной матрицы.
Способ оборотной матрицы
x1
x2
x3
x4
12
-4
0
6
2
A=
-4
21
5
3
B=
4
-3
2
-22
1
-2
-2
-3
5
23
4
0,083
0,013
-0,002
-0,023
A-1
=
0,016
0,048
0,009
-0,011
-0,009
0,003
-0,044
0,004
0,011
0,007
0,010
0,039
x=
0,129
0,165
0,097
0,186
2) способ Крамера.
Способ Крамера
x1
x2
x3
x4
12
-4
0
6
2
A=
-4
21
5
3
B=
4
-3
2
-22
1
-2
-2
-3
5
23
4
‘A’=
-134088
2
-4
0
6
A1
=
4
21
5
3
-2
2
-22
1
4
-3
5
23
‘A1
‘=
-17296
x1
=
0,129
12
2
0
6
A2
=
-4
4
5
3
-3
-2
-22
1
-2
4
5
23
‘A2
‘=
-22188
x2
=
0,165
12
-4
2
6
A3
=
-4
21
4
3
-3
2
-2
1
-2
-3
4
23
‘A3
‘=
-12980
x3
=
0,097
12
-4
0
2
A4
=
-4
21
5
4
-3
2
-22
-2
-2
-3
5
4
‘A4
‘=
-24896
x4
=
0,186
x=
0,129
0,165
0,097
0,186
3) способ Гаусса.
Способ Гаусса
x1
x2
x3
x4
12
-4
0
6
2
A=
-4
21
5
3
B=
4
-3
2
-22
1
-2
-2
-3
5
23
4
‘A’=
-134088
1,000
-0,333
0,000
0,500
0,167
-4,000
21,000
5,000
3,000
4,000
-3,000
2,000
-22,000
1,000
-2,000
-2,000
-3,000
5,000
23,000
4,000
1,000
-0,333
0,000
0,500
0,167
0,000
25,333
5,000
5,000
4,667
0,000
1,000
-22,000
2,500
-1,500
0,000
-3,667
5,000
24,000
4,333
1,000
-0,333
0,000
0,500
0,167
0,000
1,000
0,197
0,197
0,184
0,000
0,000
-22,197
2,303
-1,684
0,000
0,000
5,724
24,724
5,009
1,000
-0,333
0,000
0,500
0,167
0,000
1,000
0,197
0,197
0,184
0,000
0,000
1,000
-0,104
0,076
0,000
0,000
0,000
25,317
4,574
x=
0,120
0,130
0,095
0,181
4) Листинг программки (способ Крамера, Способ Гаусса, Способ оборотной матрицы).
Begin
VB
.
Form
frmAriel
BorderStyle = 1 ‘Единственный Фиксированный
Caption = «Решение систем линейных уравнений»
ClientHeight = 6315
ClientLeft = 4365
ClientTop = 2430
ClientWidth = 7815
BeginProperty Font
Name = «MS Sans Serif»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = -1 ‘True
Strikethrough = 0 ‘False
EndProperty
LinkTopic = «
Форма
1″
MaxButton = 0 ‘False
MinButton = 0 ‘False
ScaleHeight = 6315
ScaleWidth = 7815
Begin VB.TextBox txtMOMZ
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty Font
Name = «Times New Roman»
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 3960
TabIndex = 45
Top = 5520
Width = 975
End
Begin VB.TextBox txtMOMY
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty Font
Name = «Times New Roman»
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 2640
TabIndex = 44
Top = 5520
Width = 975
End
Begin VB.TextBox txtMOMX
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty DataFormat
Type = 1
Format = «0,0000»
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = «Times New Roman»
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 1320
TabIndex = 43
Top = 5520
Width = 975
End
Begin VB.TextBox txtMGZ
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty Font
Name = «Times New Roman»
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 3960
TabIndex = 42
Top = 4800
Width = 975
End
Begin VB.TextBox txtMGY
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty Font
Name = «Times New Roman»
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 2640
TabIndex = 41
Top = 4800
Width = 975
End
Begin VB.TextBox txtMGX
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty DataFormat
Type = 1
Format = «0,0000»
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = «Times New Roman»
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 1320
TabIndex = 40
Top = 4800
Width = 975
End
Begin VB.TextBox txtMKZ
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty Font
Name = «Times New Roman»
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 3960
TabIndex = 39
Top = 4080
Width = 975
End
Begin VB.TextBox txtMKY
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty Font
Name = «Times New Roman»
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 2640
TabIndex = 38
Top = 4080
Width = 975
End
Begin VB.TextBox txtMKX
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty DataFormat
Type = 1
Format = «0,0000»
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
DataMember = «0,0000»
BeginProperty Font
Name = «Times New Roman»
Size = 15.75
Charset = 204
Weight = 400
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 1320
Locked = -1 ‘True
TabIndex = 37
Top = 4080
Width = 975
End
Begin VB.TextBox txtA33
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty DataFormat
Type = 1
Format = «0,000»
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = «Times New Roman»
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 4440
TabIndex = 30
Top = 2640
Width = 1095
End
Begin VB.TextBox txtA23
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty DataFormat
Type = 1
Format = «0,000»
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = «Times New Roman»
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 4440
TabIndex = 29
Top = 2040
Width = 1095
End
Begin VB.TextBox txtA13
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty DataFormat
Type = 1
Format = «0,000»
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = «Times New Roman»
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 4440
TabIndex = 28
Top = 1440
Width = 1095
End
Begin VB.TextBox txtA32
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty DataFormat
Type = 1
Format = «0,000»
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = «Times New Roman»
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 2520
TabIndex = 24
Top = 2640
Width = 1095
End
Begin VB.TextBox txtA22
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty DataFormat
Type = 1
Format = «0,000»
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = «Times New Roman»
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 2520
TabIndex = 23
Top = 2040
Width = 1095
End
Begin VB.TextBox txtA12
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty DataFormat
Type = 1
Format = «0,000»
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = «Times New Roman»
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 2520
TabIndex = 22
Top = 1440
Width = 1095
End
Begin VB.CommandButton cmdExit
Caption = «
Выход
«
BeginProperty Font
Name = «Times New Roman»
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = -1 ‘True
Strikethrough = 0 ‘False
EndProperty
Height = 495
Left = 5400
TabIndex = 18
Top = 5520
Width = 2055
End
Begin VB.CommandButton cmdCount
Caption = «
Вычислить
«
BeginProperty Font
Name = «Times New Roman»
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = -1 ‘True
Strikethrough = 0 ‘False
EndProperty
Height = 495
Left = 5400
TabIndex = 17
Top = 4680
Width = 2055
End
Begin VB.CommandButton cmdClean
Caption = «
Очистить
«
BeginProperty Font
Name = «Times New Roman»
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = -1 ‘True
Strikethrough = 0 ‘False
EndProperty
Height = 495
Left = 5400
TabIndex = 16
Top = 3840
Width = 2055
End
Begin VB.TextBox txtB3
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty DataFormat
Type = 1
Format = «0,000»
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = «Times New Roman»
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 6480
TabIndex = 12
Top = 2640
Width = 1095
End
Begin VB.TextBox txtB2
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty DataFormat
Type = 1
Format = «0,000»
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = «Times New Roman»
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 6480
TabIndex = 11
Top = 2040
Width = 1095
End
Begin VB.TextBox txtB1
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty DataFormat
Type = 1
Format = «0,000»
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = «Times New Roman»
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 6480
TabIndex = 10
Top = 1440
Width = 1095
End
Begin VB.TextBox txtA31
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty DataFormat
Type = 1
Format = «0,000»
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = «Times New Roman»
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 600
TabIndex = 9
Top = 2640
Width = 1095
End
Begin VB.TextBox txtA21
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty DataFormat
Type = 1
Format = «0,000»
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = «Times New Roman»
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 600
TabIndex = 8
Top = 2040
Width = 1095
End
Begin VB.TextBox txtA11
Alignment = 2 ‘
Сглаживание
по
Центру
BeginProperty DataFormat
Type = 1
Format = «0,0000»
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 1049
SubFormatType = 1
EndProperty
BeginProperty Font
Name = «Times New Roman»
Size = 14.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 600
TabIndex = 7
Top = 1440
Width = 1095
End
Begin VB.Line
Строчка
3
X1 = 5760
X2 = 5760
Y1 = 1080
Y2 = 3360
End
Begin VB.Label
Метка
29
Caption = «Z»
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 255
Left = 4920
TabIndex = 36
Top = 1080
Width = 255
End
Begin VB.Label
Метка
28
Caption = «Y»
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 255
Left = 3000
TabIndex = 35
Top = 1080
Width = 255
End
Begin VB.Label
Метка
27
Caption = «X»
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 1080
TabIndex = 34
Top = 1080
Width = 255
End
Begin VB.Label
Метка
23
Caption = «Z»
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 255
Left = 4440
TabIndex = 33
Top = 3480
Width = 255
End
Begin VB.Label
Метка
22
Caption = «Y»
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 255
Left = 3120
TabIndex = 32
Top = 3480
Width = 255
End
Begin VB.Label
Метка
21
Caption = «X»
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 255
Left = 1800
TabIndex = 31
Top = 3480
Width = 255
End
Begin VB.Label
Метка
20
Caption = «
А
33″
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 3840
TabIndex = 27
Top = 2640
Width = 375
End
Begin VB.Label
Метка
19
Caption = «
А
23″
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 3840
TabIndex = 26
Top = 2040
Width = 375
End
Begin VB.Label
Метка
18
Caption = «
А
13″
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 3840
TabIndex = 25
Top = 1440
Width = 375
End
Begin VB.Label
Метка
17
Caption = «
А
32″
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 1920
TabIndex = 21
Top = 2640
Width = 375
End
Begin VB.Label
Метка
16
Caption = «
А
22″
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 1920
TabIndex = 20
Top = 2040
Width = 375
End
Begin VB.Label
Метка
15
Caption = «
А
12″
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 1920
TabIndex = 19
Top = 1440
Width = 375
End
Begin VB.Line
Строчка
2
X1 = 0
X2 = 7800
Y1 = 3360
Y2 = 3360
End
Begin VB.Label
Метка
12
Alignment = 2 ‘Сглаживание по Центру
Caption = «способ оборотной матрицы»
BeginProperty Font
Name = «Times New Roman»
Size = 11.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 855
Left = 0
TabIndex = 15
Top = 5280
Width = 1095
End
Begin VB.Label
Метка
11
Alignment = 2 ‘Сглаживание по Центру
Caption = «способ Гаусса»
BeginProperty Font
Name = «Times New Roman»
Size = 11.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 615
Left = 0
TabIndex = 14
Top = 4560
Width = 1095
End
Begin VB.Label
Метка
10
Alignment = 2 ‘Сглаживание по Центру
Caption = «способ Крамера»
BeginProperty Font
Name = «Times New Roman»
Size = 11.25
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 615
Left = 0
TabIndex = 13
Top = 3840
Width = 1095
End
Begin VB.Label
Метка
7
Caption = «
В
3″
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 6000
TabIndex = 6
Top = 2640
Width = 255
End
Begin VB.Label
Метка
6
Caption = «
В
2″
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 6000
TabIndex = 5
Top = 2040
Width = 255
End
Begin VB.Label
Метка
5
Caption = «
В
1″
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 6000
TabIndex = 4
Top = 1440
Width = 255
End
Begin VB.Label
Метка
4
Caption = «
А
31″
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 0
TabIndex = 3
Top = 2640
Width = 375
End
Begin VB.Label
Метка
3
Caption = «
А
21″
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 0
TabIndex = 2
Top = 2040
Width = 375
End
Begin VB.Label
Метка
2
Caption = «
А
11″
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 375
Left = 0
TabIndex = 1
Top = 1440
Width = 375
End
Begin VB.Label
Метка
1
Caption = $»frmSlay.frx»:0000
BeginProperty Font
Name = «Times New Roman»
Size = 12
Charset = 204
Weight = 700
Underline = 0 ‘False
Italic = 0 ‘False
Strikethrough = 0 ‘False
EndProperty
Height = 855
Left = 120
TabIndex = 0
Top = 120
Width = 7575
End
End
Attribute VB_Name = «frmAriel»
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub cmdClean_Click()
Dim
с
As Byte
с = MsgBox(«Желаете очистить?», 33, «Чистка»)
If
с
= 1 Then
txtA11.Text = «»
txtA12.Text = «»
txtA13.Text = «»
txtA21.Text = «»
txtA22.Text = «»
txtA23.Text = «»
txtA31.Text = «»
txtA32.Text = «»
txtA33.Text = «»
txtB1.Text = «»
txtB2.Text = «»
txtB3.Text = «»
txtMKX.Text = «»
txtMGX.Text = «»
txtMOMX.Text = «»
txtMKY.Text = «»
txtMGY.Text = «»
txtMOMY.Text = «»
txtMKZ.Text = «»
txtMGZ.Text = «»
txtMOMZ.Text = «»
End If
End Sub
Private Sub cmdCount_Click()
If (Val(txtA11) * Val(txtA22) * Val(txtA33) + Val(txtA12) * Val(txtA23) * Val(txtA31) + Val(txtA21) * Val(txtA32) * Val(txtA13) — Val(txtA13) * Val(txtA22) * Val(txtA31) — Val(txtA12) * Val(txtA21) * Val(txtA33) — Val(txtA23) * Val(txtA32) * Val(txtA11)) = 0 Then
Dim g As Byte
g = MsgBox(«Решить данную систему способом Крамера и способом оборотной матрицы нереально», 32, «Определитель системы равен 0″)
Else
ds = (Val(txtA11) * Val(txtA22) * Val(txtA33) + Val(txtA12) * Val(txtA23) * Val(txtA31) + Val(txtA21) * Val(txtA32) * Val(txtA13) — Val(txtA13) * Val(txtA22) * Val(txtA31) — Val(txtA12) * Val(txtA21) * Val(txtA33) — Val(txtA23) * Val(txtA32) * Val(txtA11))
dx = (Val(txtB1) * Val(txtA22) * Val(txtA33) + Val(txtA12) * Val(txtA23) * Val(txtB3) + Val(txtB2) * Val(txtA32) * Val(txtA13) — Val(txtA13) * Val(txtA22) * Val(txtB3) — Val(txtA12) * Val(txtB2) * Val(txtA33) — Val(txtA23) * Val(txtA32) * Val(txtB1))
dy = (Val(txtA11) * Val(txtB2) * Val(txtA33) + Val(txtB1) * Val(txtA23) * Val(txtA31) + Val(txtA21) * Val(txtB3) * Val(txtA13) — Val(txtA13) * Val(txtB2) * Val(txtA31) — Val(txtB1) * Val(txtA21) * Val(txtA33) — Val(txtA23) * Val(txtB3) * Val(txtA11))
dz = (Val(txtA11) * Val(txtA22) * Val(txtB3) + Val(txtA12) * Val(txtB2) * Val(txtA31) + Val(txtA21) * Val(txtA32) * Val(txtB1) — Val(txtB1) * Val(txtA22) * Val(txtA31) — Val(txtA12) * Val(txtA21) * Val(txtB3) — Val(txtB2) * Val(txtA32) * Val(txtA11))
txtMKX.Text = (dx / ds)
txtMKY.Text = (dy / ds)
txtMKZ.Text = (dz / ds)
txtMOMX.Text = (((Val(txtA22) * Val(txtA33) — Val(txtA23) * Val(txtA32)) / ds) * Val(txtB1) + ((Val(txtA13) * Val(txtA32) — Val(txtA12) * Val(txtA33)) / ds) * Val(txtB2) + ((Val(txtA12) * Val(txtA23) — Val(txtA13) * Val(txtA22)) / ds) * Val(txtB3))
txtMOMY.Text = (((Val(txtA23) * Val(txtA31) — Val(txtA21) * Val(txtA33)) / ds) * Val(txtB1) + ((Val(txtA11) * Val(txtA33) — Val(txtA13) * Val(txtA31)) / ds) * Val(txtB2) + ((Val(txtA13) * Val(txtA21) — Val(txtA11) * Val(txtA23)) / ds) * Val(txtB3))
txtMOMZ.Text = (((Val(txtA21) * Val(txtA32) — Val(txtA22) * Val(txtA31)) / ds) * Val(txtB1) + ((Val(txtA12) * Val(txtA31) — Val(txtA11) * Val(txtA32)) / ds) * Val(txtB2) + ((Val(txtA11) * Val(txtA22) — Val(txtA12) * Val(txtA21)) / ds) * Val(txtB3))
End If
If Val(txtA11) = 0 Then
Dim gg As Byte
gg = MsgBox(«Решить данную систему способом Гаусса нереально. Поменяйте уравнения местами, и попытайтесь опять«, 48, «Коэффициент при х в первом уравнении равен 0»)
Else
s1 = ((Val(txtB3) * Val(txtA11)) — (Val(txtB1) * Val(txtA31)))
s2 = ((Val(txtA22) * Val(txtA11)) — (Val(txtA12) * Val(txtA21)))
s3 = ((Val(txtB2) * Val(txtA11)) — (Val(txtB1) * Val(txtA21)))
s4 = ((Val(txtA32) * Val(txtA11)) — (Val(txtA12) * Val(txtA31)))
s5 = ((Val(txtA33) * Val(txtA11)) — (Val(txtA12) * Val(txtA31)))
s6 = s2
s7 = ((Val(txtA23) * Val(txtA11)) — (Val(txtA13) * Val(txtA21)))
s8 = s4
s12 = s1 * s2
s34 = s3 * s4
s56 = s5 * s6
s78 = s7 * s8
sh = s12 — s34
sz = s56 — s78
If sz = 0 Then
Dim
с
As Byte
с = MsgBox(«Разделять на ноль недозволено.», 48, «Ошибка»)
Else
txtMGZ.Text = (sh / sz)
End If
sy1 = s3
sy2 = s2
sy3 = ((Val(txtA23) * Val(txtA11)) — (Val(txtA13) * Val(txtA21)))
sy4 = s2
sy12 = (sy1) / (sy2)
sy34 = (sy3) / (sy4)
txtMGY.Text = ((sy12) — ((sy34) * (sh / sz)))
sx1 = ((Val(txtB1)) / (Val(txtA11)))
sx2 = ((Val(txtA13)) / (Val(txtA11)))
sx3 = ((Val(txtA12)) / (Val(txtA11)))
txtMGX.Text = ((sx1) — ((sx2) * (sh / sz)) — ((sx3) * ((sy12) — ((sy34) * (sh / sz)))))
End If
End Sub
Private Sub cmdExit_Click()
Dim a As Byte
a = MsgBox(«
Желаете
выйти
?», 33, «
Выход
«)
If a = 1 Then
End
End If
End Sub
Полезность введения расчетов.
Большущее количество численных способов ставит животрепещущей задачей не столько создание новейших, сколько исследование и систематизацию старенькых, выявление наилучших. анализ воздействия ошибок показал, что меж наилучшими способами нет принципной различия исходя из убеждений стойкости к ошибкам округления. Создание массивных компов значительно ослабило количество арифметических операций). В этих условия более желательными стают те способы, которые не весьма различаются от наилучших по скорости и удобству реализации на компах, разрешают решать широкий класс задач как отлично, так и плохо обусловленных и давать при всем этом оценку точности вычислительного решения.
В MathCAD и Excel численные способы представляют собой те же самые принятые ручные расчёты, но выполняемые не человеком, а компом, что понижает возможность ошибки до нуля. программка на VisualBasic намного упрощает задачку. При помощи единожды сделанной программки можно решать системы линейных уравнений, вводя минимум значений. Также эта программка быть может применена не только лишь вами, да и ординарными юзерами.
Литература
1) М. Додж, К. Кината, К. Стинсон «Действенная работа в Microsoft Excel 97», издательство «Питер»; Санкт-Петербург, 1998г.2) Е.К. Овчаренко, О.П. Ильина, Е.В. Балыбердин «Финансово — экономические расчеты в Excel», Москва, 1999 г.3) Йорг Шиб, Excel 7,0: Сотки нужных рецептов, Дюссельдорф-Киев-Москва- Санкт-Петербург, 1997 г.
4) Симонович С.В. и др. Информатика Базисный курс: Учеб, для технических вузов. СПБ: Изд. «Питер», 2004.–640с
5) Калиткин Н.Н. и др. Численные способы. М.: Наука, 1982
6) Турчак Л.И. Базы численных способов. М.: Наука, 1987
7) Дьяконов В.П. Система MathCAD. М.: Радио и связь, 1993
]]>