Задание к выполнению работы. 1) Ознакомиться с приемами и теоретическими принципами работы в МК

1) Ознакомиться с приемами и теоретическими принципами работы в МК.

2) Создать документ в МК (имя файла: фамилия и номер группы исполнителя). Произвести вычисление 3-х выражений с использованием неповторяющихся математических операций.

3) Ввести 5 ранжированных переменных.

4) Задать 5 неповторяющихся функций одной переменной без использования ранжированных переменных и 5 векторов с их использованием.

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

Задание для самостоятельной работы

1) Задать 5 неповторяющихся функций двух переменных без использования ранжированных переменных и 5 матриц с их использованием.

2) Вывести функции на трехмерные графики. Изменить параметры графиков с использованием типа масштаба, цвета, характера линий, а также различных маркеров.

3) Задать наименование графиков и сформировать легенду. Создать комментарии к выполняемым заданиям в виде текстовых блоков.

Требования к отчету

Отчет должен содержать:

– Титульную страницу с данными об исполнителе и проверяющем.

– Тему, цель работы, порядковый номер и номер варианта.

– Краткие теоретические сведения.

– Макет документа МК, выполненный согласно варианта.

– Выводы о проделанной работе.

Отчет должен быть оформлен согласно требованиям ГОСТ.


Лабораторная работа №2

ПРИБЛИЖЕННОЕ РЕШЕНИЕ АЛГЕБРАИЧЕСКИХ И ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

Цель работы: получить навыки нахождения приближенного решения уравнений средствами МК

Теоретические сведения

2.1.1 Функция поиска корня нелинейного уравнения – root

Многие уравнения, не имеют аналитических решений. Однако они могут решаться численными методами с заданной погрешностью. Для простейших уравнений вида F (x) =0 решение находится с помощью функции rооt. Синтаксис ее применения выглядит следующим образом:

Rооt(Выражение, Имя_переменной)=.

Например:

Rооt(x2-2x+1, x)=.

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

Как известно, кубическое уравнение обязательно имеет хотя бы один действительный корень х1. Два других корня могут оказаться и комплексными. Функция root позволяет найти как действительные так и комплексные корни. Для поиска второго корня х2 первый исключается делением F (x) на (x-x1). Соответственно для поиска третьего корня x З F (x) делится еще и на (х-х2). Эту процедуру можно распространить и на поиск корней полиномов более высокой степени.

2.1.1 Директива Given для решения системы уравнений

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

«Начальные условия»

Given

«Уравнения»

«Ограничительные условия»

«Выражения с функциями Find, Minerr, Maximize и Minimize»

Начальные условия определяют начальные значения искомых переменных. Они задаются обычным присваиванием переменным заданных значений.

Уравнения задаются в виде expr_left = expr_right с применением жирного знака равенства «=» между левой и правой частью каждого уравнения.

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

2.1.2 Функции Find и Minerr для решения систем нелинейных уравнений

Команда Find(v1, v2, …, vn) = – возвращает значение одной или нескольких переменных для точного решения, а команда Minerr(v1, v2, …, vn) = – возвращает значение одной или нескольких переменных для приближенного решения.

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

Функции Find и Minerr могут использоваться для решения одного или ряда уравнений. Следует помнить, что использование знака присваивания вместо знака символического (логического) равенства в блоке Given некорректно. Поэтому система реагирует на попытку решения сообщением об ошибке.

Так же можно решать и другие задачи. Например, поиск точек пересечения параболы и прямой. В данном случае с помощью функции Find решается система из двух уравнений (одно из них нелинейное) с ограничительными условиями, задающими область поиска корня (y<0 для отрицательного корня и y>0 для положительного корня).

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

2.1.3 Решение дифференциальных уравнений

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

Метод Эйлера

Найдем приближенно решение уравнения у ' = f (х, у) в точках х1 = х0+h, хn = х0+nh при начальном условии:

y(х0) = y0,

где h – постоянный шаг.

Обозначим y(xk) = уk. Учитывая, что

,

заданное уравнение запишем так:

.

Отсюда

yk+1 = yk+hf (xk,yk).

Полагая в этой формуле k = 0,1,2,... находим последовательно величины у1, y2

Рисунок 2.1 – Метод Эйлера

По этим данным построим ломаную Эйлера,·которая приближенно заменяет интегральную кривую, проходящую через точку M0(x0, y0) (рис. 2.1).

Геометрически метод Эйлера означает, что через точку M0(x0, y0) проводим не интегральную кривую, а касательную к ней, которую и принимаем приближенно за интегральную кривую на участке от x0 до x1=x0+h. После этого за исходную точку берем M1(x1, y1) и поступаем так же, как и до этого.

Метод Эйлера прост, но точность его невелика. Если интервал { х0, х }, где ищется решение, разбит на n частей h= (x-x0) /n, то погрешность при вычислении ординат имеет порядок 1/h. Это означает, что для повышения точности в 10 раз (получения одного дополнительного десятичного знака) требуется увеличить число точек деления в десять раз. Последнее значительно увеличит объем вычислений.

Метод Рунге-Кутта

Пусть уk – приближенное значение решения при x = xk уже построено.

Найдем:

fk=f (xk, yk),

ak=f (xk+h/2, yk+fkh/2),

и за приближенное значение решения при х = хk+1 = xk + h примем:

yk+1 = yk + akh.

Рисунок 2.2 – Метод Рунге-Кутта

Геометрически это означает, что для построения звена Мk Мk+1 ломаной, аппроксимирующей интегральную кривую, сначала проводим через точку М отрезок Μk Μk+1, совпадающий с направлением fk поля в точке Мk (как это делалось в методе Эйлера). Вычисляем координаты точки Nk – середины этого отрезка:

(хк+h/2, yk+h/2),

и находим величину

ak=f (xk+h/2, yk+fkh/2).

Через точку Мk проводим отрмок Mk Mk+\ параллельно направлению поля в точке Nk. Ординату точки Mk+1 и принимаем за уk+1.

Этот метод будет точнее метода Эйлера, так как он учитывает поворот поля на интервале { xk, xk+1 }.

Еще более точный результат получим, если вычисления про­водить по схеме:

fk=f (xk, yk),

ak=f (xk+h/2, yk+fnh/2),

bk=f (xk+h/2, yk+anh/2),

gk=f (xk+h/2, yk+bnh),

yk+1=yk+1/6 (fk+2ak+2bk+gk) h.

За исходную точку, как и раньше, берем точку m0 (х0,y0). Выбрав шаг А, вычислим:

F0=f (x0, y0),

a0=f (x0+h/2, y0+f0h/2),

b0=f (x0+h/2, y0+a0h/2),

g0=f (x0+h/2, y0+b0h).

Находим

y1=y0+1/6 (f0+2a0+2b0+g0) h.

Получили точку Μ1 (x1, y1). Аналогично находим f1, a1, b1, g1 и вычисляем у2 и так далее.

2.1.4 Функции решения дифференциальных уравнений

Рассмотрим пример использования функции Rkfixed, предназначенной для поиска набора значений решения дифференциального уравнения методом Рунге-Кутта, встроенной в МК.

Синтаксис применения функций для решения данной задачи выглядит следующим образом:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: