Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа № 1 «Исследование динамики линейных систем, описываемых обыкновенными дифференциальными уравнениями»

Лабораторная работа обыкновенные дифференциальные уравнения

ЛАБОРАТОРНАЯ РАБОТА № 1

«Исследование динамики линейных систем, описываемых обыкновенными дифференциальными уравнениями»

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

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

Поведение динамической линейной системы автоматического управления может быть описано скалярным дифференциальным уравнением порядка Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения(1.1)

где Лабораторная работа обыкновенные дифференциальные уравнения– входной сигнал;

Лабораторная работа обыкновенные дифференциальные уравнения– выходной сигнал;

Лабораторная работа обыкновенные дифференциальные уравнения– порядок производной входного сигнала;

Лабораторная работа обыкновенные дифференциальные уравнения, Лабораторная работа обыкновенные дифференциальные уравненияи Лабораторная работа обыкновенные дифференциальные уравнения– постоянные коэффициенты.

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

Лабораторная работа обыкновенные дифференциальные уравнения(1.2)

С учетом введенных обозначений (1.2) уравнение (1.1) может быть переписано в следующем виде

Лабораторная работа обыкновенные дифференциальные уравнения(1.3)

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

Лабораторная работа обыкновенные дифференциальные уравнения(1.4)

Систему (1.2) можно привести к следующему виду

Лабораторная работа обыкновенные дифференциальные уравнения(1.5)

Тогда система (1.5) и уравнение (1.4) формируют систему обыкновенных дифференциальных уравнений порядка Лабораторная работа обыкновенные дифференциальные уравнения, где в левой части каждого уравнения записывается лишь первая производная переменной состояния системы Лабораторная работа обыкновенные дифференциальные уравнения, а в правой части уравнений не присутствуют производные переменных состояния

Лабораторная работа обыкновенные дифференциальные уравнения(1.6)

Пример 1.1. Получить по заданному дифференциальному уравнению систему в нормальной форме Коши

Лабораторная работа обыкновенные дифференциальные уравнения. (1.7)

На основе (1.6) и (1.7) можно записать следующую систему уравнений

Лабораторная работа обыкновенные дифференциальные уравнения(1.8)

Далее необходимо полученную систему дифференциальных уравнений решить при помощи математического пакета MatLab.

Внимание! Типовые ошибки

Дробная часть в пакете MatLab, как и в большинстве языков программирования, отделяется от целой при помощи точки, а не запятой. Имя функции начинается с символа английского алфавита, кроме букв содержит цифры, нижнее подчеркивание, не содержит кириллицы. Имя вызываемой функции совпадает с названием m-файла MatLab. Переменные в MatLab чувствительны к регистру вводимых символов, например, x и X – это две разные переменные. Размерность системы Лабораторная работа обыкновенные дифференциальные уравнениясовпадает с размерностями вектора параметров интегрирования, а также вектора начальных условий. Без сохранения вызываемой функции после редактирования будет исполняться ранее сохраненный вариант.
Написание скриптов в математическом пакете MatLab

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

В меню MatLab выбрать пункт File→New→Script.

В открывшемся окне написать код в соответствии с листингом 1.1.

function dx=model1(t, x)

Полученный листинг сохранить в файл с именем, совпадающим с именем функции, model1.m в требуемой папке.

В листинге 1.1 реализуется модель системы в соответствии с системой (1.8) из примера 1.1. Первая строка листинга начинается со служебного слова, определяющего данный скрипт в качестве вызываемой функции с именем model1, возвращающей вектор значений производных переменных состояния dx. В качестве входных параметров в данной функции заданы время t и переменные состояния x.

Вторая строка листинга 1.1 инициализирует размерность вектора dx, в данном случае используется вектор-столбец из трех значений (матрица размерностью Лабораторная работа обыкновенные дифференциальные уравнения). В третьей строке задан вид входного воздействия, сначала это единичный сигнал.

Последние строки листинга 1.1 реализуют систему (1.8). Индексы переменных состояния записаны в круглых скобках.

Завершение строки точкой с запятой препятствует выводу рассчитанных значений в командное окно (Command Window) MatLab.

Открыть новый скрипт, выбрав пункт меню File→New→Script.

В открывшемся окне написать код в соответствии с листингом 1.2.

