Excel решение системы дифференциальных уравнений

Обзор методов решения в Excel

Введение

Уравнение называется обыкновенным дифференциальным n-го порядка, если F определена и непрерывна в некоторой области и, во всяком случае, зависит от . Его решением является любая функция u(x), которая этому уравнению удовлетворяет при всех x в определённом конечном или бесконечном интервале. Дифференциальное уравнение, разрешенное относительно старшей производной имеет вид

Решением этого уравнения на интервале I=[a,b] называется функция u(x).

Решить дифференциальное уравнение у / =f(x,y) численным методом — это значит для заданной последовательности аргументов х0, х1…, хn и числа у0, не определяя функцию у=F(x), найти такие значения у1, у2,…, уn, что уi=F(xi)(i=1,2,…, n) и F(x0)=y0.

Таким образом, численные методы позволяют вместо нахождения функции y=F(x) (3) получить таблицу значений этой функции для заданной последовательности аргументов. Величина h=xk-xk-1 называется шагом интегрирования.

Метод Эйлера относиться к численным методам, дающим решение в виде таблицы приближенных значений искомой функции у(х). Он является сравнительно грубым и применяется в основном для ориентировочных расчетов. Однако идеи, положенные в основу метода Эйлера, являются исходными для ряда других методов.

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

Обзор методов решения в Excel

1.1 Метод Рунге-Кутта четвертого порядка для решения уравнения первого порядка

Идея Рунге-Кута состоит в том, чтобы использовать метод неопределённых коэффициентов. Наиболее употребительным методом Рунге-Кутта решения уравнения первого порядка y’ = F(x,y) (1) является метод четвертого порядка, в котором вычисления производятся по формуле:

ФУНКЦИИ VBA EXCEL ДЛЯ ЧИСЛЕННОГО РЕШЕНИЯ ЗАДАЧИ КОШИ СИСТЕМЫ ОДУ 1-ГО ПОРЯДКА Текст научной статьи по специальности « Математика»

Аннотация научной статьи по математике, автор научной работы — Сдвижков О.А.

Приведены программные коды пользовательских функций VBA Excel, реализующих численные методы решения задачи Коши для системы обыкновенных дифференциальных уравнений 1-го порядка методами Эйлера и Рунге-Кутта четвертого порядка точности. Параметрами функций являются начальное и конечное значения независимой переменной, массив начальных значений зависимых переменных и число шагов, в программных кодах применяются динамические массивы. Пользовательские функции можно применять к задаче Коши и одного дифференциальных уравнений 1-го порядка. Все пользовательские функции имеют описания, поясняющие их назначения. Применение пользовательских функций показано на конкретных примерах численного решения задачи Коши системы дифференциальных уравнений 1-го порядка и отдельных дифференциальных уравнений 1-го порядка.

Похожие темы научных работ по математике , автор научной работы — Сдвижков О.А.

EXCEL VBA FUNCTIONS FOR NUMERICAL SOLUTION OF A CAUCHY PROBLEM OF THE FIRST-ORDER ODE SYSTEM

The current study presents program codes of custom VBA Excel functions that implement numerical methods for solving the Cauchy problem for a system of 1st order ordinary differential equations using the Euler and Runge-Kutta 4th order methods. The parameters of the functions are the initial and final values of the independent variable, an array of initial values of the dependent variables, and the number of steps. Program codes use dynamic arrays. Custom functions can be applied to the Cauchy problem and one of the 1st order differential equations. All of the custom functions have descriptions that explain their purpose. The article demonstrates the use of custom functions using specific examples of numerical solutions to the Cauchy problem of 1st order differential equations system and individual 1st-order differential equations.

Текст научной работы на тему «ФУНКЦИИ VBA EXCEL ДЛЯ ЧИСЛЕННОГО РЕШЕНИЯ ЗАДАЧИ КОШИ СИСТЕМЫ ОДУ 1-ГО ПОРЯДКА»

ФУНКЦИИ VBA EXCEL ДЛЯ ЧИСЛЕННОГО РЕШЕНИЯ ЗАДАЧИ КОШИ СИСТЕМЫ ОДУ 1-ГО ПОРЯДКА

Российский государственный университет туризма и сервиса, Пушкино МО, Россия * Корреспондирующий автор (oasdv[at]yandex.ru)

Приведены программные коды пользовательских функций VBA Excel, реализующих численные методы решения задачи Коши для системы обыкновенных дифференциальных уравнений 1-го порядка методами Эйлера и Рунге-Кутта четвертого порядка точности. Параметрами функций являются начальное и конечное значения независимой переменной, массив начальных значений зависимых переменных и число шагов, в программных кодах применяются динамические массивы. Пользовательские функции можно применять к задаче Коши и одного дифференциальных уравнений 1-го порядка. Все пользовательские функции имеют описания, поясняющие их назначения. Применение пользовательских функций показано на конкретных примерах численного решения задачи Коши системы дифференциальных уравнений 1 -го порядка и отдельных дифференциальных уравнений 1 -го порядка.

Ключевые слова: система дифференциальных уравнений, задача Коши, численные методы, код, диалоговое окно.

EXCEL VBA FUNCTIONS FOR NUMERICAL SOLUTION OF A CAUCHY PROBLEM OF THE FIRST-ORDER ODE SYSTEM

Russian State University of Tourism and Service, Pushkino, Moscow Oblast, Russia * Corresponding author (oasdv[at]yandex.ru)

The current study presents program codes of custom VBA Excel functions that implement numerical methods for solving the Cauchy problem for a system of 1st order ordinary differential equations using the Euler and Runge-Kutta 4th order methods. The parameters of the functions are the initial and final values of the independent variable, an array of initial values of the dependent variables, and the number of steps. Program codes use dynamic arrays. Custom functions can be applied to the Cauchy problem and one of the 1st order differential equations. All of the custom functions have descriptions that explain their purpose. The article demonstrates the use of custom functions using specific examples of numerical solutions to the Cauchy problem of 1st order differential equations system and individual 1st-order differential equations.

Keywords: system of differential equations, Cauchy problem, numerical methods, code, dialog box.

Системы обыкновенных дифференциальных уравнений 1-го порядка имеют большое прикладное значение [9]. Однако численные методы решения задачи Коши системы обыкновенных дифференциальных уравнений 1 -го порядка отличаются большой трудоемкостью [1], [2], [6]. Поэтому задача информатизации этих методов, доступной самому широкому кругу пользователей ПК, каким является круг пользователей Microsoft Office, несомненно, является актуальной.

Цель данного исследования — разработка на языке программирования VBA Excel [3], [4], [7] программных кодов пользовательских функций [10], которыми численно решается задача Коши системы обыкновенных дифференциальных уравнений 1-го порядка методами Эйлера и Рунге-Кутта.

Программный код функции VBA Excel для решения методом Рунге-Кутта системы двух дифференциальных уравнений приведен в [5]. Пользовательские функции VBA Excel для численного решения задачи Коши обыкновенного дифференциального уравнения 1-го порядка приведены в [9].

1. Пользовательская функция ЭЙЛЕР

В методе Эйлера численного решения задачи Коши системы дифференциальных уравнений

dyL = f1(Х У1, У 2 Ут ) ах

= Л(Х У1, У 2 Ут ) „ 1Ч

йУт = /т (Х У1, У2 Ут )

У1( Хо) = У°, У2(Хо) = У20,-, Ут (Хо) = У0т (1.2)

на отрезке [хо, xo + n h] применяется формула:

у л = У ji-1 + h • f (хо + (i — 1)h Уи-1> У 2 i-iv, Ут1-1) (1.3)

j = 1, 2, . m; i= 1, 2, . n.

Правые части системы (1.1) в VBA Excel можно задать пользовательской функцией СИСТЕМ, листинг которой имеет вид:

Function СИСТЕМ (Массив As Variant)

‘массив состоит из значений^ — номера уравнения,х,у1,у2. yn Select Case Массив(1) Case 1

