85534 (612507)

Файл №612507 85534 (Визуализация численных методов)85534 (612507)2016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Сибирский государственный университет телекоммуникации и информатики

Уральский технический институт связи и информатики

Факультет телекоммуникации, информатики и управления

Кафедра организации управления связи

По курсу: “Информатика”

По теме: “Визуализация численных методов”

Написал:

Плишкин М. Ю

группа МЕ-72

Преподаватель:

Кандидат технических наук , доцент

Е.Е.Минина

г. Екатеринбург. 2010 г.

Содержание

Введение

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

1.1 Метод Эйлера

1.2 Метод Рунге – Кутта

2. Блок-схемы

3. Виды, формы

3.1 Начальная форма

3.2 Конечная форма

4. Программа для решения дифференциального уравнения в Visual Basic

Заключение

Введение

Уравнения, связывающие независимую переменную, искомую функцию и её производные называют дифференциальным уравнением. Решение дифференциального уравнения называется функция, которая при подстановке в уравнение обращает его в тождество.

Если искомая (неизвестная) функция зависит от одной переменной, то дифференциальное уравнение называется обычным; в противном случае – уравнение в частных производных, содержащие несколько независимых переменных и производные по ним, которые называются частными. В данной работе будут рассматриваться методы решения обычных дифференциальных уравнений (ОДУ).

Чтобы решить ОДУ, необходимо знать значение зависимой переменной и (или) её производные при некоторых значениях независимой переменной. Если эти дополнительные условия задаются при одном значении независимой переменной, то такая задача называется задачей с начальными условиями, или задачей Коши.

Числовое решение задачи Коши широко применяется в различных областях науки и техники, и число разработанных для него методов достаточно велико. Эти методы могут быть разделены на следующие группы.

Одношаговые методы, в которых для нахождения следующей точки на кривой y=f(x) требуется информация лишь об одном предыдущем шаге. Одношаговыми являются метод Эйлера и методы Рунге – Кутта.

Методы прогноза и коррекции (многошаговые), в которых для отыскивания следующей точки кривой y=f(x) требуется информация более чем об одной из предыдущих точек. Чтобы получить достаточно точное численное значение, часто прибегают к итерации. К числу таких методов относятся методы Милны, Адамса – Башфорта и Хемминга.

Явные методы, в которых функция Ф в выражении (1) не зависит от yn+1.

Неявные методы, в которых функция Ф зависит от yn+1.

В данной курсовой работе будут рассматриваться два одношаговых метода: метод Эйлера первого порядка точности и Рунге – Кутта четвёртого порядка точности.

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

