50947

Метод прогонки розвязання крайової задачі. Складання алгоритму

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

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

Мета. Навчитися використовувати метод прогонки розв’язання крайової задачі звичайного диференційного рівняння. Скласти алгоритм. Устаткування: папір формату А4, ручка, калькулятор, С++.

Украинкский

2014-02-02

40.5 KB

3 чел.

Лабораторна робота №29-30

Тема. Метод прогонки розв’язання крайової задачі. Складання алгоритму. 

Мета. Навчитися використовувати метод прогонки розв’язання крайової задачі звичайного диференційного рівняння. Скласти алгоритм.

Устаткування: папір формату А4, ручка, калькулятор, С++.

Хід роботи

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

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

12)

#include<iostream.h>

void main()

{

int n=20,i;

double h,b,a,A,B,alpha0,alpha1,beta0,beta1,n1;

double*x=new double[n],*y=new double[n],*q=new double[n];

double*m=new double[n];

double*p=new double[n];

double*N=new double[n];

double*F=new double[n];

double*f=new double[n];

double*c=new double[n];

double*d=new double[n];

cout<<"INPUT a,b,A,B,alpha0,alpha1,beta0,beta1,h : \n";

cin>>a>>b>>A>>B>>alpha0>>alpha1>>beta0>>beta1>>h;

n=(b-a)/h;

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

 {  x[i]=a+i*h;}

c[0]=alpha1/(alpha0*h-alpha1);

d[0]=A*h/alpha1;

for(i=1;i<n;i++)

 {p[i]=1/x[i];

 q[i]=2;

 f[i]=x[i];

 m[i]=(2*h*h*q[i]-4)/(2+h*p[i]);

 N[i]=(2-h*p[i])/(2+h*p[i]);

 F[i]=(2*f[i])/(2+h*f[i]);

 c[i]=1.0/(m[i]-N[i]*c[i-1]);

 d[i]=F[i]*h*h-N[i]*c[i-1]*d[i-1];}

y[n]=(B*h+beta1*c[n-1]*d[n-1])/(beta0*h+beta1*(c[n-1]+1));

for(i=n-1;i>=0;i--)

 {y[i]=c[i]*(d[i]-y[i+1]);}

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

{cout<<"x["<<i<<"]="<<x[i]<<"          y["<<i<<"]="<<y[i]<<"\n";}}

  1.  Контрольні питання

  •  Сформулюйте крайову задачу, що вирішується методом прогонки
  •  Які перетворення виконують над областю задання диференційного рівняння?
  •  Які перетворення виконуються над крайовими умовами?
  •  Що є кінцевою метою методу сіток?
  •  З чого складається відповідь до задачі?