17092

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

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

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

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

Украинкский

2013-06-29

40.5 KB

3 чел.

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

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

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

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

Хід роботи

  1.  Індивідуальне завдання.

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

#include<iostream.h>

#include<math.h>

double PX(double x)

{return 1/x;}

double QX(double)

{return 2;}

double FX(double x)

{return x;}

void main()

{int n;

double h,a,b,L0,L1,A,B0,B1,B;

cout<<"Vvedite hag h: ";

cin>>h;

cout<<"Vvedite a: ";

cin>>a;

cout<<"Vvedite b: ";

cin>>b;

n=(b-a)/h;

double *x=new double[n+1];

double *y=new double[n+1];

double *m=new double[n+1];

double *nn=new double[n+1];

double *f=new double[n+1];

double *c=new double[n+1];

double *d=new double[n+1];

cout<<"Vvedite L[0]: ";

cin>>L0;

cout<<"Vvedite L[1]: ";

cin>>L1;

cout<<"Vvedite A: ";

cin>>A;

cout<<"Vvedite B[0]: ";

cin>>B0;

cout<<"Vvedite B[1]: ";

cin>>B1;

cout<<"Vvedite B: ";

cin>>B;

x[0]=a;

c[0]=L1/(L0*h-L1);

d[0]=A*h/L1;

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

{x[i]=x[0]+i*h;

m[i]=(2*h*h*QX(x[i])-4)/(2+h*PX(x[i]));

nn[i]=(2-h*PX(x[i]))/(2+h*PX(x[i]));

f[i]=2*FX(x[i])/(2+h*PX(x[i]));

if(i!=0){c[i]=1/(m[i]-nn[i]*c[i-1]);

d[i]=FX(x[i])*h*h-nn[i]*c[i-1]*d[i-1];}

}

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

for(i=n-1;i>=0;i--) y[i]=c[i]*(d[i]-y[i+1]);

cout<<"Tablihnaya funkciya: \n";

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

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

}

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

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


 

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

62171. «Планета заболела!» (Я и Украина) 22.71 KB
  Учитель в начале урока даёт установку на предстоящую деятельность. Учитель говорит вступительное слово и тем самым приковывает к себе всё внимание детей. Учитель умеет распределять своё внимание на уроке.
62177. Снятие мерок для построения чертежа юбки 15.76 KB
  Структура урока соответствовала комбинированному уроку. В ней выделены следующие этапы: организационный момент актуализация опорных знаний и опыта целеполагание и мотивация изучение нового материала практическая работа...