СИСТЕМ = /1(Массив(2), Массив(3), . Массив(т)) Case 2

СИСТЕМ = /2(Массив(2), Массив(3), . Массив(т))

СИСТЕМ = /п(Массив(2), Массив(3), . Массив(т)) End Select End Function

Пусть система (1.1) задана пользовательской функцией СИСТЕМ. Тогда пользовательская функция ЭЙЛЕР, код VBA Excel которой приведен в листинге 1, выполняет вычисления по формуле (1.3). Листинг 1. Код функции ЭЙЛЕР и ее описания Function ЭйЛЕР(Нач_х0, Конеч_х, Нач_у0(), Шагов) As Variant Dim n As Integer, m As Integer, x(), y(), z(), c() n = Шагов:т = иВоиМ(Нач_у0) ReDim z(1 To m, 0 To n):ReDim x(0 To n) ReDim y(1 To m + 2):ReDim c(1 To m) x(0) = Нач_x0:h = (Конеч_x — x(0)) / n For i = 1 To m z(i, 0) = Нач_у0® Next

Forj = 1 To n For i = 1 To m

y(1) = i: y(2) = x(0) + h * (j — 1) For r = 3 To m + 2 y(r) = z(r — 2, j — 1) Next

z(i, j) = z(i, j — 1) + h * СИСТЕМ(Массив)

For i = 1 To m c(i) = z(i, n) Next

ЭЙЛЕР = c End Function Sub InstallFunc2()

Application.MacroOptions Macш:=»ЭИЛЕР», Descriptions _ «Возвращает значения yi, полученные методом Эйлера» End Sub

В листинг 1 входят массивы:

z(1 To m, 0 To n)- двумерный массив значений функцийу1, у2, . ym в точках x0, x0+h, . x0+n h; x(0 To n) — массив значений х0, x0+h, . x0+nh;

y(1 To m + 2) — массив значений (i, x, y1, y2, . ym), где i — номер уравнения системы;

c(1 To m) — массив итоговых значений массива z.

Пример 1.1. Найти приближенные значения решения системы

с начальными условиями у (0) = 0, у2(0) = 1. Вычислить значения решения при х=0,1; 0,2; 0,3; 0,4.

1. В стандартный модуль вводится листинг функции СИСТЕМ: Function СИСТЕМ(Массив As Variant)

Select Case Массив (1) Case 1

СИСТЕМ = Массив (4) Case 2

СИСТЕМ = Массив (3) End Select End Function

2. В диапазон А1:А5 вводятся значения, принимаемые переменной х: 0; 0,1; 0,2; 0,3; 0,4.

3. В диапазон В1:С1 вводятся начальные значения, принимаемые у1 и у2: 0 и 1.

4. Выделяется диапазон В2:С2, вызывается функция ЭЙЛЕР и вводятся данные:

Рис. 1.1 — Применение функции ЭЙЛЕР в примере 1.1

5. Команда Ог^Ый +Enter возвращает в диапазоне В2:С2 результаты.

6. Копирование данных диапазона В2:С2 в диапазон В3:С5 завершает решение задачи (рис. 1.2).

Рис. 1.2 — Вид решения примера 1.1 функцией ЭЙЛЕР Пример 1.2. Найти приближенные значения решения системы

с начальными условиями у (0) = 1, у2(0) = 2, у3 (0) = 3. Вычислить значения решения при х=0,1; 0,2; 0,3; 0,4; 0,5.

1. В стандартный модуль вводится листинг функции СИСТЕМ: Function СИСТЕМ(Массив As Variant) Select Case Массив(1) Case 1

СИСТЕМ = Массив(4) + Массив(5) Case 2

СИСТЕМ = Массив(3) + Массив(5) Case 3

СИСТЕМ = Массив(3) + Массив(4)

End Select End Function

2. В диапазон А1:А6 вводятся значения, принимаемые х: 0; 0,1; 0,2; 0,3; 0,4; 0,5.

3. В диапазон B1:D1 вводятся начальные значения, принимаемые yi, у2, у3: 1, 2, 3.

4. Выделяется диапазон B2:D2, вызывается функция ЭЙЛЕР и вводятся данные:

Рис. 1.3 — Применение функции ЭЙЛЕР в примере 1.2

5. Команда Ог1+8Ый +Бйег возвращает в диапазоне В2:Б2 результаты.

6. Копирование данных диапазона В2:Б2 в диапазон В3:Б6 завершает решение задачи (рис. 1.4).

J 0,2 2,07 2,88 3,69

4 0,3 2,727 3,456 4,185

5 0,4 3,4911 4,1472 4,8033

Б 0,5 4,38615 4,97664 15,56713

Рис. 1.4 — Вид решения примера 1.2 функцией ЭЙЛЕР

Функция Эйлер применима и к задаче Коши обыкновенного дифференциального уравнения 1 -го порядка. Пример 1.3. Найти приближенные значения решения задачи Коши

на отрезке [0, 1], разбивая отрезок на 10 равных частей. В этом случае код функции СИСТЕМ имеет вид: Function СИСТЕМ(Массив As Variant) СИСТЕМ = Массив(2) + Массив(3) End Function

Применение функции ЭЙЛЕР приводит к результатам, показанным на рисунке 1.3.

В с D Е F G Н 1 J К

0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

1,1 1,22 1,362 1,5282 1,72102 1,943122 2,197434 2,487178 2,815895 3,187485]

Рис. 1.5 — Вид решения примера 1.3 функцией ЭЙЛЕР

2. Пользовательская функция РУНГЕ

В методе Рунге-Кутта четвертого порядка точности, которым численно решается задача Коши (1.1, 1.2):

k(2) = fj (x. + h / 2, уи + h ■ С / 2. уш + h • k« /2), (2.2)