title(‘Реакция системы на входной сигнал y=1 при начальных условиях [0,0,0]’);

annotation(‘arrow’,[0.13 0.13],[0.13 0.95], ‘HeadStyle’, ‘plain’)

annotation(‘arrow’,[0.11 0.92],[0.11 0.11], ‘HeadStyle’, ‘plain’)

Полученный листинг сохранить в файл, например, с именем lab1.m в той же самой папке.

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

Следующая строка кода возвращает значение времени и соответствующие значения переменных состояния в результате интегрирования функцией ode45, реализующей метод Рунге-Кутта 4-5 порядка точности. Параметрами этой функции являются название функции с моделью системы, интервал времени и начальные условия. В результате выполнения данной команды функция возвращает вектор моментов времени и матрицу переменных состояния в соответствующие моменты времени. Их значения можно увидеть после выполнения скрипта в окне Workspace пакета MatLab, двойным щелчком открыв их на просмотр. Другим способом является введение в командном окне имен переменных без точки с запятой в конце строки. Например, приведенные ниже команды позволят получить значения соответствующих переменных в командном окне

Размерность матрицы переменных состояния можно оценить командой

Вектор времени будет иметь ту же длину, что и переменные состояния.

Команда plot позволит построить график функции Лабораторная работа обыкновенные дифференциальные уравнениясплошной кривой синего цвета (маркер ‘b-‘) и функции Лабораторная работа обыкновенные дифференциальные уравненияштриховой кривой зеленого цвета (маркер ‘g—‘). Для того, чтобы график был лучше виден при печати, в команде также задана толщина линии размером в 2 пункта.

Оставшиеся команды в листинге используются для оформления графика. Команда legend позволяет отобразить подписи к типу линий на графике. Команда grid on формирует координатную сетку на графике. Команды xlabel и ylabel позволяют настроить подписи к осям абсцисс и ординат соответственно. Команда title позволяет задать заголовок к рисунку с указанной подписью. Две последние команды выводят стрелки на осях системы координат.

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

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

После построения графика его необходимо скопировать в отчет. Для этого перейти в окне с графиком в пункт меню Edit→Copy Options. Установить настройки копирования в буфер обмена в формате метафайла с сохранением данных Clipboard format→Preserve information (metafile if possible) и настройка прозрачного фона рисунка Figure background color→Transparent background.

Скопировать рисунок в буфер обмена Edit→Copy Figure и вставить в документ текстового редактора, например, Microsoft Word, в котором будет находиться отчет по лабораторной работе.

Исходные данные по вариантам

Варианты параметров моделей

порядок модели Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения

порядок модели Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения

порядок модели Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения

Лабораторная работа обыкновенные дифференциальные уравнения

Варианты начальных условий

Порядок модели n

1.5.1. Ознакомиться с пакетом прикладных программ MATLAB (см. Приложение А).

1.5.2. В соответствии с вариантом задания (см. табл. 1.1) записать дифференциальное уравнение по аналогии с (1.1).

1.5.3. Получить систему в нормальной форме Коши в соответствии с (1.6).

1.5.4. Осуществить моделирование системы дифференциальных уравнений в математическом пакете MatLab, для чего реализовать два m-файла в соответствии с 1.3 (листинги 1.1 и 1.2).

1.5.5. Осуществить моделирование системы при двух видах входных воздействий:

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

б) Лабораторная работа обыкновенные дифференциальные уравнения. Начальные условия ненулевые в соответствие с табл. 1.2. (внести соответствующие изменения в листинг второго скрипта в команде ode45, а также в названии рисунка title). На монитор выводить графики сигналов Лабораторная работа обыкновенные дифференциальные уравненияи Лабораторная работа обыкновенные дифференциальные уравнения. Скопировать результаты в отчет.

в) Лабораторная работа обыкновенные дифференциальные уравнения(внести изменение в первый скрипт, заменив строку кода y=1; на строку y=sin(t);). Начальные условия нулевые (внести соответствующие изменения в листинг второго скрипта в команде ode45, а также в названии рисунка title). Продолжительности интервалов моделирования подобрать самостоятельно. На монитор выводить графики сигналов Лабораторная работа обыкновенные дифференциальные уравненияи Лабораторная работа обыкновенные дифференциальные уравнения. Скопировать результаты в отчет.