В данной курсовой работе необходимо решить ОДУ вида y` = 4y/x с заданными начальными значениями x0=1, xk=1.4, y0=2, h=0.05. Для проверки точности результатов дано общее решение данного уравнения y=x^4с. Требуется решить уравнение двумя методами: Эйлера модифицированного и Рунге – Кутта четвёртого порядка, сравнить результаты и сделать вывод какой метод эффективнее использовать, построить графики.

Численное решение задачи Коши сводится к табулированию искомой функции.

График решения дифференциального уравнения называется интегральной кривой.

Геометрический смысл задачи:

y`=f(x,y) – тангенс угла наклона касательной к графику решения в точке (x,y) к оси OX (угловой коэффициент (в общей формуле прямой,

y=k*x+b,

обозначается как “k”)(рис 1).

Рисунок 1. Геометрический смысл задачи Коши

Существующие решения:

Если правая часть f(x,y) непрерывная в некоторой области R, определяемой неравенствами |x – x0| b, то существует, по меньшей мере, одно решение y=y(x), определённое в окрестности |x – x0| 0.

При использовании численных методов выполняется замена отрезка [x0,X] – области непрерывного изменения аргумента x множеством wh, состоящего из конечного числа точек x0

При этом xi называют узлами решётки.

Задача Коши, определённая ранее на непрерывном отрезке [x0,X], заменяется её дискретным аналогом – системой уравнений, решая которую можно последовательно найти значения y1,y2,...,yn – приближённые значения функции в узлах сетки.

1.1 Метод Эйлера

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

Пусть дано дифференциальное уравнение первого порядка

y`=f(x,y)

с начальным условием

y(x0)=y0.

Выберем шаг h и введём обозначения:

xi=x0+i*h и yi=y(xi), где i=0,1,2,...,

xi- узлы сетки,

yi- значение интегральной функции в узлах.

Иллюстрации к решению приведены на рисунке 2.

Проведём прямую АВ через точку (xi,yi) под углом α. При этом

tgα=f(xi,yi) (1)

В соответствии с геометрическим смыслом задачи, прямая АВ является касательной к интегральной функции. Произведём замену точки интегральной функции точкой, лежащей на касательной АВ.

Тогда

y i+1=yi+Δy (2).

Из прямоугольного треугольника АВС

tgα= Δy/h (3).

Приравниваем правые части (1) и (3). Получим

Δy/h= f(xi,yi).

Отсюда

Δy= f(xi,yi)*h.

Подставим в это выражение формулу (2), а затем преобразуем его. В результате получаем формулу расчёта очередной точки интегральной функции:

y i+1=yi+ h*f (xi,yi) (4).

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

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

Метод Эйлера – один из простейших методов численного решения ОДУ. Но существенным его недостатком является большая погрешность вычислений. На рисунке 2 погрешность вычислений дляi-го шага обозначена ε. С каждым шагом погрешность вычислений увеличивается.

1.2 Метод Рунге – Кутта

Пусть дано дифференциальное уравнение первого порядка y`=f(x,y) с начальным условием y(x0)=y0.

Выберем шаг h и введём обозначения:

xi=x0+i*h и yi=y(xi), где i=0,1,2,...,

xi- узлы сетки,

yi- значение интегральной функции в узлах.

Проведём решение в несколько этапов.

Обозначим точки: A(xi,yi), B(xi+1,yi+1), C, D, E.

Через точку А проведём прямую под углом α, где tg α = f(xi,yi).

На прямой (1) найдём точку С. Через точку С проведём прямую под углом α1, где

tg α1 = f(xi+h/4, yi+h/4*f(xi,yi).

Через точку А проведём прямую параллельную последней прямой.

Найдём точку D на прямой (2) и через неё проведём прямую под углом α2, где

tg α2 = f(xi+h/2, yi+h/2*f(xi,yi)).

Через точку А проведём прямую параллельную последней прямой.

По примеру, описанному выше, построим прямую, которая пересечётся с прямой x = xi+1. Эта точка и будет решением дифференциального уравнения при x = xi+1.

Согласно методу Рунге – Кутта четвёртого порядка, последовательные значения yi искомой функции y определяется по формуле:

y i+1=yi+Δy,

где

Δy=(k1+2*k2+2*k3+k4)/6, i=0,1,2,...

а числа k1(i),k2(i),k3(i),k4(i) на каждом шаге вычисляются по формулам:

k1=h*f(xi,yi)

k2 =h*f(xi+h/2,yi+k1/2)

k3=h*f(xi+h/2,yi+k2/2)

k4 =h*f(xi+h,yi+k3)

Это явный четырёхэтапный метод четвёртого порядка точности.

2. Блок-схемы

3. Виды, формы

3.1 Начальная форма

3.2 Конечная форма

4. Программа для решения дифференциального уравнения в Visual Basic

Dim y(9) As Single

Dim YE(9) As Single

Dim YR(9) As Single

Dim YT(9) As Single

Dim l(9) As Single

Private x0 As Single

Private Function fun(a As Single, b As Single) As Single

f = (b + 2) / (a + 1)

fun = f

End Function

Private Sub Command1_Click()

x0 = Val(Text1.Text)

xk = Val(Text2.Text)

y0 = Val(Text3.Text)

h = Val(Text4.Text)

N = (xk - x0) / h

MSFlexGrid1.Rows = N + 2

MSFlexGrid1.TextMatrix(0, 0) = "x"

MSFlexGrid1.TextMatrix(0, 1) = "YE"

MSFlexGrid1.TextMatrix(0, 2) = "YR"

MSFlexGrid1.TextMatrix(0, 3) = "YT"

Min = y0

Max = y0

l(0) = x0

y(0) = y0

YE(0) = y0

YR(0) = y0

YT(0) = y0

For i = 0 To N

l(i + 1) = x0 + i * h

k1 = h * fun(l(i), YR(i))

k2 = h * fun(l(i) + h / 2, YR(i) + k1 / 2)

k3 = h * fun(l(i) + h / 2, YR(i) + k2 / 2)

k4 = h * fun(l(i) + h, YR(i) + k3)

k = (k1 + 2 * k2 + 2 * k3 + k4) / 6

YR(i + 1) = YR(i) + k

YE(i + 1) = YE(i) + h * fun(l(i), YE(i))

YT(i) = (l(i + 1) + 1) * 2 - 2

MSFlexGrid1.TextMatrix(i + 1, 0) = l(i + 1)

MSFlexGrid1.TextMatrix(i + 1, 1) = YE(i)

MSFlexGrid1.TextMatrix(i + 1, 2) = YR(i)

MSFlexGrid1.TextMatrix(i + 1, 3) = YT(i)

If YE(i) > Max Then max1 = YE(i)

If YE(i) < Min Then min1 = YE(i)

If YR(i) > Max Then Max2 = YR(i)

If YR(i) < Min Then Min2 = YR(i)

If YT(i) > Max Then Max3 = YT(i)

If YT(i) < Min Then Min3 = YT(i)

Next i

For i = 0 To N - 1

px = (5415 / (xk - x0))

py = (6705 / (max1 - min1))

u1 = (l(i) - x0) * px + 600

u2 = 7440 - (YE(i) - min1) * py

u3 = (l(i + 1) - x0) * px + 600

u4 = 7440 - (YE(i + 1) - min1) * py

Picture1.Line (u1, u2)-(u3, u4)

u5 = (l(i) - x0) * px + 600

u6 = 7440 - (YR(i) - min1) * py

u7 = (l(i + 1) - x0) * px + 600

u8 = 7440 - (YR(i + 1) - min1) * py

Picture1.Line (u5, u6)-(u7, u8)

u9 = (l(i) - x0) * px + 600

u10 = 7440 - (YT(i) - min1) * py

u11 = (l(i + 1) - x0) * px + 600

u12 = 7440 - (YT(i + 1) - min1) * py

Picture1.Line (u9, u10)-(u11, u12)

Next i

End Sub

Заключение

В данной курсовой рассматривались два метода решения ОДУ с начальными условиями, то есть задачи Коши: метод Эйлера и метод Рунге – Кутта четвёртого порядка.

Данные полученные этими методами идентичны друг другу, но с точки зрения простоты использования метод Эйлера гораздо проще в описании, чем метод Рунге – Кутта четвертого порядка.

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

Характеристики

Тип файла
Документ
Размер
10,74 Mb
Тип материала
Предмет
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

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

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7026
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее