Visual Basic_Практикум (1108584), страница 2
Текст из файла (страница 2)
Его применение требует три точки дляпостроения полинома второй степени на каждом элементарном отрезке интегрирования, поэтому число обязательно должно бытьчетно.10Решение уравненийПриведем примеры разных видов уравнений.линейное:квадратное:трансцендентное: + = 0 + + 2 = 0 + = 0Любое уравнение можно записать в виде1:() = 0Тогда решить уравнение – значит найти такое значение переменной, при котором заданная функция () равна нулю.Для решения линейных, квадратных и кубических уравнений существуют аналитические формулы. Однако, например, третье уравнениеиз приведенных выше примеров аналитически решить невозможно.Для его приближенного решения можно воспользоваться численнымиметодами.
Существует множество методов численного решения нелинейных уравнений, различающихся точностью получаемого результата, скоростью его получения, надежностью и сложностью. Рассмотримдва наиболее простых.Метод дихотомииПусть функция () отрицательна в точке (() < 0), положительнав точке (() > 0), и непрерывна на отрезке [, ]. Тогда, очевидно,на [, ] график функции пересекает ось , т.е. на этом отрезке имеется корень уравнения - точка, в которой () = 0. Тот же вывод следует, если () > 0 и () < 0.1Уравнение в виде = () приводится к общему виду переносом правой части в левую: − = 011Если нам известен хотя бы один такой отрезок, пусть и большой длины, мы можем построить процедуру быстрого и сколь угодно точногопоиска корня уравнения.
Найдем значение функции в точке , находящейся в середине отрезка с =+.2Знак () совпадает со знакомфункции на одном из концов отрезка и противоположен знаку функции на другом конце. Предположим, что () имеет разные знаки вточках и . Значит на [, ] наверняка существует искомый кореньуравнения.Таким образом, мы получили задачу, эквивалентную исходной, но теперь длина отрезка, на котором, как нам известно, находится корень,в два раза короче. Отрезок [, ] опять можно разделить пополам иоставить в рассмотрении только один из двух получившихся (учитываязнаки значений () на концах этих отрезков). Выбранный отрезокможно вновь разделить, и продолжать так до тех пор, пока отрезок, накотором находится корень, не станет достаточно мал.Все нюансы программы, реализующей решение уравнения этим методом, подробно описаны в методической разработке «Основы программирования на Visual Basic.
Теория и практика».Оценка погрешности вычисленийНа каждой итерации метода деления отрезка пополам наилучшимприближением к искомому решению является середина очередногоотрезка. Тогда абсолютная погрешность не превосходит половиныдлины этого отрезка.12Метод НьютонаМетод Ньютона1, или метод касательных, основан на вычислении нетолько значений функции, но и значений ее производной. Разложим() в ряд Тейлора и отбросим члены ряда выше первого порядка: ≈ 0 + ′ 0 ( − 0 )В этом приближении уравнение линейно, и его корень легко найти поформуле: = 0 − 0 ′ 0Для нелинейных функций это, конечно, лишь примерное решение,дающее, скорее всего, меньшую погрешность, чем 0 . Метод Ньютонасостоит в итеративном применении указанного приближения:1 = 0 −(0 )(1 )( ), 2 = 1 − ′, … +1 = − ′, …′ (0 ) (1 ) ( )Оценка погрешности вычисленийНа какой итерации завершить процесс нахождения корня? Возможныдва варианта: либо когда значение функции будет достаточно мало поабсолютной величине: < , либо когда практически перестанетменяться значение , т.е.
+1 − = ′ < . Во втором случаеоценка погрешности основана на том, что для широкого класса функций последовательность быстро сходится к истинному решению.1Сэр Исаак Ньютон (1643-1727) , — английский физик, математик, астроном,философ, теолог и алхимик. Считается создателем дифференциального иинтегрального исчисления одновременно с Г. Лейбницем, и независимо отнего.13Преимущества и недостатки рассмотренных методовМетод дихотомии обладает 100%-ной надежностью – если найденыточки и , в которых функция имеет разные знаки, корень навернякабудет найден.
Однако, иногда найти такие две точки бывает трудноили даже невозможно. Подумайте, можно ли методом дихотомиинайти корень уравнения + 2 = 0?Во многих случаях метод касательных обладает более быстрой сходимостью и не накладывает ограничений на начальное приближение.Однако, для применения этого метода, кроме вычисления функции,требуется и вычисление производной. Применение его проблематично, если производная принимает нулевое значение.
Кроме того, сходится этот метод не для всех функций. Проверьте применимость метода Ньютона для решения уравнения arctg 10 = 0.14Линейная регрессияВ процессе обработки результатов эксперимента часто встает задачавыявления зависимости между экспериментальными параметрами.Например, из теории известно, что результаты должны укладыватьсяна прямую линию. Однако из-за ошибок эксперимента этого не происходит. Можно ли, тем не менее, определить, как должна была быпройти теоретическая прямая, если бы эксперимент был безошибочен?В общем случае задача формулируется так. Имеется пар чисел , , = 1 … , являющихся результатом эксперимента.
Требуетсянайти коэффициенты линейной функции = + , проходящейближе всего сразу ко всем экспериментальным точкам.Прежде всего, следует математически определить критерий, по которому мы можем судить о "качестве" той или иной прямой линии. Мерой удаленности каждой точки от прямой может служить величинаотклонения , = − = + − , которая зависит отпараметров и .
Для характеристики суммарного отклонения всехточек от прямой можно использовать сумму квадратов индивидуальных отклонений.2 , ==1= + − 2=1Подумайте, почему нельзя использовать просто сумму отклонений?Таким образом, мы получили «качество» прямой линии как функциипараметров последней. Параметры, обеспечивающие минимальноеотклонение прямой от экспериментальных точек, соответствуют минимуму функции (, ). Пусть нам известно оптимальное значение15параметра . Тогда зависит только от , и для того, чтобы найти ееминимум, надо приравнять нулю производную:′2 ′==2∙ =1 + −=1 = 0=1Отсюда получаем==1 =1 −∙= − Подставим получившееся выражение для в формулу для (, ), иполучим «качество» как функцию только от : = ∙ − − − 2=1Приравняв нулю производную от этой функции, получим выражениедля оптимального значения :==1( − ) ∙=1 − − 2Теперь мы можем составить алгоритм расчета оптимальных значений и :1.
Вычислить средние значения x и y.2. Вычислить суммы:1 =( − ) ∙ − =12 = − 2=13. Вычислить по формуле = 14. Вычислить по формуле = − 216Коэффициент корреляции позволяет оценить степень зависимостимежду и . Он может быть вычислен по формуле:∙=∙2=1 −=1 −2=1 =1 ∙ ∙∙=1 2=1 −2=1 Если = 1, точки ( , ) точно ложатся на прямую линию, зависимость между переменными и строго линейная.
При = 0 значения и не зависят друг от друга, точки разбросаны по координатной плоскости случайным образом.Описание метода линейной регрессии и программа, вычисляющаякоэффициенты прямой, приведены в методической разработке «Основы программирования на Visual Basic. Теория и практика».Общий случай – множественная линейная регрессияВ результате эксперимента получено пар точек , , = 1 … ,которые могут быть представлены в виде двух векторов:=1⋮=1⋮Наша задача - аппроксимировать значения линейной комбинацией фиксированных функций ≈ 1 1 + 2 2 + ⋯ + = =1Здесь 1 , 2 , … - неизвестные коэффициенты. В матричных обозначениях ≈ + , где171= ⋮1 1⋮ 1=⋯ 1 ⋱⋮⋯ Построим сумму квадратов отклонений экспериментальных значений от значений аппроксимирующей функции2 1 , 2 , … = −=1 =1Согласно методу наименьших квадратов, значения коэффициентоввыберем так, чтобы функция принимала минимальное значение.Известно, что в точке минимума производная функции равна нулю.Поскольку является функцией нескольких переменных, необходимонайти частные производные по каждому из ее аргументов.
Зафиксируем значения 2 , … , а от получившейся функции одной переменной 1 возьмем производную. Такая операция и называется частнойпроизводной по 1 . Приравняем ее нулю.=121 −=1 ==1=21 − 2=1=11 =0=1Аналогичные уравнения получим при дифференцировании по остальным неизвестным. Обозначив1 =1⋮= = =1181 1 =1⋮ 1 =1⋯⋱1 =1⋯= = +⋮ =1мы сведем задачу поиска оптимальных коэффициентов к решениюсистемы линейных уравнений, записываемой в матричном виде = .19Решение дифференциальных уравненийЗадача КошиОбычное дифференциальное уравнение (ДУ) содержит искомуюфункцию (), ее производные и независимую переменную .
В общем виде ДУ можно записать следующим образом: , , ′ , ′′ , … , =0Здесь символом обозначено некоторое конкретное выражение, задающее вид уравнения. Номер высшей производной, входящей вуравнение, называется порядком дифференциального уравнения.Приведем примеры ДУ.Кинетическое уравнение для химической реакции 2AB: ′ = − ∙ 2 Здесь искомая функция – зависимость концентрации исходного вещества от времени (), а независимая переменная – время .Второй закон Ньютона для траектории частицы, т.е.
координаты какфункции времени: ′′ = (), ′(), Решить дифференциальное уравнение – значит найти такую функцию(), подстановка которой в уравнение даст тождество.Например, одним из решений уравнения ′ = () является функция , так как при подстановке ее на место () уравнение превращается в тождество.20Самым простым типом ДУ являются линейные дифференциальныеуравнения первого порядка. В общем случае их можно записать′ = , Практическим примером может служить рассмотренное выше кинетическое уравнение.Прежде чем обсуждать методы решения ДУ, необходимо отметитьнекоторые общие свойства этих решений.Во-первых, линейные дифференциальные уравнения первого порядкаимеют бесконечно много решений. Например, уже рассмотренное ДУ ′ = () имеет в качестве решений не только , но и 2 ,−1,5 , и вообще, , где – произвольное число.Во-вторых, через каждую точку на плоскости проходит ровно однорешение линейного дифференциального уравнения первого порядка.Поэтому однозначной задачей является не просто поиск решениядифференциального уравнения, но поиск решения, принимающегонекоторое значение 0 в заданной точке 0 .′ = , (дифференциальное уравнение) 0 = 0(начальное условие)Такая постановка называется задачей Коши1.1Огюсте́н Луи́ Коши́ (1789 —1857) — французский математик, член Парижской академии наук.