г) Лабораторная работа обыкновенные дифференциальные уравнения. Начальные условия ненулевые (внести соответствующие изменения в листинг второго скрипта в команде ode45, а также в названии рисунка title). Продолжительности интервалов моделирования подобрать самостоятельно. На монитор выводить графики сигналов Лабораторная работа обыкновенные дифференциальные уравненияи Лабораторная работа обыкновенные дифференциальные уравнения. Скопировать результаты в отчет.

1.5.6. Оформить отчет в соответствии с 1.6.

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

1.6. СОДЕРЖАНИЕ ОТЧЕТА

Отчет должен содержать следующие разделы:

1.6.1. Титульный лист установленного образца, содержащий номер и название лабораторной работы, Ф. И.О. автора, учебную группу, Ф. И.О. и должность преподавателя, номер варианта, место и год выполнения работы

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

1.6.3. Исходные данные в соответствии с вариантом задания.

1.6.4. Математическая модель динамической системы в форме обыкновенного дифференциального уравнения.

1.6.5. Полученная система дифференциальных уравнений в нормальной форме Коши.

1.6.6. Результаты моделирования системы.

1.6.7. Значение перерегулирования, установившегося значения и времени переходного процесса.

1.7. ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ

1.7.1. Каким образом можно получить из обыкновенного дифференциального уравнения систему уравнений в нормальной форме Коши? Сколько уравнений будет в этой системе?

1.7.2. Назовите виды математических моделей системы?

1.7.3. Какой численный метод интегрирования реализует функция ode45?

1.7.4. Поясните принцип составления модели вход – выход?

1.7.5. На каких графиках построены переходная характеристика и импульсная переходная функция? Почему?

1.7.6. Как связаны между собой переходная характеристика и импульсная переходная функция системы?

1.7.7. Как связаны между собой сигналы Лабораторная работа обыкновенные дифференциальные уравненияи Лабораторная работа обыкновенные дифференциальные уравнения? Почему?

1.7.8. Почему переходную характеристику и импульсную переходную функцию называют временными характеристиками?

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

MatLAB (сокращение от Matrix Laboratory – матричная лаборатория) – это компьютерная система проведения математических расчетов, получившая широкое распространение.

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

Интегрирование системы обыкновенных дифференциальных уравнений осуществляется при помощи функций ode23 и ode45. Функция ode23 осуществляет интегрирование численным методом Рунге-Кутта 2-го порядка, а с помощью метода 3-го порядка контролирует относительные и абсолютные ошибки интегрирования на каждом шаге и изменяет величину шага интегрирования так, чтобы обеспечить заданные пределы ошибок интегрирования. При использовании функции ode45 интегрирование осуществляется методом Рунге-Кутта 4-го порядка, а величина шага контролируется методом 5-го порядка.

Система дифференциальных уравнений должна быть представлена в форме Коши:

Лабораторная работа обыкновенные дифференциальные уравнения(1.1)

где y – вектор переменных состояния системы, t – аргумент (обычно время), f – нелинейная вектор-функция от переменных состояния у и аргумента t.

Обращение к процедурам численного интегрирования имеет вид:

[t, y] = ode23(‘ ’, tspan, y0, options)

[t, y] = ode45(‘ ’, tspan, y0, options),

где — имя M-файла, являющегося функцией Matlab от t и y, в котором вычисляется вектор функция f(y, t), т. е. правые части системы дифференциальных уравнений;

tspan – вектор задающий интервал интегрирования [t0 tfinal], t0 – начальное значение интервала, tfinal – конечное;

yo – вектор начальных условий;

options – строка параметров, определяющих значения допустимой относительной и абсолютной погрешности интегрирования. Этот параметр можно не указывать, если пользователя устаивают значения погрешностей, заданных по умолчанию, т. е. относительная погрешность интегрирования 1.0e-3, а абсолютная (по каждой из переменных состояния) – 1.0e-6. В противном случае, перед обращением к процедуре ode23 следует указать значения погрешностей при помощи процедуры odeset.

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

Пусть задана система обыкновенных дифференциальных уравнений:

со следующими начальными условиями:

Для интегрирования данной системы уравнений необходимо создать М-файл, который является функцией переменных t и y. Для создания файла воспользуемся редактором MATLAB Editor/Debugger, который вызывается из основного меню File – New – M-File. Текст файла:

function dy=rigid(t, y)