k(? = fj (x + h /2, yH + h ■ k^ / 2. у„г + h ■ кП2) / 2), k(4 = fj(x + h,yw + h ■ *£>. уйг + h ■ О.

Пусть система (1.1) задана пользовательской функцией СИСТЕМ. Тогда пользовательская функция РУНГЕ, программный код VBA Excel которой приведен в листинге 2, выполняет вычисления по формулам (2.1), (2.2). Листинг 2. Код функции РУНГЕ и ее описания Function РУНГЕ(Нач_х, Конеч_х, Нач_у() As Variant, Шагов) _ As Variant

Dim n As Integer, m As Integer, h As Single, x(), y(), z(), c()

n = Шагов:т = иВоиМ(Нач_у)

ReDim z(1 To m, 0 To n):ReDim x(0 To n)

ReDim y(l To m + 2):ReDim c(1 To m)

Dim K(1 To 4) As Double

x(0) = Нач_x:h = (Конеч_х — x(0)) / n

For i = 1 To n Forj = 1 To m

y(1) = j: y(2) = x(0) + h * (i — 1) For r = 3 To m + 2 y(r) = z(r — 2, i — 1) Next

Массив = y:K(1) = h * СИСТЕМ(Массив) y(1) = j: y(2) = x(0) + h * (i — 1) + h / 2 For r = 3 To m + 2 y(r) = z(r — 2, i — 1) + K(1) / 2 Next

K(2) = h * СИСТЕМ(Массив) y(1) = j: y(2) = x(0) + h * (i — 1) + h / 2 For r = 3 To m + 2 y(r) = z(r — 2, i — 1) + K(2) / 2 Next

K(3) = h * СИСТЕМ(Массив):y(1) = j: y(2) = x(0) + h * i For r = 3 To m + 2 y(r) = z(r — 2, i — 1) + K(3) Next

K(4) = h * СИСТЕМ(Массив)

z(j, i) = z(j, i — 1) + (K(1) + 2 * K(2) + 2 * K(3) + K(4)) / 6

For i = 1 To m c(i) = z(i, n) Next

РУНГЕ = c End Function Sub InstallFunc3()

Application.MacroOptions Macro:=»РУНГЕ», Description:= _ «Возвращает значения yi, полученн^1е методом Рунге-Кутта» End Sub

В листинге 2 массивы аналогичные массивам листинга 1, только:

K(1 To 4) — массив значений, вычисляемых по формулам (2.2).

Решение примера 1.1 с помощью функции РУНГЕ показано на рисунке 2.1.

3 0,2 0,210342 1,011061

4 0,3 0,316676 1,033103

5 0,4 0,425336 1,066488

Рис. 2.1 — Вид решения примера 1.1 функцией РУНГЕ Решение примера 1.2 с помощью функции РУНГЕ показано на рисунке 2.2.

Л I=РУН ГЕ(0; А2; [1; 2; 3 А2/0,1)>

2 0,1 1,5535 2,4423 3,3321

3 0,2 2,192731 2,933636 3,77449

4 0,3 2,940906 3,644213 4,34752

5 0,4 3,325591 4,451042 5,076493

6 0,5 4,330289 5,436502 5,992716

Рис. 2.2 — Вид решения примера 1.2 функцией РУНГЕ Решение примера 1.3 с помощью функции РУНГЕ показано на рисунке 2.3.

Рис. 2.3 — Вид решения примера 1.3 функцией РУНГЕ

Пример 2.1. Построить с помощью функции РУНГЕ графики численности популяций, описываемых системой Вольтерра — Лотка

при начальных условиях Х1(0)=3, х2(0)=1; параметр 1 принимает значения от 0 до 3.

Расчетная таблица строится по аналогии с таблицей примера 1.1, значения независимой переменной в диапазоне А1:А31, в ячейку В2 вводится формула =РУНГЕ(0;А2;<3;1>;А2/0,01). По таблице строятся графики численности популяций (рис. 2.4).

4 3,5 3 2,5 2 1,5 1

0 0,5 1 1,5 2 2,5 3 Рис. 2.4 — Графики численности популяций

1. Программные коды пользовательских функций VBA Excel, реализующих численные методы решения задачи Коши для системы обыкновенных дифференциальных уравнений 1-го порядка методами Эйлера и Рунге-Кутта четвертого порядка, публикуются впервые.

2. Как показывают примеры, применение рассматриваемых функций не вызывает трудностей, избавляет от больших объемов рутинных вычислений, позволяет получать результаты по такому сложному разделу, как численные методы решения систем дифференциальных уравнений, на современном (цифровом) уровне.

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

Конфликт интересов Conflict of Interest

Не указан. None declared.

Список литературы / References

1. Бахвалов Н.С. Численные методы. / Н. С. Бахвалов — М: Наука, 1975. — 632 с.

2. Березин И.С. Методы вычислений, т. II. / И. С. Березин, Н. П. Жидков — М.: ГИФМЛ, 1959. — 620 с.

3. Гарнаев А.Ю. MS Excel 2002: разработка приложений. / А. Ю. Гарнаев — СПб.: БХВ-Петербург, 2003. — 768 с.

4. Кузьменко В.Г. VBA 2003. / В. Г. Кузьменко — М: ООО «Бином-Пресс», 2004, 432 с.

5. Ларсен Р.У. Инженерные расчеты в Excel: Пер. с англ. / Р. У. Ларсен — М.: Издательский дом «Вильямс», 2002. -544 с.

6. Самарский А.А. Задачи и упражнения по численным методам: Учебное пособие. / А. А. Самарский, П. Н. Вабищевич, Е. А. Самарская — М.: Эдиториал УРСС, 2000. — 208 с.

7. Сдвижков О.А. Excel — VBA. Словарь-справочник пользователя / О. А. Сдвижков. — М.: Эксмо, 2008. — 224 с.

8. Сдвижков О.А. Пользовательские функции VBA Excel для численного решения задачи Коши ОДУ 1-го порядка / Сдвижков О.А. // Международный научно-исследовательский журнал, № 4 (106), 2021, Часть 1, стр. 35 — 40.

9. Эрроусмит Д. Обыкновенные дифференциальные уравнения. Качественная теория с приложениями: Пер. с англ. / Д. Эрроусмит, К. Плейс. — М.: Мир, 1986. — 243 с.

10. Сдвижков О.А. DEcode (пользовательские функции) [Электронный ресурс]. — URL: https://oas.ucoz.com/load/odu_polzovatelskie_funkcii/1-1-0-35 (дата обращения: 20.01.2021)

Список литературы на английском языке / References in English

1. Bakhvalov N. S. Chislennye metody [Numerical Methods] / N. S. Bakhvalov-M: Nauka, 1975 — 632 p. [in Russian]

2. Berezin I. S. Metody vychislenijj, t. II. [Methods of Calculations, vol. 2] / I. S. Berezin, N. P. Zhidkov-M.: GIFML, 1959 — 620 p. [in Russian]

3. Garnaev A. Yu. MS Excel 2002: razrabotka prilozhenijj [MS Excel 2002: Application Development] / A. Yu. Garnaev -St. Petersburg: BKhV-Petersburg, 2003 — 768 p. [in Russian]

4. Kuzmenko V. G. VBA 2003 / V. G. Kuzmenko-M: «Binom-Press» LLC, 2004, 432 p. [in Russian]

5. Larsen R. U. Inzhenernye raschety v Excel: Per. s angl. [Engineering Calculations in Excel: Translation from English] / R. U. Larsen-M.: Publishing house «Vilyams», 2002 — 544 p. [in Russian]

6. Samarsky A. A. Zadachi i uprazhnenija po chislennym metodam: Uchebnoe posobie [Problems and Exercises in Numerical Methods: A Textbook] / A. Samara, P. N. Vabishchevich, E. A. Samarskaya -M.: Ehditorial URSS, 2000 — 208 p. [in Russian]

7. Sdvizhkov O. A. Excel — VBA. Slovar’-spravochnik pol’zovatelja [Excel — VBA. Dictionary-User reference] / O. A. Sdvizhkov. — M.: Eksmo, 2008 — 224 p. [in Russian]

8. Sdvizhkov O. A. Pol’zovatel’skie funkcii VBA Excel dlja chislennogo reshenija zadachi Koshi ODU 1-go porjadka [Custom Excel VBA Functions For Numerical Solution of a First-Order Cauchy Ode] / O. A. Sdvizhkov // Mezhdunarodnyjj nauchno-issledovatel’skijj zhurnal [International Research Journal], No. 4 (106), 2021, Part 1, pp. 35-40 [in Russian]

9. Arrowsmith D. Obyknovennye differencial’nye uravnenija. Kachestvennaja teorija s prilozhenijami [Ordinary Differential Equations: A Qualitative Approach with Applications]: Translation from English / D. Arrowsmith, C. M. Place. — Moscow: Mir, 1986 — 243 p. [in Russian]

Решение системы уравнений в Microsoft Excel

Умение решать системы уравнений часто может принести пользу не только в учебе, но и на практике. В то же время, далеко не каждый пользователь ПК знает, что в Экселе существует собственные варианты решений линейных уравнений. Давайте узнаем, как с применением инструментария этого табличного процессора выполнить данную задачу различными способами.

Варианты решений

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

Способ 1: матричный метод

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

    Заполняем матрицу числами, которые являются коэффициентами уравнения. Данные числа должны располагаться последовательно по порядку с учетом расположения каждого корня, которому они соответствуют. Если в каком-то выражении один из корней отсутствует, то в этом случае коэффициент считается равным нулю. Если коэффициент не обозначен в уравнении, но соответствующий корень имеется, то считается, что коэффициент равен 1. Обозначаем полученную таблицу, как вектор A.

Отдельно записываем значения после знака «равно». Обозначаем их общим наименованием, как вектор B.

Аргумент «Массив» — это, собственно, адрес исходной таблицы.

Итак, выделяем на листе область пустых ячеек, которая по размеру равна диапазону исходной матрицы. Щелкаем по кнопке «Вставить функцию», расположенную около строки формул.

Выполняется запуск Мастера функций. Переходим в категорию «Математические». В представившемся списке ищем наименование «МОБР». После того, как оно отыскано, выделяем его и жмем на кнопку «OK».

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

Теперь нам нужно будет умножить обратную матрицу на матрицу B, которая состоит из одного столбца значений, расположенных после знака «равно» в выражениях. Для умножения таблиц в Экселе также имеется отдельная функция, которая называется МУМНОЖ. Данный оператор имеет следующий синтаксис:

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

В категории «Математические», запустившегося Мастера функций, выделяем наименование «МУМНОЖ» и жмем на кнопку «OK».

Активируется окно аргументов функции МУМНОЖ. В поле «Массив1» заносим координаты нашей обратной матрицы. Для этого, как и в прошлый раз, устанавливаем курсор в поле и с зажатой левой кнопкой мыши выделяем курсором соответствующую таблицу. Аналогичное действие проводим для внесения координат в поле «Массив2», только на этот раз выделяем значения колонки B. После того, как вышеуказанные действия проведены, опять не спешим жать на кнопку «OK» или клавишу Enter, а набираем комбинацию клавиш Ctrl+Shift+Enter.

  • После данного действия в предварительно выделенной ячейке отобразятся корни уравнения: X1, X2, X3 и X4. Они будут расположены последовательно. Таким образом, можно сказать, что мы решили данную систему. Для того, чтобы проверить правильность решения достаточно подставить в исходную систему выражений данные ответы вместо соответствующих корней. Если равенство будет соблюдено, то это означает, что представленная система уравнений решена верно.
  • Способ 2: подбор параметров

    Второй известный способ решения системы уравнений в Экселе – это применение метода подбора параметров. Суть данного метода заключается в поиске от обратного. То есть, основываясь на известном результате, мы производим поиск неизвестного аргумента. Давайте для примера используем квадратное уравнение

      Принимаем значение x за равное 0. Высчитываем соответствующее для него значение f(x), применив следующую формулу:

    Вместо значения «X» подставляем адрес той ячейки, где расположено число 0, принятое нами за x.

    Переходим во вкладку «Данные». Жмем на кнопку «Анализ «что если»». Эта кнопка размещена на ленте в блоке инструментов «Работа с данными». Открывается выпадающий список. Выбираем в нем позицию «Подбор параметра…».

    Запускается окно подбора параметров. Как видим, оно состоит из трех полей. В поле «Установить в ячейке» указываем адрес ячейки, в которой находится формула f(x), рассчитанная нами чуть ранее. В поле «Значение» вводим число «0». В поле «Изменяя значения» указываем адрес ячейки, в которой расположено значение x, ранее принятое нами за 0. После выполнения данных действий жмем на кнопку «OK».

    После этого Эксель произведет вычисление с помощью подбора параметра. Об этом сообщит появившееся информационное окно. В нем следует нажать на кнопку «OK».

  • Результат вычисления корня уравнения будет находиться в той ячейке, которую мы назначили в поле «Изменяя значения». В нашем случае, как видим, x будет равен 6.
  • Этот результат также можно проверить, подставив данное значение в решаемое выражение вместо значения x.

    Способ 3: метод Крамера

    Теперь попробуем решить систему уравнений методом Крамера. Для примера возьмем все ту же систему, которую использовали в Способе 1:

      Как и в первом способе, составляем матрицу A из коэффициентов уравнений и таблицу B из значений, которые стоят после знака «равно».

    Далее делаем ещё четыре таблицы. Каждая из них является копией матрицы A, только у этих копий поочередно один столбец заменен на таблицу B. У первой таблицы – это первый столбец, у второй таблицы – второй и т.д.

    Теперь нам нужно высчитать определители для всех этих таблиц. Система уравнений будет иметь решения только в том случае, если все определители будут иметь значение, отличное от нуля. Для расчета этого значения в Экселе опять имеется отдельная функция – МОПРЕД. Синтаксис данного оператора следующий:

    Таким образом, как и у функции МОБР, единственным аргументом выступает ссылка на обрабатываемую таблицу.

    Итак, выделяем ячейку, в которой будет выводиться определитель первой матрицы. Затем жмем на знакомую по предыдущим способам кнопку «Вставить функцию».

    Активируется окно Мастера функций. Переходим в категорию «Математические» и среди списка операторов выделяем там наименование «МОПРЕД». После этого жмем на кнопку «OK».

    Запускается окно аргументов функции МОПРЕД. Как видим, оно имеет только одно поле – «Массив». В это поле вписываем адрес первой преобразованной матрицы. Для этого устанавливаем курсор в поле, а затем выделяем матричный диапазон. После этого жмем на кнопку «OK». Данная функция выводит результат в одну ячейку, а не массивом, поэтому для получения расчета не нужно прибегать к нажатию комбинации клавиш Ctrl+Shift+Enter.

    Функция производит подсчет результата и выводит его в заранее выделенную ячейку. Как видим, в нашем случае определитель равен -740, то есть, не является равным нулю, что нам подходит.

    Аналогичным образом производим подсчет определителей для остальных трех таблиц.

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

  • Теперь пора найти корни уравнения. Корень уравнения будет равен отношению определителя соответствующей преобразованной матрицы на определитель первичной таблицы. Таким образом, разделив поочередно все четыре определителя преобразованных матриц на число -148, которое является определителем первоначальной таблицы, мы получим четыре корня. Как видим, они равны значениям 5, 14, 8 и 15. Таким образом, они в точности совпадают с корнями, которые мы нашли, используя обратную матрицу в способе 1, что подтверждает правильность решения системы уравнений.
  • Способ 4: метод Гаусса

    Решить систему уравнений можно также, применив метод Гаусса. Для примера возьмем более простую систему уравнений из трех неизвестных:

      Опять последовательно записываем коэффициенты в таблицу A, а свободные члены, расположенные после знака «равно» — в таблицу B. Но на этот раз сблизим обе таблицы, так как это понадобится нам для работы в дальнейшем. Важным условием является то, чтобы в первой ячейке матрицы A значение было отличным от нуля. В обратном случае следует переставить строки местами.

    Копируем первую строку двух соединенных матриц в строчку ниже (для наглядности можно пропустить одну строку). В первую ячейку, которая расположена в строке ещё ниже предыдущей, вводим следующую формулу:

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

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

    После этого копируем полученную строку и вставляем её в строчку ниже.

    Выделяем две первые строки после пропущенной строчки. Жмем на кнопку «Копировать», которая расположена на ленте во вкладке «Главная».

    Пропускаем строку после последней записи на листе. Выделяем первую ячейку в следующей строке. Кликаем правой кнопкой мыши. В открывшемся контекстном меню наводим курсор на пункт «Специальная вставка». В запустившемся дополнительном списке выбираем позицию «Значения».

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

    После ввода формулы выделяем весь ряд и применяем сочетание клавиш Ctrl+Shift+Enter.

    Теперь следует выполнить обратную прогонку по методу Гаусса. Пропускаем три строки от последней записи. В четвертой строке вводим формулу массива:

    Таким образом, мы делим последнюю рассчитанную нами строку на её же третий коэффициент. После того, как набрали формулу, выделяем всю строчку и жмем сочетание клавиш Ctrl+Shift+Enter.

    Поднимаемся на строку вверх и вводим в неё следующую формулу массива:

    Жмем привычное уже нам сочетание клавиш для применения формулы массива.

    Поднимаемся ещё на одну строку выше. В неё вводим формулу массива следующего вида:

    Опять выделяем всю строку и применяем сочетание клавиш Ctrl+Shift+Enter.

  • Теперь смотрим на числа, которые получились в последнем столбце последнего блока строк, рассчитанного нами ранее. Именно эти числа (4, 7 и 5) будут являться корнями данной системы уравнений. Проверить это можно, подставив их вместо значений X1, X2 и X3 в выражения.
  • Как видим, в Экселе систему уравнений можно решить целым рядом способов, каждый из которых имеет собственные преимущества и недостатки. Но все эти методы можно условно разделить на две большие группы: матричные и с применением инструмента подбора параметров. В некоторых случаях не всегда матричные методы подходят для решения задачи. В частности тогда, когда определитель матрицы равен нулю. В остальных же случаях пользователь сам волен решать, какой вариант он считает более удобным для себя.

    Помимо этой статьи, на сайте еще 12704 инструкций.
    Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    источники:

    http://cyberleninka.ru/article/n/funktsii-vba-excel-dlya-chislennogo-resheniya-zadachi-koshi-sistemy-odu-1-go-poryadka

    http://lumpics.ru/how-solve-system-equations-excel/

    Решим
    задачу при

    ,

    ,

    ,

    ,

    ,

    .

    В
    ячейки A2
    запишем
    начальное значение времени – 0. В ячейку
    A3
    запишем
    формулу

    =A2+$H$2,

    определяющую
    значение следующего момента времени
    (шаг по времени помещен в ячейке H2

    см. рис. 3.1). Распространим формулу
    по ячейку A1202.
    Значение
    ячейке
    A1202
    должно
    быть равно
    12.

    В
    ячейки
    B2
    и
    C2
    запишем
    начальные значения

    (рис. 3.1), в ячейку B3
    запишем формулу, соответствующую первому
    уравнению системы

    =B2+$H$2*($D$2*B2-$F$2*B2*C2),

    а
    в ячейку C3
    запишем
    формулу, соответствующую второму
    уравнению системы

    =C2+$H$2*(-$E$2*C2+$G$2*B2*C2)

    Распространим
    формулы по ячейки B1202
    и C1202.

    Рис. 3.1. Фрагмент
    заполненной таблицы

    Построим
    график зависимости численности жертв
    и хищников от времени. Выделим ячейки
    A2:C1202,вызовем
    Мастер диаграмм (кнопка

    на инструментальной панели Excel).
    В первом шаге Мастера (рис. 3.2) выбираем
    тип диаграммы: стандартная, точечная и
    вид диаграммы: «Точечная диаграмма
    со значениями, соединенными сглаживающими
    линиями без маркеров».

    Рис. 3.2. Выбор
    вида диаграммы

    Построим
    график зависимости численности хищников
    от численности жертв. График построим
    как точечную диаграмму для первого
    периода изменения численности жертв
    (из графика видно, что первому периоду
    соответствует интервал времени от 0 до
    7,2). Вид в Мастере диаграмм: «Точечная
    диаграмма со значениями, соединенными
    сглаживающими линиями без маркеров».
    Таблица с графиками представлена на
    рис. 3.3.

    Рис. 3.4. Таблица
    с графиками

    Численности
    популяций жертв и хищников совершают
    периодические колебания вокруг положения
    равновесия

    ,

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

    ).

    3.4. Контрольные вопросы

    1.
    Объясните характер поведения графиков
    рис. 3.3.

    2.
    Каким недостатком обладает модель
    Лотки‑Вольтерры, продемонстрируйте
    проявление этого недостатка.

    3.
    Какие социальные явления описываются
    уравнениями, аналогичными ?

    3.5. Задания

    1.
    Исследуйте влияние на характер решения
    следующих факторов:

    – начальная
    численность популяций;

    – скорости прироста
    численности жертв и убыли хищников.

    2.
    Постройте решение и графики при различных
    значениях.

    4. ИССЛЕДОВАНИЕ МОДЕЛЕЙ ДИНАМИЧЕСКОГО
    ХАОСА

    4.1. Цель работы

    Исследование
    моделей динамического хаоса.

    4.2. Постановка задачи

    Рассмотрим
    логистическое разностное уравнение
    [5], описывающее распространение инноваций
    на рынке


    .

    В
    емкость рынка равна 1,

    ,
    т. е.

    – доля рынка, завоеванная инновацией
    к моменту времени

    ,

    – параметр скорости роста инноваций.

    4.3. Исследование динамического хаоса
    с помощью электронных таблиц Excel

    Исследуем
    решение уравнения с помощью электронных
    таблиц Excel.
    Примем, что время изменяется от 1 до 60 с
    шагом 1. Поэтому столбец времени в таблице
    отсутствует. В ячейке A2
    запишем начальное значение

    (рис. 4.1). В ячейке C2
    хранится значение параметра

    (на рис. 4.1

    ).
    В ячейке A3
    записана формула

    =$C$2*A2*(1-A2).

    Столбец
    B
    является вспомогательным, равным столбцу
    A
    со сдвигом на одну ячейку вниз (столбец
    B
    потребуется для построения графиков).
    Для этого в ячейке B3
    записана формула =A2.

    Рис. 4.1. Фрагмент
    таблицы

    Выделим ячейки
    A3
    и B3
    и размножим в этих ячейках по строку
    61.

    Построим два вида
    графиков:

    – график
    зависимости решения от времени

    ;

    – график,
    описывающий поведение системы в фазовой
    плоскости

    .

    Для
    построения графика

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

    Для
    построения второго графика

    выделим ячейки A2–B61
    и построим точечную диаграмму со
    значениями, соединенными сглаживающими
    линиями. При построении графика обратите
    внимание на правильность выбора значений
    по осям X
    и Y(рис. 4.2).

    Рис. 4.2. Построение
    зависимости на фазовой плоскости

    Примеры
    графиков для

    приведены на рис. 4.3.

    Рис. 4.3. Примеры
    графиков

    Поведение
    решения уравнения зависит от значения
    параметра

    ,
    которое может изменяться от 0 до 4 (
    ).
    Зависимость типа поведения решения от
    параметра

    показана в табл. 4.1.

    Таблица 4.1.
    Зависимость типа поведения решения от
    значения параметра

    Тип

    поведения

    Значение

    параметра

    Примечания

    Состояние
    равновесия

    При

    решение стремится к состоянию равновесия

    .

    При

    решение стремится к

    .

    Периодические
    колебания

    точка бифуркации

    – колебания с
    периодом 2



    колебания с
    периодом 4



    колебания с
    периодом 8



    колебания с
    периодом 16

    Хаотический
    режим

    точка бифуркации

    Если

    ,
    то решение стремится к стационарному
    состоянию

    ,
    то есть аттрактором является точка

    ,
    что видно на фазовой плоскости (рис. 4.3).

    При

    решение стремится к

    (рис. 4.4).

    Рис. 4.4. Пример
    поведения решения при c=2,600

    При
    c=3,200
    система переходит к колебаниям с
    периодом, равным 2 (рис. 4.5). Аттрактором
    является цикл, состоящий из 2 точек.

    Рис. 4.5. Пример
    поведения решения при c=3,200

    При
    c=3,900
    поведение системы носит хаотический
    характер (рис. 4.6).

    Рис. 4.6. Пример
    поведения решения при c=3,900

    На
    рис. 4.6 мы видим странный аттрактор,
    в котором не видно никаких закономерностей.
    Но если тип графика в фазовой плоскости
    изменить на точечный (рис. 4.7), то
    видно, что состояния системы изменяются
    по вполне не случайной форме, близкой
    к параболе.

    Рис. 4.7. Портрет
    странного аттрактора

    Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #

    Возможно вы слышали о нобелевском лауреате, психологе и исследователе по имени Дэниель Канеман. Канеман занимался наукой, которую называют термином «поведенческая экономика», т.е. изучал реакции, поведение и суждения людей в типовых жизненных (и экономических) ситуациях и условиях неопределенности.

    В его книге, которая называется «Думай медленно — решай быстро» (очень рекомендую, кстати) в качестве одного из примеров когнитивных искажений — несознательной автоматической реакции — приводится следующая задача:

    Бейсбольная бита и мяч стоят вместе 1 доллар 10 центов.
    Бита дороже мяча на 1 доллар.
    Сколько стоит мяч?

    Подозреваю, что вашей первой рефлекторной мыслью, скорее всего, будет «10 центов!»  :) Но весьма скоро, я уверен, вы сообразите, что на самом деле всё не так примитивно и для получения ответа нужно решить простую систему уравнений (здесь b — это бита, а m — это мяч):

    Система линейных уравнений

    Конечно можно «тряхнуть стариной» и решить всё вручную на бумажке через подстановку переменных — как-то так:

    Решение системы уравнений через подстановку переменных

    Но, во-первых, на практике уравнения могут быть сложнее и переменных может оказаться сильно больше двух и, во-вторых, у нас с вами есть Microsoft Excel — универсальный мега-инструмент, величайшее изобретение человечества. Так что давайте-ка лучше разберём как решить нашу задачу с его помощью.

    Способ 1. Матричные функции МУМНОЖ и МОБР

    Само собой, изобретать велосипед тут не надо — прогрессивное человечество в лице математиков давным-давно придумало кучу способов для решения подобных задач. В частности, если уравнения в нашей системе линейные (т.е. не используют степени, логарифмы, тригонометрические функции типа sin, cos и т.д.), то можно использовать метод Крамера.

    Сначала записываем числовые коэффициенты, стоящие перед нашими переменными в виде матрицы (в нашем случае — размером 2х2, в общем случае — может быть и больше).

    Затем находим для неё так называемую обратную матрицу , т.е. матрицу, при умножении которой на исходную матрицу коэффициентов получается единица. В Excel это легко сделать с помощью стандартной математической функции МОБР (MINVERSE):

    Вычисляем обратную матрицу

    Здесь важно отметить, что если у вас свежая версия Excel 2021 или Excel 365, то достаточно ввести эту функцию обычным образом в первую ячейку (G7) — сразу получится динамический массив с обратной матрицей 2х2. Если же у вас более старая версия Excel, то эту функцию нужно обязательно вводить как формулу массива, а именно:

    1. Выделить диапазон для результатов — G7:H8
    2. Ввести функцию =МОБР(B7:C8) в строку формул
    3. Нажать на клавиатуре сочетание клавиш Ctrl+Shift+Enter

    Замечательное свойство обратной матрицы состоит в том, что если умножить её на значения правых частей наших уравнений (свободные члены), то мы получим значения переменных, при которых левые и правые части уравнений будут равны, т.е. решения нашей задачи. Выполнить такое матричное умножение можно с помощью ещё одной стандартной экселевской функции МУМНОЖ (MMULT):

    Решение системы линейных уравнений

    Если у вас старая версия Excel, то не забудьте также ввести её в режиме формулы массива, т.е. сначала выделить диапазон K7:K8, а после ввода функции нажать сочетание клавиш Ctrl+Shift+Enter.

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

    Решение системы из 3 уравнений

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

    Способ 2. Подбор надстройкой «Поиск решения» (Solver)

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

    В Microsoft Excel некоторые из этих методов реализованы в стандартной надстройке Поиск решения (Solver). Её можно подключить через Файл — Параметры — Надстройки — Перейти (File — Options — Add-ins — Go to) или на вкладке Разработчик — Надстройки (Developer — Add-ins)

    Давайте рассмотрим её использование на следующей задаче. Предположим, что нам с вами нужно решить вот такую систему из двух нелинейных уравнений:

    Система нелинейных уравнений

    Подготавливаем основу для оптимизации в Excel:

    Модель для оптимизации

    Здесь:

    • В жёлтых ячейках C9:C10 лежат текущие значения наших переменных, которые и будут подбираться в процессе оптимизации. В качестве стартовых можно взять любые значения, например, нули или единицы — роли не играет. Для удобства, кстати, этим ячейкам можно дать имена, назвав их именами переменных x и y, — для этого выделите диапазон C9:C10 и выберите команду Формулы — Создать из выделенного — Слева (Formulas — Create from selection — Left column)
    • В зелёных ячейках E9:E10 введены наши уравнения с использованием либо прямых ссылок на жёлтые ячейки переменных, либо созданных имён (так нагляднее). В результате мы видим, чему равны наши уравнения при текущих значениях переменных.
    • В синих ячейках F9:F10 введены значения правых частей наших уравнений, к которым мы должны стремиться.

    Теперь запускаем нашу надстройку на вкладке Данные — Поиск решения (Data — Solver) и вводим в появившемся диалоговом окне следующие параметры:

    Надстройка Поиск решения в Excel

    • Оптимизировать целевую функцию (Set target cell) — любая из двух наших зелёных ячеек с уравнениями, например E9.
    • Изменяя ячейки переменных (By changing cells) — жёлтые ячейки с текущими значениями переменных, которыми мы «играем».
    • Добавляем ограничение с помощью кнопки Добавить (Add) и задаём равенство левой и правой части наших уравнений, т.е. зелёного и голубого диапазонов.
    • В качестве метода решения выбираем Поиск решения нелинейных задач методом ОПГ, т.к. уравнения у нас нелинейные. Для линейных можно смело выбирать симплекс-метод.

    После нажатия на кнопку Найти решение (Solve) через пару мгновений (или не пару — это зависит от сложности задачи) мы должны увидеть окно с результатами. Если решение найдено, то в жёлтых ячейках отобразятся подобранные значения наших переменных:

    Найденное решение системы уравнений в Excel

    Обратите внимание, что поскольку мы здесь используем итерационные, а не аналитические методы, то зеленые ячейки не совсем равны голубым, т.е. найденное решение не абсолютно точно. На практике, конечно же, такой точности вполне достаточно для большинства задач, и если необходимо, её можно настроить, вернувшись в окно Поиск решения и нажав кнопку Параметры (Options).

    4. Вычисление третьего
    столбца:

    Копируем формулу из ячейки C3
    в ячейки C4:C17

    5. 
    Вычислим в узловых точках отрезка
    [a, b] аналитическое решение по формуле (2.2). Для этого
    введем в ячейку F3 формулу

          =$B$3*EXP($E$3*A4). Затем копируем ее в ячейки  F4:F18

    Расчетная таблица,
    скопированная с рабочего листа MS Excel, показана на рис. 2.1.

    Рис. 2.1. Фрагмент
    рабочего листа с решением примера методом Эйлера

    2.1.4.Численное решение методом Рунге-Кутта
    в Excel

    Расчетные
    формулы для конкретного примера запишем, исходя из общих формул и подставляя в
    них конкретные функции, определяемые видом уравнения (2.1). Отметим, что
    исходное уравнение должно быть приведен к виду (1.1).

    Задаемся
    начальным значением y0   и
    вычисляем

    ,         (2.6)

                                                             
    (2.7)

    Приведем
    также пример расчетных формул для уравнения другого вида, а именно уравнения,
    содержащего  x  в правой части.

    Рассмотрим
    уравнение

    Для него расчетные формулы
    имеют вид:

    Расчетная таблица,
    скопированная из Excel, представлена на рис. 2.2. Ниже указан порядок ее
    заполнения

    Первая
    строка заполнена именами переменных

    Две
    ячейки H21, H22 отводятся под значения констант h, c и
    еще две ячейки G21?G22 под их имена

    Первый
    столбец заполняется значениями x

    В
    ячейку B22 вводим значение y0,

    В
    ячейки С22,D22, E22, F22 вводим соответственно формулы:

    = $H$22*B22*$H$21

    =$H$22*(B22+C22/2)*$H$21

    =$H$22*(B22+D22/2)*$H$21

    =$H$22*(B22+E22)*$H$21

    В
    ячейку B23 вводим формулу:

    =B22+(C22+2*D22+2*E22+F22)/6

    В
    ячейки B24:B37 копируем формулу из ячейки B23

    В
    ячейки C22:F36 копируем формулы из ячеек C22:F22.

    Рис. 2.2. Фрагмент
    рабочего листа с решением примера по методу Рунге-Кутта

    Построим
    графики численного решения данного уравнения в Excel методами Эйлера и Рунге-Кутта, а также график
    аналитического решения. Все три графика строим на одной диаграмме. При
    построении графика с помощью Мастера диаграмм следует:

    1. 
    На первом шаге 
    выбрать Тип диаграммы — Точечная

    2. 
    На втором шаге последовательно
    задать ряды данных для каждого графика:

    3. 
    На третьем шаге задать параметры
    Диаграммы:  заголовок, названия осей. В  случае абстрактного уравнения
    заголовок диаграммы можно опустить. В легенде следует указать, какому методу
    данный ряд соответствует.

    4. 
    На последнем шаге помещаем
    диаграмму на имеющемся рабочем листе.

    Примечания.

    1. 
    Если графики трудно различимы,
    можно изменить  формат рядов данных (на графике), выделяя соответствующий ряд и
    вызывая контекстное меню правой кнопкой мыши

    2. 
    Если шкалы по осям x или
    y не соответствуют диапазону изменения x, y,
    нужно изменить их минимальные и максимальные значения по команде формат оси,
    вызываемой в контекстном меню.

    Графики решения данного
    уравнения различными методами представлены на рис. 2.3.

    Рис. 2.3. Графики решений уравнения (2.1) различными
    способами

    2.1.5. Численное решение задачи методом
    Рунге-Кутта в Турбо Паскале

    Расчетные формулы.

    Решим
    уравнение (2.1) методом Рунге-Кутта четвертого порядка, используя формулы
    (1.8)-(1.9). Т.к. неизвестные значения функции y(x)  вычисляются рекуррентно, требуется задать ее
    начальное значение.

    Содержание

    • Варианты решений
      • Способ 1: матричный метод
      • Способ 2: подбор параметров
      • Способ 3: метод Крамера
      • Способ 4: метод Гаусса
    • Вопросы и ответы

    Уравнения в Microsoft Excel

    Умение решать системы уравнений часто может принести пользу не только в учебе, но и на практике. В то же время, далеко не каждый пользователь ПК знает, что в Экселе существует собственные варианты решений линейных уравнений. Давайте узнаем, как с применением инструментария этого табличного процессора выполнить данную задачу различными способами.

    Варианты решений

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

    Способ 1: матричный метод

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


    14x1+2x2+8x4=218
    7x1-3x2+5x3+12x4=213
    5x1+x2-2x3+4x4=83
    6x1+2x2+x3-3x4=21

    1. Заполняем матрицу числами, которые являются коэффициентами уравнения. Данные числа должны располагаться последовательно по порядку с учетом расположения каждого корня, которому они соответствуют. Если в каком-то выражении один из корней отсутствует, то в этом случае коэффициент считается равным нулю. Если коэффициент не обозначен в уравнении, но соответствующий корень имеется, то считается, что коэффициент равен 1. Обозначаем полученную таблицу, как вектор A.
    2. Матрица в Microsoft Excel

    3. Отдельно записываем значения после знака «равно». Обозначаем их общим наименованием, как вектор B.
    4. Вектор B в Microsoft Excel

    5. Теперь для нахождения корней уравнения, прежде всего, нам нужно отыскать матрицу, обратную существующей. К счастью, в Эксель имеется специальный оператор, который предназначен для решения данной задачи. Называется он МОБР. Он имеет довольно простой синтаксис:

      =МОБР(массив)

      Аргумент «Массив» — это, собственно, адрес исходной таблицы.

      Итак, выделяем на листе область пустых ячеек, которая по размеру равна диапазону исходной матрицы. Щелкаем по кнопке «Вставить функцию», расположенную около строки формул.

    6. Переход в Мастер функций в Microsoft Excel

    7. Выполняется запуск Мастера функций. Переходим в категорию «Математические». В представившемся списке ищем наименование «МОБР». После того, как оно отыскано, выделяем его и жмем на кнопку «OK».
    8. Переход к аргументам функции МОБР в Microsoft Excel

    9. Запускается окно аргументов функции МОБР. Оно по числу аргументов имеет всего одно поле – «Массив». Тут нужно указать адрес нашей таблицы. Для этих целей устанавливаем курсор в это поле. Затем зажимаем левую кнопку мыши и выделяем область на листе, в которой находится матрица. Как видим, данные о координатах размещения автоматически заносятся в поле окна. После того, как эта задача выполнена, наиболее очевидным было бы нажать на кнопку «OK», но не стоит торопиться. Дело в том, что нажатие на эту кнопку является равнозначным применению команды Enter. Но при работе с массивами после завершения ввода формулы следует не кликать по кнопке Enter, а произвести набор сочетания клавиш Ctrl+Shift+Enter. Выполняем эту операцию.
    10. Окно аргументов функции МОБР в Microsoft Excel

    11. Итак, после этого программа производит вычисления и на выходе в предварительно выделенной области мы имеем матрицу, обратную данной.
    12. Матрица обратная данной в Microsoft Excel

    13. Теперь нам нужно будет умножить обратную матрицу на матрицу B, которая состоит из одного столбца значений, расположенных после знака «равно» в выражениях. Для умножения таблиц в Экселе также имеется отдельная функция, которая называется МУМНОЖ. Данный оператор имеет следующий синтаксис:

      =МУМНОЖ(Массив1;Массив2)

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

    14. Вставить функцию в Microsoft Excel

      Lumpics.ru

    15. В категории «Математические», запустившегося Мастера функций, выделяем наименование «МУМНОЖ» и жмем на кнопку «OK».
    16. Переход к аргументам функции МУМНОЖ в Microsoft Excel

    17. Активируется окно аргументов функции МУМНОЖ. В поле «Массив1» заносим координаты нашей обратной матрицы. Для этого, как и в прошлый раз, устанавливаем курсор в поле и с зажатой левой кнопкой мыши выделяем курсором соответствующую таблицу. Аналогичное действие проводим для внесения координат в поле «Массив2», только на этот раз выделяем значения колонки B. После того, как вышеуказанные действия проведены, опять не спешим жать на кнопку «OK» или клавишу Enter, а набираем комбинацию клавиш Ctrl+Shift+Enter.
    18. Окно аргументов функции МУМНОЖ в Microsoft Excel

    19. После данного действия в предварительно выделенной ячейке отобразятся корни уравнения: X1, X2, X3 и X4. Они будут расположены последовательно. Таким образом, можно сказать, что мы решили данную систему. Для того, чтобы проверить правильность решения достаточно подставить в исходную систему выражений данные ответы вместо соответствующих корней. Если равенство будет соблюдено, то это означает, что представленная система уравнений решена верно.

    Корни системы уравнений в Microsoft Excel

    Урок: Обратная матрица в Excel

    Способ 2: подбор параметров

    Второй известный способ решения системы уравнений в Экселе – это применение метода подбора параметров. Суть данного метода заключается в поиске от обратного. То есть, основываясь на известном результате, мы производим поиск неизвестного аргумента. Давайте для примера используем квадратное уравнение

    3x^2+4x-132=0

    1. Принимаем значение x за равное 0. Высчитываем соответствующее для него значение f(x), применив следующую формулу:

      =3*x^2+4*x-132

      Вместо значения «X» подставляем адрес той ячейки, где расположено число 0, принятое нами за x.

    2. Значение f(x) в Microsoft Excel

    3. Переходим во вкладку «Данные». Жмем на кнопку «Анализ «что если»». Эта кнопка размещена на ленте в блоке инструментов «Работа с данными». Открывается выпадающий список. Выбираем в нем позицию «Подбор параметра…».
    4. Переход к подбору параметра в Microsoft Excel

    5. Запускается окно подбора параметров. Как видим, оно состоит из трех полей. В поле «Установить в ячейке» указываем адрес ячейки, в которой находится формула f(x), рассчитанная нами чуть ранее. В поле «Значение» вводим число «0». В поле «Изменяя значения» указываем адрес ячейки, в которой расположено значение x, ранее принятое нами за 0. После выполнения данных действий жмем на кнопку «OK».
    6. Окно подбора параметра в Microsoft Excel

    7. После этого Эксель произведет вычисление с помощью подбора параметра. Об этом сообщит появившееся информационное окно. В нем следует нажать на кнопку «OK».
    8. Подбор пораметра произведен в Microsoft Excel

    9. Результат вычисления корня уравнения будет находиться в той ячейке, которую мы назначили в поле «Изменяя значения». В нашем случае, как видим, x будет равен 6.

    Результат вычисления корня уравнения в Microsoft Excel

    Этот результат также можно проверить, подставив данное значение в решаемое выражение вместо значения x.

    Урок: Подбор параметра в Excel

    Способ 3: метод Крамера

    Теперь попробуем решить систему уравнений методом Крамера. Для примера возьмем все ту же систему, которую использовали в Способе 1:


    14x1+2x2+8x4=218
    7x1-3x2+5x3+12x4=213
    5x1+x2-2x3+4x4=83
    6x1+2x2+x3-3x4=21

    1. Как и в первом способе, составляем матрицу A из коэффициентов уравнений и таблицу B из значений, которые стоят после знака «равно».
    2. Составление матриц в Microsoft Excel

    3. Далее делаем ещё четыре таблицы. Каждая из них является копией матрицы A, только у этих копий поочередно один столбец заменен на таблицу B. У первой таблицы – это первый столбец, у второй таблицы – второй и т.д.
    4. Четыре матрицы в Microsoft Excel

    5. Теперь нам нужно высчитать определители для всех этих таблиц. Система уравнений будет иметь решения только в том случае, если все определители будут иметь значение, отличное от нуля. Для расчета этого значения в Экселе опять имеется отдельная функция – МОПРЕД. Синтаксис данного оператора следующий:

      =МОПРЕД(массив)

      Таким образом, как и у функции МОБР, единственным аргументом выступает ссылка на обрабатываемую таблицу.

      Итак, выделяем ячейку, в которой будет выводиться определитель первой матрицы. Затем жмем на знакомую по предыдущим способам кнопку «Вставить функцию».

    6. Переход к запуску мастера функций в Microsoft Excel

    7. Активируется окно Мастера функций. Переходим в категорию «Математические» и среди списка операторов выделяем там наименование «МОПРЕД». После этого жмем на кнопку «OK».
    8. Переход к аргументам функции МОПРЕД в Microsoft Excel

    9. Запускается окно аргументов функции МОПРЕД. Как видим, оно имеет только одно поле – «Массив». В это поле вписываем адрес первой преобразованной матрицы. Для этого устанавливаем курсор в поле, а затем выделяем матричный диапазон. После этого жмем на кнопку «OK». Данная функция выводит результат в одну ячейку, а не массивом, поэтому для получения расчета не нужно прибегать к нажатию комбинации клавиш Ctrl+Shift+Enter.
    10. Окно аргументов функции МОПРЕД в Microsoft Excel

    11. Функция производит подсчет результата и выводит его в заранее выделенную ячейку. Как видим, в нашем случае определитель равен -740, то есть, не является равным нулю, что нам подходит.
    12. Определитель для первой матрицы в Microsoft Excel

    13. Аналогичным образом производим подсчет определителей для остальных трех таблиц.
    14. Расчет определителей для всех матриц в Microsoft Excel

    15. На завершающем этапе производим подсчет определителя первичной матрицы. Процедура происходит все по тому же алгоритму. Как видим, определитель первичной таблицы тоже отличный от нуля, а значит, матрица считается невырожденной, то есть, система уравнений имеет решения.
    16. Определитель первичной матрицы в Microsoft Excel

    17. Теперь пора найти корни уравнения. Корень уравнения будет равен отношению определителя соответствующей преобразованной матрицы на определитель первичной таблицы. Таким образом, разделив поочередно все четыре определителя преобразованных матриц на число -148, которое является определителем первоначальной таблицы, мы получим четыре корня. Как видим, они равны значениям 5, 14, 8 и 15. Таким образом, они в точности совпадают с корнями, которые мы нашли, используя обратную матрицу в способе 1, что подтверждает правильность решения системы уравнений.

    Корни системы уравнений определены в Microsoft Excel

    Способ 4: метод Гаусса

    Решить систему уравнений можно также, применив метод Гаусса. Для примера возьмем более простую систему уравнений из трех неизвестных:


    14x1+2x2+8x3=110
    7x1-3x2+5x3=32
    5x1+x2-2x3=17

    1. Опять последовательно записываем коэффициенты в таблицу A, а свободные члены, расположенные после знака «равно» — в таблицу B. Но на этот раз сблизим обе таблицы, так как это понадобится нам для работы в дальнейшем. Важным условием является то, чтобы в первой ячейке матрицы A значение было отличным от нуля. В обратном случае следует переставить строки местами.
    2. Две матрицы в Microsoft Excel

    3. Копируем первую строку двух соединенных матриц в строчку ниже (для наглядности можно пропустить одну строку). В первую ячейку, которая расположена в строке ещё ниже предыдущей, вводим следующую формулу:

      =B8:E8-$B$7:$E$7*(B8/$B$7)

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

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

    4. Ряд заполнен значениями в Microsoft Excel

    5. После этого копируем полученную строку и вставляем её в строчку ниже.
    6. Вставка строки в Microsoft Excel

    7. Выделяем две первые строки после пропущенной строчки. Жмем на кнопку «Копировать», которая расположена на ленте во вкладке «Главная».
    8. Копирование в Microsoft Excel

    9. Пропускаем строку после последней записи на листе. Выделяем первую ячейку в следующей строке. Кликаем правой кнопкой мыши. В открывшемся контекстном меню наводим курсор на пункт «Специальная вставка». В запустившемся дополнительном списке выбираем позицию «Значения».
    10. Вставка в Microsoft Excel

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

      =B13:E13-$B$12:$E$12*(C13/$C$12)

      После ввода формулы выделяем весь ряд и применяем сочетание клавиш Ctrl+Shift+Enter.

    12. Формула массива в Microsoft Excel

    13. Теперь следует выполнить обратную прогонку по методу Гаусса. Пропускаем три строки от последней записи. В четвертой строке вводим формулу массива:

      =B17:E17/D17

      Таким образом, мы делим последнюю рассчитанную нами строку на её же третий коэффициент. После того, как набрали формулу, выделяем всю строчку и жмем сочетание клавиш Ctrl+Shift+Enter.

    14. Третья формула массива в Microsoft Excel

    15. Поднимаемся на строку вверх и вводим в неё следующую формулу массива:

      =(B16:E16-B21:E21*D16)/C16

      Жмем привычное уже нам сочетание клавиш для применения формулы массива.

    16. Четвертая формула массива в Microsoft Excel

    17. Поднимаемся ещё на одну строку выше. В неё вводим формулу массива следующего вида:

      =(B15:E15-B20:E20*C15-B21:E21*D15)/B15

      Опять выделяем всю строку и применяем сочетание клавиш Ctrl+Shift+Enter.

    18. Ввод последней формулы массива в Microsoft Excel

    19. Теперь смотрим на числа, которые получились в последнем столбце последнего блока строк, рассчитанного нами ранее. Именно эти числа (4, 7 и 5) будут являться корнями данной системы уравнений. Проверить это можно, подставив их вместо значений X1, X2 и X3 в выражения.

    Найденные корни уравнения в Microsoft Excel

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

    Еще статьи по данной теме:

    Помогла ли Вам статья?

    Понравилась статья? Поделить с друзьями:
  • Excel решение матриц метод крамера
  • Excel решение математических матриц
  • Excel решение логических выражений
  • Excel решение логарифмических уравнений
  • Excel редактирование умной таблицы