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

Решение дифференциального уравнения для вертикальных колебаний под действием вынуждающей силы. Сравнение функции ode45 и метода Рунге-Кутты 4 порядка. Оценка точности результата решения данного уравнения методом Эйлера и методом Рунге-Кутты 4 порядка.

Рубрика Математика
Вид лабораторная работа
Язык русский
Дата добавления 10.10.2015
Размер файла 342,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru//

Размещено на http://www.allbest.ru//

Федеральное государственное автономное образовательное учреждение

высшего профессионального образования

«СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

ИНСТИТУТ ИНЖЕНЕРНОЙ ФИЗИКИ и РАДИОЭЛЕКТРОНИКИ

Кафедра «Приборостроение и наноэлектроника»

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №2

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

Красноярск, 2013

Задание к лабораторной работе

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

(1)

Где x - отклонение системы от исходного положения, t - время, m - масса, в - коэффициент вязкого трения, k - коэффициент жесткости амортизаторов, щ - циклическая частота.

Решим это дифференциальное уравнение для следующих параметров:

x = 0, dx/dt = 0, t = 0, в=0.5кг/с, k = 5 Н/м, m = 1кг,Fm = 2000Н,

щ = 0.3 рад/с.

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

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

(2)

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

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

Приближенное значение в точках:

Коэффициенты:

Сначала решим дифференциальное уравнение с помощью функции ode45(Метод Рунге-Кутты 4, 5 порядка). Создадим файл-функцию для нашего уравнения.

functiondx = diff_fun(t, y)

% Константы

m=1;

B=0.5;

k=5;

w=0.3;

%Уравнения

dx=[y(2); 1/m*(2000*abs(cos(w*t))-B*y(2)-k*y(1))];

Запишем скрипт для нахождения решения.

clc; clear; closeall;

Y0=[0 0]; % Начальные значения

h=0.01; % Шаг

t0=0;

t1=30;

T0=[t0:h:t1]; % Интервал для решения

[T, Y] = ode45('diff_fun', T0, Y0);

holdon

plot(T, Y(:,1), 'b-', 'LineWidth', 2)

plot(T, Y(:,2), 'r-', 'LineWidth', 2)

gridon

Дополним код собственными функциями и сравним полученный результат.

clc; clear; closeall;

Y0=[0 0]; % Начальные значения

h=0.01; % Шаг

t0=0;

t1=30;

%% Встроенная функция (Метод Рунге-Кутты)

T0=[t0:h:t1]; % Интервал для решения

[T, Y] = ode45('diff_fun', T0, Y0);

hold on

plot(T, Y(:,1), 'b-', 'LineWidth', 2)

plot(T, Y(:,2), 'r-', 'LineWidth', 2)

grid on

Y11=Y(:,1); Y22=Y(:,2);

clearT0TY% Очищаем переменные

%% Собственная функция (Метод Рунге-Кутты)

Y1=[]; Y2=[]; % Задаем массив

y1=Y0(1); y2=Y0(2); % Задаем начальные значения

T=t0:h:t1; % Задаем интервал

for t = t0:h:t1 % Решаем

k1=h*dx(t, y1, y2, '1');

k2=h*dx(t+h/2, y1+k1/2, y2+k1/2, '1');

k3=h*dx(t+h/2, y1+k2/2, y2+k2/2, '1');

k4=h*dx(t+h, y1+k3, y2+k3, '1');

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

Y1=[Y1 y1];

k1=h*dx(t, y1, y2, '2');

k2=h*dx(t+h/2, y1+k1/2, y2+k1/2, '2');

k3=h*dx(t+h/2, y1+k2/2, y2+k2/2, '2');

k4=h*dx(t+h, y1+k3, y2+k3, '2');

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

Y2=[Y2 y2];

end

plot(T, Y1, 'm-', 'lineWidth', 2)

plot(T, Y2, 'g-', 'LineWidth', 2)

legend('y1 - ode45', 'y2 - ode45', 'y1 - МетодРунге-Кутты', 'y2 - МетодРунге-Кутты')

xlabel('Время, с');

ylabel('Амплитуда');

clearY2Y1

%% Собственная функция (Метод Эйлера)

Y1=[]; Y2=[]; % Задаем массив

y1=Y0(1); y2=Y0(2); % Задаем начальные значения

for t = t0:h:t1

y1=y1+h*dx(t, y1, y2, '1');

y2=y2+h*dx(t, y1, y2, '2');

Y1=[Y1 y1];

Y2=[Y2 y2];

end

figure

hold on; grid on

plot(T, Y11, 'b-', 'LineWidth', 2)

plot(T, Y22, 'r-', 'LineWidth', 2)

plot(T, Y1, 'm-', 'lineWidth', 2)

plot(T, Y2, 'g-', 'LineWidth', 2)

legend('y1 - ode45', 'y2 - ode45', 'y1 - МетодЭйлера', 'y2 - МетодЭйлера')

xlabel('Время, с');

ylabel('Амплитуда');

Функция:

function y = dx(t, y1, y2, n)

% Константы

m=1;

B=0.5;