Название файла и функции должны совпадать. Файл надо сохранить с названием rigid.

В этом примере абсолютная и относительная погрешность задается при помощи команды odeset, время интегрирования зададим в интервале от 0 до 12 [0 12], вектор начальных условий [0 1 1]. Для осуществления процедуры интегрирования в рабочем пространстве Matlab необходимо набрать:

» options=odeset(‘RelTol’,1e-4,’AbsTol’,[1e-4 1e-4 1e-5]);

» [t, y]=ode45(‘rigid’,[0 12],[0 1 1],options);

Чтобы просмотреть результаты в рабочем пространстве Matlab необходимо ввести в командной строке y. Графически результаты выводятся при помощи команды plot:

plot(y)
plot(x, y)
plot(x, y, s)
plot(x1, y1, s1, x2, y2, s2, . )

Команда plot(y) строит график элементов одномерного массива y в зависимости от номера элемента; если элементы массива y комплексные, то строится график plot(real(y), imag(y)). Если Y — двумерный действительный массив, то строятся графики для столбцов; в случае комплексных элементов их мнимые части игнорируются.

Команда plot(x, y) соответствует построению обычной функции, когда одномерный массив x соответствует значениям аргумента, а одномерный массив y — значениям функции. Когда один из массивов X или Y либо оба двумерные, реализуются следующие построения:

если массив Y двумерный, а массив x одномерный, то строятся графики для столбцов массива Y в зависимости от элементов вектора x;

если двумерным является массив X, а массив y одномерный, то строятся графики столбцов массива X в зависимости от элементов вектора y;

если оба массива X и Y двумерные, то строятся зависимости столбцов массива Y от столбцов массива X.

Команда plot(x, y, s) позволяет выделить график функции, указав способ отображения линии, способ отображения точек, цвет линий и точек с помощью строковой переменной s, которая может включать до трех символов из следующей таблицы:

Видео:Лабораторная работа 1. Решение систем обыкновенных дифференциальных уравненийСкачать

Лабораторная работа 1. Решение систем обыкновенных дифференциальных уравнений

Жданов БИН1909 Лабораторная 4. Лабораторная работа 4 По дисциплине «Численные методы» Тема Методы решения обыкновенных дифференциальных уравнений

НазваниеЛабораторная работа 4 По дисциплине «Численные методы» Тема Методы решения обыкновенных дифференциальных уравнений
Дата20.04.2021
Размер75.41 Kb.
Формат файлаЛабораторная работа обыкновенные дифференциальные уравнения
Имя файлаЖданов БИН1909 Лабораторная 4.docx
ТипЛабораторная работа
#196679
Подборка по базе: Контрольная работа экономика энергетики Поляков А.В. ЭЛЭ 17-27 В, Проверочная работа по теме Однородные члены предложения.docx, Самостоятельная работа 5.docx, Лабораторная работа №1.docx, Окладной Корней 4КСК11 — Практическая работа 7.docx, Дипломная работа Каршалова ЖБ.doc, Практическая работа 1.docx, Практическая работа№2 FAR.docx, КОНТРОЛЬНЫЕ ВОПРОСЫ к практическим занятиям по дисциплине «Гисто, Сборник лабораторных работ по дисциплине ОП.10 _Информационная б

Министерство цифрового развития, связи и

Ордена Трудового Красного Знамени

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

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

По дисциплине “Численные методы”

« Методы решения обыкновенных
дифференциальных уравнений»

Выполнил: Студент группы БИН 1909 Жданов Сергей

Проверил: Сосновиков Г.К.

Москва 2021
Оглавление

Общее задание:

  1. Выбрать индивидуальное задание в табл. 4-1 для решения обыкновенных дифференциальных уравнений:
    • дифференциальное уравнение y ‘  f(x,y) ;
    • интервал [a;b] , где ищется решение дифференциального уравнения;
    • начальные условия x0, y0;
    • шаг интегрирования h0.
  2. Найти аналитическое решение y  y(x) заданного дифференциального уравнения, полагая его точным.
  3. Создать в сценарии функцию для вычисления значений полученного решения y(x) на отрезке [a;b] с шагом h0.
  4. Создать в сценарии функцию для вычисления значений численное решение дифференциального уравнения методом Эйлера — yЭ(x) в точках отрезка [a;b] с шагом h0
  5. Вычислить значения погрешностей

