41305

Численные методы и компьютерные технологии решения систем дифференциальных уравнений и дифференциальных уравнений n-го порядка

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

Информатика, кибернетика и программирование

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

Русский

2013-10-23

778.94 KB

33 чел.

Содержание

  1.  Цель работы……………………………………………………...…….3
  2.  Задание……………………………………………………………...….3
  3.  Основные сведения исправленного метода Эйлера….………...….3
  4.  Блок-схема алгоритма ...………………………………………..…....5
  5.  Текст программы ….……………………………………………...…..6
  6.  Результаты решения задачи в УМС MathCad…………………….........8

Список литературы…………………………………………………........9


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

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

  1.  Задание
  2.  Изучить численные методы и компьютерные технологии решения систем дифференциальных уравнений и дифференциальных уравнений n-го порядка.
  3.  Составить алгоритм и программу решения дифференциального уравнения 2-го порядка. Варианты даны в таблице. В программе предусмотреть вывод на печать значений аргумента, результатов численного решения, включая первую производную, точных значений функции и погрешности счета.
  4.  Ввести программу в ЭВМ, отладить ее и выполнить. Результаты приложить к отчету.
  5.  Решить данное дифференциальное уравнение в среде УМС Mathcad. Результаты представить в табличной форме и в виде графика.

вар.

Дифференциальное

уравнение

Нач. условия

Отрезок

[x0; xk]

Шаг

h

Метод

Точное решение

y0

y0

2

1

1

[0; 0,5]

0,05

2

  1.  Основные сведения исправленного метода Эйлера

В исправленном методе Эйлера для повышения точности в разложении искомой функции в ряд Тейлора учитываются три первых члена ряда Тейлора

.  (4.7)

При этом вторая производная находится по формуле правой односторонней конечной разности

.

Тогда из (4.7)

Или, с учетом вышеприведенных обозначений,

.

Аналогично для узла формулу исправленного метода Эйлера можно записать в виде

.  (4.8)

Рис. 4.2. Исправленный метод Эйлера

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

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

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

,

а затем подставляется в уравнение (4.8):

.

Локальная погрешность исправленного метода Эйлера . Объем вычислений в этом методе больше, поскольку на каждом шаге значение функции вычисляется 2 раза. Алгоритм представлен на рис. П8,а.

  1.  Блок-схема алгоритма

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

  1.  Текст программы

program laba8;

uses crt;

label 1,2;

var x0,xk,y0,z0,h,x1,y2,y1,z1,z2,z,yt,n:real;

begin

clrscr;

y0:=1; x0:=0; xk:=0.5; h:=0.05; z0:=1; yt:=1;

writeln('Введите n');

read(n);

h:=(xk-x0)/n;

writeln('x=',x0,' ':7,' y=',y0,' ':7,' z=',z0,' ':7,'уточненное=',yt);

2:

x1:=x0+h;

if x1>xk then goto 1 else;

y2:=y0+h*z0;

z2:=z0+h*(-(1+z0*z0)/(1+x0*x0));

y1:=y0+(h/2)*(z0+z2);

z1:=z0+(h/2)*((-(1+z0*z0)/(1+x0*x0))

      +(-(1+z2*z2)/(1+x1*x1)));

yt:=1-x1+2*ln(1+x1);

writeln('x1=',x1:3:3, ' ':3, 'y1=',y1:3:4, ' '

 :3, 'z=',z1:3:4, ' ':3, 'yt=',yt:3:4, ' ':3);

x0:=x1;

y0:=y1;

z0:=z1;

goto 2;

1:

end. 

Рис.2. Результаты решения в среде Pascal

  1.  Результаты решения задачи в УМС MathCad

Список литературы

1. Турчак Л.И. Основы численных методов: учеб. пособие для вузов/ Л.И. Турчак, П.В. Плотников. – 2-е изд., перераб. и доп. – М.: Физматлит, 2003. – 304 с.: ил. (Первое издание – 1987 г.)

2. Амосов А.А. Вычислительные методы для инженеров: учеб. пособие/ А.А. Амосов, Ю.А. Дубинский, Н.В. Копченова. – 2-е изд., доп. – М.: Изд-во МЭИ, 2003. – 596 с.: ил. (Первое издание – 1994 г.)

3. Макаров Е.Г. Инженерные расчеты в Mathcad (+СD)/ Е.Г. Макаров. – СПб.: Питер, 2007. – 592 с.: ил. +CD-ROM

4. Поршнев С.В. Численные методы на базе Mathcad/ С.В. Поршнев, И.В. Беленкова. – СПб.: БХВ-Петербург, 2005. – 464 с.: ил.

5. Николаев Н.Н. Вычислительная математика (Линейная алгебра. Приближенное представление функций): конспект лекций/ Н.Н. Николаев. Чуваш. ун-т. – Чебоксары, 1996. – 64 с.: ил.

6. Николаев Н.Н. Вычислительные методы. Определенные интегралы, нелинейные и дифференциальные уравнения: конспект лекций/ Н.Н. Николаев. Чуваш. ун-т. – Чебоксары, 2010. 96 с.: ил.

7. Николаев Н.Н. Основы работы в системе MATHCAD: вычислительные методы: лаб. практикум/ Н.Н. Николаев. – Чебоксары: Изд-во Чуваш. ун-та, 2011. – 116 с.


 

А также другие работы, которые могут Вас заинтересовать

69699. СТИЛІ 127 KB
  Стиль HTML - це набір характеристик шрифту, символів і абзацу, застосовуваних до певної частини документа. Застосування стилів дозволяє уникнути необхідності додавання до HTML нових тегів форматування, оскільки нові команди форматування можуть включатись у стиль, а не у HTML-файл.
69700. Групування записів 25 KB
  Оператор SELECT дозволяє групувати значення, що повертаються. Наприклад, клієнт Іванов (C_NO=l) кілька разів замовляв у нас якийсь товар. Означає його номер зустрічається в таблиці ORDERS кілька разів. Інший клієнт також міг зробити декілька замовлень.
69701. КЛЮЧІ 27.5 KB
  В той же час, до цього номер 1 був закріплений за Івановим. У нас вийшло, що один і той же номер зіставлений різним клієнтам. Тепер уявимо, що про це нічого не знає оператор, що знаходиться в магазині. Сидоров замовляє монітор LG, але не оплачує його вчасно...
69702. Функції для роботи з окремими символами 74 KB
  При зміні регістра російських букв можуть виникнути проблеми, уникнути яких допоможе правильна установка локали. Локалью називатимемо сукупність локальних настройок системи, таких як формат дати і часу, мова, кодування.
69703. Спеціальні функції 35 KB
  Ми вже знайомі з технологією Cookies тому знаємо як зберегти поточний номер питання починаючи з якого тест буде продовжений. А як запам’ятати номери питань масив які згенерували для студента Зберегти масив в Cookies ми не можемо зате можна зберегти рядок.
69704. Математичні функції 47.5 KB
  Функція mах() повертає максимальний з переданих їй п аргументів. Наприклад, echo max(7,10, 3,1 $а, $b) виведе 10, якщо значення $а і $Ь менше або рівні 10. Якщо функції переданий один параметр, то він повинен бути масивом, в якому буде вироблений пошук максимального елементу.
69705. Читання і запис в бінарному режимі 53.5 KB
  Для кожного відкритого файлу система зберігає величину яка називається покажчиком поточної позиції файлу. При відкритті файлу цей покажчик встановлюється на початок файлу. З кожним викликом функції читання файлу покажчик поточної позиції зрушується...
69706. Функції для роботи з файлами 102 KB
  Всі функції можна розділити на такі групи: Функції маніпулювання файлами. Функції для роботи з іменами файлів. Функції визначення типа і параметрів файлу.