k=5;

w=0.3;

switch n

case {'1'}

y=y2;

case {'2'}

y=1/m*(2000*abs(cos(w*t))-B*y2-k*y1);

end

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

(см. рисунок 2), данные полученные этим методом практически идеально совпадают с данными функции ode45.

Рисунок 1 - Сравнение функции ode45 и метода Рунге-Кутты 4 порядка

Рисунок 2 - Сравнение ode45 и метода Эйлера

Заключение

дифференциальный уравнение эйлер

В ходе лабораторной работы было найдено решение дифференциального уравнения методом Эйлера, методом Рунге-Кутты 4 порядка и с помощью функции ode45, использующей метод Рунге-Кутты 4, 5 порядка. Для данного ДУ метод Эйлера показал более точные результаты, чем метод Рунге-Кутты 4 порядка.

Размещено на Allbest.ru

...

Подобные документы

  • Численное решение уравнения методом Эйлера и Рунге-Кутта в Excel. Программа на языке Turbo Pascal. Блок-схема алгоритма. Метод Рунге-Кутта для дифференциального уравнения второго порядка. Модель типа "хищник-жертва" с учетом внутривидового взаимодействия.

    курсовая работа [391,5 K], добавлен 01.03.2012

  • Практическое решение дифференциальных уравнений в системе MathCAD методами Рунге—Кутты четвертого порядка для решения уравнения первого порядка, Булирша — Штера - системы обыкновенных дифференциальных уравнений первого порядка и Odesolve и их графики.

    лабораторная работа [380,9 K], добавлен 23.07.2012

  • Общая характеристика и особенности двух методов решения обычных дифференциальных уравнений – Эйлера первого порядка точности и Рунге-Кутта четвёртого порядка точности. Листинг программы для решения обычного дифференциального уравнения в Visual Basic.

    курсовая работа [1,1 M], добавлен 04.06.2010

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

    курсовая работа [990,8 K], добавлен 17.07.2014

  • Теоретическое обоснование расчетных формул. Задача Коши для дифференциального уравнения первого порядка. Метод Рунге-Кутта. Ломаная Эйлера. Построение схем различного порядка точности. Выбор шага. Апостериорная оценка погрешности. Правило Рунге.

    курсовая работа [111,1 K], добавлен 13.11.2011

  • Изучение методов Рунге-Кутты четвертого порядка с автоматическим выбором длины шага интегрирования для решения дифференциальных уравнений. Оценка погрешности и сходимость методов, оптимальный выбор шага. Листинг программы для ЭВМ, результаты, иллюстрации.

    курсовая работа [2,9 M], добавлен 14.09.2010

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

    практическая работа [46,1 K], добавлен 06.06.2011

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

    курсовая работа [508,1 K], добавлен 16.12.2015

  • Основные методы Рунге-Кутта: построение класса расчетных формул. Расчетная формула метода Эйлера. Получение различных методов Рунге-Кутта с погрешностью второго порядка малости при произвольном задавании параметров. Особенности повышения порядка точности.

    реферат [78,4 K], добавлен 18.04.2015

  • Аналитическое и компьютерное исследования уравнения и модели Ван-дер-Поля. Сущность и особенности применения методов Эйлера и Рунге-Кутта 4 порядка. Сравнение точности метода Эйлера и Рунге-Кутта на одном графике, рисуя фазовые траектории из 1 точки.

    курсовая работа [341,7 K], добавлен 06.10.2012

  • Дифференциальные уравнения Риккати. Общее решение линейного уравнения. Нахождение всех возможных решений дифференциального уравнения Бернулли. Решение уравнений с разделяющимися переменными. Общее и особое решения дифференциального уравнения Клеро.

    курсовая работа [347,1 K], добавлен 26.01.2015

  • Дифференциальное уравнение первого порядка, разрешенное относительно производной. Применение рекуррентного соотношения. Техника применения метода Эйлера для численного решения уравнения первого порядка. Численные методы, пригодные для решения задачи Коши.

    реферат [183,1 K], добавлен 24.08.2015

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

    курсовая работа [81,9 K], добавлен 29.08.2010

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

    презентация [185,0 K], добавлен 17.09.2013

  • Задачи Коши и методы их решения. Общие понятия, сходимость явных способов типа Рунге-Кутты, практическая оценка погрешности приближенного решения. Автоматический выбор шага интегрирования, анализ брюсселятора и метод Зонневельда для его расчета.

    курсовая работа [1,7 M], добавлен 03.11.2011

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

    контрольная работа [332,6 K], добавлен 14.12.2012

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

    контрольная работа [177,1 K], добавлен 13.06.2012

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

    курсовая работа [673,6 K], добавлен 27.04.2011

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

    курсовая работа [458,4 K], добавлен 17.02.2016

  • Задачи Коши для дифференциальных уравнений. График решения дифференциального уравнения I порядка. Уравнения с разделяющимися переменными и приводящиеся к однородному. Однородные и неоднородные линейные уравнения первого порядка. Уравнение Бернулли.

    лекция [520,6 K], добавлен 18.08.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.