E | y(x ) yЭ(x ) | для x  x  ih , i i  0,1. n ,.

  1. Написать и выполнить программу, реализующую программу решения дифференциального уравнения методом Рунге-Кутта 4-го порядка yрк(х) в точках отрезка [a;b] с шагом h0, обеспечив с использованием метода автоматического выбора шага, точность 10-4.
  2. Вычислить значения погрешностей E2  y(xi )  y pk для x  x  ih , i  0,1. n .
  3. Найти решение дифференциального уравнения ys(x)использованием функции пакета Scilab ode.
  4. Проиллюстрировать решения y(x), yЭ(x), ypk(x) в одной системе координат.

    Лабораторная работа обыкновенные дифференциальные уравнения

    1. Задание для численного дифференциальных уравнений:

    • дифференциальное уравнение y ‘  y*cos(x);
    • интервал [0;1.5];
    • начальные условия x0=0, y0=1;
    • шаг интегрирования h0=0.5.

    2. Точное аналитическое решение дифференциального уравнения:

    Найдем точное аналитическое решение заданного дифференциального уравнения (решение y=y(x)) методом разделения переменных. Для этого запишем уравнение в виде dy/y dx и проинтегрируем с учетом начальных y условий. Получим ln(y)  sin(x)  c, y  e^(sin(x)c) . Из начальных условий следует, что с=0. Аналитическое решение дифференциального уравнения y(x)  e^ sin ( x )
    3. Значения точного решения ОДУ –y(x):

    Вычислим в сценарии значения полученного решения y(xi) на отрезке [0;1.5] с шагом изменения аргумента h=0.5:

    xiy(xi)
    01
    0.51,615146296
    12,319776825
    1.52,711481018

    4. Численное решение заданного ОДУ методом Эйлера:

    Было: “Вычислим в сценарии И где сценарий ? значения численного решение ОДУ методом Эйлера ( ) в точках отрезка [0;1,5] с шагом h=0,5. Для этого ОДУ записывают в виде y’=f(x,y) Оно уже у вас в этом виде. Зачем эта фраза?? Все пишут и я пишу. . Общая формула для определения”

    Вычислим значения численного решения ОДУ и получим решение в точках отрезка [0;1,5] с шагом h=0,5 методом Эйлера-го порядка. Общая формула для определения

    очередного значения функции по методу Эйлера имеет вид yi+1=yi+hf(xi,yi), где i=1,2,3. n; n=(b-a)/h.

    xiyэ(xi)
    01
    0.51.5
    12.158186921
    1.52.741223606

    5. Значения погрешности:

    xiЕi
    00
    0,50,115146296
    10,161589903
    1.50,029742589

    6. Результаты решения ОДУ методом Рунге-Кутта 4-го порядка, дополненным методом автоматического обеспечивающим точность 10-4:
    Вычислим численного решения ОДУ и получим решение в точках отрезка [0;1,5] с шагом h=0,5 методом Рунге-Кутта 4-го порядка, используя формулы:
    yi+1= yi+ h/6*(k1+2k2+ 2k3+k4 ),

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

    xiy pk (xi)k1k2k3k4
    0101,2111405271,2622846971,431462081
    0.51,6148593771,4174242251,1709215561,1258307410,977330754
    12,3192198521,2533807670,565130490,5108753150,122681184
    1.52,7108288580,19180258-0,293114736-0,271506086-0,60788031


    Погрешность:

    xiΔi
    00
    0,50,000286919
    10,000556973
    1.50,00065216

    Красный график — график решения ОДУ методом Эйлера.
    Желтый график — график решения ОДУ методом Рунге-Кутта 4-го порядка.
    Синий график — график точного решения аналитического уравнения.

    Синий и желтый график практически совпадают, а их погрешность очень мала. Из этого можно сделать вывод о том, что метод Рунге-Кутта обеспечивает очень высокую точность решения ОДУ.

    Лабораторная работа обыкновенные дифференциальные уравнения

    Проиллюстрировать решения y(x), yЭ(x), ypk(x) в одной системе координат

    8. Код и результаты программы решения ОДУ методом Рунге-Кутта 4-го порядка дополненным методом автоматического выбора шага, обеспечивающим точность 10-4.

    using namespace std;
    double f(double x, double y) <

    >
    double Rounge4(double xi, double yi, double h0, int m) <

    y = yi;
    for (int i = 1; i eps);
    y0 = y;

    Видео:18+ Математика без Ху!ни. Дифференциальные уравнения.Скачать

    18+ Математика без Ху!ни. Дифференциальные уравнения.

    Лабораторная работа: Решение обыкновенных дифференциальных уравнений

    Кафедра: Информационные Технологии

    На тему: РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

    Москва, 2008 год

    РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

    · знать команды, используемые при решении обыкновенных дифференциальных уравнений в системе вычислений Maple;

    · уметь применять указанные команды для решения математических задач.

    Решение обыкновенных дифференциальных уравнений.

    С помощью команды dsolve ( ) можно получить аналитическое решение дифференциального уравнения, а можно и сформировать процедуру построения численного решения задачи Коши, если система Maple не сможет найти общее решение в аналитическом виде. Наиболее общий синтаксис вызова команды решения дифференциального уравнения следующий:

    dsolve (уравнения, неизвестные, [опции]);

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

    Чтобы задать производную искомой функции в дифференциальном уравнении используют команду diff ( ) или оператор D, причем саму неизвестную функцию следует определять с явным указанием независимой переменной, например у(х). Оператор D определяет операцию дифференцирования и имеет следующий синтаксис:

    (D@@n) (функция) (переменная);

    В этой записи n представляет целое число, определяющее порядок производной, параметр функция – используемый идентификатор функции, а параметр переменная – независимую переменную функции. Например, производная второго порядка функции f (х) с использованием этого оператора задается так:

    Ниже представлены несколько примеров задания дифференциальных уравнений и систем дифференциальных уравнений:

    Лабораторная работа обыкновенные дифференциальные уравнения

    Лабораторная работа обыкновенные дифференциальные уравнения

    Лабораторная работа обыкновенные дифференциальные уравнения

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

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

    Лабораторная работа обыкновенные дифференциальные уравнения

    Лабораторная работа обыкновенные дифференциальные уравнения

    Найдено общее решение дифференциального уравнения, в котором переменные С1 и С2 – это сгенерированные Maple специальные переменные, представляющие произвольные константы общего решения дифференциального уравнения второго порядка. Этот пример показывает, что при отсутствии каких-либо опций система Maple пытается найти точное общее решение в явном виде. Если в явном виде решения не существует, то система попытается найти его в неявном виде, как видно из следующего примера:

    Лабораторная работа обыкновенные дифференциальные уравнения

    Лабораторная работа обыкновенные дифференциальные уравнения

    Лабораторная работа обыкновенные дифференциальные уравнения

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

    По умолчанию команда dsolve ( ) сначала пытается найти общее реше­ние в явном виде, и если таковое не удается найти, то решение выдается в неявном виде (конечно, при условии его существования). Можно «озадачить» Maple поиском общего решения в явном виде, используя опцию explicit = true (по умолчанию используется explicit = false):

    Название: Решение обыкновенных дифференциальных уравнений
    Раздел: Рефераты по информатике, программированию
    Тип: лабораторная работа Добавлен 09:42:43 21 июля 2009 Похожие работы
    Просмотров: 316 Комментариев: 20 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно Скачать
    Лабораторная работа обыкновенные дифференциальные уравнения

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

    Не для любого дифференциального уравнения удается найти общее решение в явном или неявном виде. В этом случае можно построить приближенное решение в форме ряда Тейлора. Для этого нужно задать опцию

    type=series в команде dsolve ( ) (по умолчанию используется type=exact), а также установкой значения системной переменной Order определить, до какого порядка малости относительно независимой переменной функции ищется разложение решения в ряд Тейлора в окрестности нулевой точки:

    Лабораторная работа обыкновенные дифференциальные уравнения

    Лабораторная работа обыкновенные дифференциальные уравнения

    Лабораторная работа обыкновенные дифференциальные уравнения

    Заметим, что в решении дифференциального уравнения второго порядка, представленном рядом Тейлора, в качестве постоянных используются значения искомой функции и ее первой производной в точке х=0: у(0), D(y)(0).

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

    Лабораторная работа обыкновенные дифференциальные уравнения

    Задача Коши для этого дифференциального уравнения второго порядка требует задания в нулевой точке значения неизвестной функции и ее первой производной. Ее решение представлено ниже:

    Лабораторная работа обыкновенные дифференциальные уравнения

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

    Лабораторная работа обыкновенные дифференциальные уравнения

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

    Если точное решение задачи Коши или краевой задачи системой Maple не найдено, а приближенное решение в виде ряда Тейлора нас не устраивает, то можно построить численное решение, опять-таки с использованием все той же команды dsoive ( ). Для этого задают опцию type = numeric, а с помощью опции method = метод определяют используемый для построения численного решения метод. Параметр метод принимает одно из значений, представленных в табл. 1.

    Таблица 1. Значения опции method при численном решении дифференциальных уравнений.

    Видео:Лабораторная работа №5 по физике для 8 класса "Измерение напряжения на различных участках цепи"Скачать

    Лабораторная работа №5 по физике для 8 класса "Измерение напряжения на различных участках цепи"

    Значение

    Видео:Дифференциальные уравнения. 11 класс.Скачать

    Дифференциальные уравнения. 11 класс.

    Описание

    Метод Рунге-Кутта-Фальберга порядка 4-5

    Видео:Решение дифференциальных уравнений. Практическая часть. 11 класс.Скачать

    Решение дифференциальных уравнений. Практическая часть. 11 класс.

    Dverk78

    Видео:Решение дифференциальных уравнений. Практическая часть. 11 класс.Скачать

    Решение дифференциальных уравнений. Практическая часть. 11 класс.

    Метод Рунге-Кутта порядка 7-8

    По умолчанию (если не задана опция method) применяется метод Рунге-Кутта-Фальберга порядка 4-5. При использовании численного решения следует помнить, что все параметры дифференциального уравнения (символьные константы) должны быть определены. Например, для задачи Коши уравнения eqn1 предыдущего примера следует задать численное значение для параметра k.

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

    Лабораторная работа обыкновенные дифференциальные уравнения

    Переменной f присваиваем результат численного решения задачи Коши для дифференциального уравнения второго порядка (в нулевой точке задается значение неизвестной функции и ее первой производной):

    Лабораторная работа обыкновенные дифференциальные уравнения

    Если не присвоить параметру k конкретного числового значения, то попытка получить значение решения в точке, например х = 1, приведет к ошибке:

    Error, (in dsolve/numeric/rkf45) cannot evaluate boolean: 2.+abs(.2511886433e-1-.2016799760e-5*k^2-.3377712687e-4*k^2*(.2318664400e-1-.3700729218e-5*k^2)+.6309573448e-5*k^2*(.2511886433e-1-.6603721651e-5*k^2)) k:=1:

    Лабораторная работа обыкновенные дифференциальные уравнения

    Лабораторная работа обыкновенные дифференциальные уравнения

    Лабораторная работа обыкновенные дифференциальные уравнения

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

    Задачи для самостоятельного решения.

    1. Решить уравнения:

    1.1. Лабораторная работа обыкновенные дифференциальные уравнения; 1.13. Лабораторная работа обыкновенные дифференциальные уравнения;

    1.2. Лабораторная работа обыкновенные дифференциальные уравнения; 1.14. Лабораторная работа обыкновенные дифференциальные уравнения;

    1.3. Лабораторная работа обыкновенные дифференциальные уравнения; 1.15. Лабораторная работа обыкновенные дифференциальные уравнения;

    1.4. Лабораторная работа обыкновенные дифференциальные уравнения; 1.16. Лабораторная работа обыкновенные дифференциальные уравнения;

    1.5. Лабораторная работа обыкновенные дифференциальные уравнения; 1.17. Лабораторная работа обыкновенные дифференциальные уравнения;

    1.6. Лабораторная работа обыкновенные дифференциальные уравнения; 1.18. Лабораторная работа обыкновенные дифференциальные уравнения;

    1.7. Лабораторная работа обыкновенные дифференциальные уравнения; 1.19. Лабораторная работа обыкновенные дифференциальные уравнения;

    1.8. Лабораторная работа обыкновенные дифференциальные уравнения; 1.20. Лабораторная работа обыкновенные дифференциальные уравнения;

    1.9. Лабораторная работа обыкновенные дифференциальные уравнения; 1.21. Лабораторная работа обыкновенные дифференциальные уравнения;

    1.10. Лабораторная работа обыкновенные дифференциальные уравнения; 1.22. Лабораторная работа обыкновенные дифференциальные уравнения

    1.11. Лабораторная работа обыкновенные дифференциальные уравнения; 1.23. Лабораторная работа обыкновенные дифференциальные уравнения;

    1.12. Лабораторная работа обыкновенные дифференциальные уравнения; 1.24. Лабораторная работа обыкновенные дифференциальные уравнения

    Лабораторная работа обыкновенные дифференциальные уравнения. 1.1; 1.2; Лабораторная работа обыкновенные дифференциальные уравнения. 1.12; 1.21;

    Лабораторная работа обыкновенные дифференциальные уравнения. 1.3; 1.4; Лабораторная работа обыкновенные дифференциальные уравнения. 1.13; 1.22

    Лабораторная работа обыкновенные дифференциальные уравнения. 1.5; 1.6; Лабораторная работа обыкновенные дифференциальные уравнения. 1.14; 1.23;

    Лабораторная работа обыкновенные дифференциальные уравнения. 1.7; 1.8; Лабораторная работа обыкновенные дифференциальные уравнения. 1.15; 1.24;

    Лабораторная работа обыкновенные дифференциальные уравнения. 1.9; 1.18; Лабораторная работа обыкновенные дифференциальные уравнения. 1.16; 1.14;

    Лабораторная работа обыкновенные дифференциальные уравнения. 1.10; 1.19; Лабораторная работа обыкновенные дифференциальные уравнения. 1.17; 1.15;

    Лабораторная работа обыкновенные дифференциальные уравнения. 1.11; 1.20;

    1. Команда dsolve ( ), ее предназначение и синтаксис.

    2. Оператор D, его предназначение и синтаксис.

    3. Команда isolate ( ), ее предназначение и синтаксис.

    4. Какая опция в команде dsolve ( ) используется для построения приближенного решения дифференциального уравнения в форме ряда Тейлора?

    5. Как решить задачу Коши с помощью команды dsolve ( )?

    6. Как решить краевую задачу с помощью команды dsolve ( )?

    7. Можно ли с помощью команды diff ( ) задавать производные в начальных или краевых условиях?

    8. Как с помощью команды dsolve ( ) построить численное решение дифференциального уравнения?

    1. Говорухин В.Н., Цибулин В.Г. Введение в Maple. Математический пакет для всех. – М.: Мир, 1997. – 208 с.

    2. Дьяконов В.П. Математическая система Maple V. – М.: Издательство “Солон”,1998.

    3. Двайт Г.Б. Таблицы интегралов и другие математические формулы. – М.: Наука. Главная редакция физико-математической литературы, 1983. – 176 с.

    4. Матросов А.В. Maple 6. Решение задач высшей математики и механики. – СПб.:БХВ — Петербург, 2001.– 528 с.

    5. Манзон Б.М. Maple V Power Edition – М.: Информационно-издательский дом “Филинъ”,1998г.

    📸 Видео

    Решение дифференциальных уравнений. Практическая часть. 11 класс.Скачать

    Решение дифференциальных уравнений. Практическая часть. 11 класс.

    Решение простейших дифференциальных уравнений. Практическая часть. 11 класс.Скачать

    Решение простейших дифференциальных уравнений. Практическая часть. 11 класс.

    Откуда появляются дифференциальные уравнения и как их решатьСкачать

    Откуда появляются дифференциальные уравнения и как их решать

    Дифференциальные уравнения, 1 урок, Дифференциальные уравнения. Основные понятияСкачать

    Дифференциальные уравнения, 1 урок, Дифференциальные уравнения. Основные понятия

    Решение дифференциальных уравнений. Практическая часть. 11 класс.Скачать

    Решение дифференциальных уравнений. Практическая часть. 11 класс.

    2. Дифференциальные уравнения с разделяющимися переменными. Часть 1.Скачать

    2. Дифференциальные уравнения с разделяющимися переменными. Часть 1.

    Лабораторная работа "Изучение движения тела, брошенного горизонтально"Скачать

    Лабораторная работа "Изучение движения тела, брошенного горизонтально"

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

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

    Решение однородного дифференциального уравнения. Практическая часть. 11 класс.Скачать

    Решение однородного дифференциального уравнения. Практическая часть. 11 класс.
    Поделиться или сохранить к себе: