50944

Метод Рунге-Кутта вирішення задачі Коші. Складання алгоритму

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

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

Мета. Навчитися вирішувати задачу Коші методом Рунге-Кутта; скласти алгоритм. Устаткування: папір формату А4, ПК, програмне забезпечення Borland С++. Хід роботи Правила техніки безпеки Теоретичні дані Індивідуальне завдання.

Украинкский

2014-02-02

42 KB

1 чел.

Лабораторна робота №26-27

Тема. Метод Рунге-Кутта вирішення задачі Коші. Складання алгоритму.

Мета. Навчитися вирішувати задачу Коші методом Рунге-Кутта; скласти алгоритм.

Устаткування: папір формату А4, ПК, програмне забезпечення Borland С++

Хід роботи

  1.  Правила техніки безпеки
  2.  Теоретичні дані
  3.  Індивідуальне завдання.

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

12

#include<iostream.h>

#include<math.h>

void main()

{

int i;

double h;

double *x = new double [6]; 

double *y = new double [6];

double *dy = new double [6];

double **k=new double*[6];

for(i=0;i<6;i++)

k[i]=new double [6];

cout<<"Input x[0] = ";

cin>>x[0];

cout<<"Input y[0] = ";

cin>>y[0];

cout<<"Input step h = ";

cin>>h;

for(i=0;x[i]<=1;i++)

{  k[0][i]=h*(x[i]+0.3*y[i]*y[i]);

 k[1][i]=h*((x[i]+h/2)+0.3*(y[i]+k[0][i]/2)*(y[i]+k[0][i]/2));

 k[2][i]=h*((x[i]+h/2)+0.3*(y[i]+k[1][i]/2)*(y[i]+k[1][i]/2));

 k[3][i]=h*((x[i]+h)+0.3*(y[i]+k[2][i])*(y[i]+k[2][i]));

 dy[i]=(k[0][i]+2*k[1][i]+2*k[2][i]+k[3][i])/6;

 y[i+1] =y[i]+dy[i];

 x[i+1] =x[i]+h;

}

for(i=0;i<5;i++)

{

  cout<<"\nx["<<i<<"] = "<<x[i]<<"        y["<<i<<"] = "<<y[i];

}

}

  1.  Контрольні питання
  •  Поставте задачу, розв’язувану методом Рунге-Кутта.
  •  Сформулюйте алгоритм метода Рунге-Кутта.
  •  Який порядок точності методу Рунге-Кутта?
  •  Як практично досягти заданого ступеня точності?


 

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

19815. Початковий розподіл поставок 26.87 KB
  Одним из возможных методов нахождения первоначального базисного распределения поставок является метод северозападного угла показанный в следующем примере. Найти первоначальное базисное распределение поставок для транспортной задачи. Решение. Дадим переме
19817. Судження за допомогою оцінки клітини про її вигідність чи невигідність 27.5 KB
  3.Судження за допомогою оцінки клітини про її вигідність чи невигідність. 1. Перевіряють виконання необхідного і достатнього умови розв'язності задачі. Якщо завдання має неправильний баланс то вводять фіктивного постачальника або споживача з відсутніми запасами або за
19818. Об’єктно-орієнтоване програмування історія, концепція, методики. Основні ООП, їх значення та сутність 16.66 KB
  Об'єктноорієнтоване програмування це метод програмування оснований на поданні програми у вигляді сукупності взаємодіючих об'єктів кожен з яких є екземпляром певного класу а класи є членами певної ієрархії наслідування. ООП виникло в результаті розвитку ідеології п...
19819. Вказівник this. Вбудовані функції (специфікатор inline) 14.59 KB
  Вказівник this Ім'я this є службовим ключовим словом. Явно описати чи визначити вказівник this не можна. Відповідно до неявного визначення this є константним вказівником тобто змінювати його не можна однак у кожної приналежної класу функції він указує саме на той об'єкт для я...
19820. Виключення загальні принципи виявлення та уникнення помилок та обробка виключних ситуацій 25 KB
  3.Виключення: загальні принципи виявлення та уникнення помилок та обробка виключних ситуацій. Виключення виникнення непередбачених помилкових умов наприклад розподіл на нуль неможливість виділення пам'яті при створенні нового об'єкта і т.д. Зазвичай ці умови завершу...
19821. Віртуальні методи. Абстрактні класи 17.72 KB
  Абстрактний клас в обєктноорієнтованому програмуванні базовий клас який не передбачає створення екземплярів. Абстрактні класи реалізують на практиці один з принципів ООП поліморфізм. Абстрактний клас може містити і не містити абстрактні методи і властивості...
19823. Ініціалізація та руйнування об’єкта (конструктори та деструктори) 25 KB
  Ініціалізація та руйнування обєкта конструктори та деструктори. Як правило певну частину об'єкта перш ніж його можна буде використову вати необхідно ініціалізувати. Наприклад розглянемо клас myClass який було представлено вище у цьому підрозділі. Перш ніж об'єк