Для поиска нужного реферата введите его тему ниже:

Лабораторная работа: «Численное решение краевой задачи для обыкновенного дифференциального уравнения второго порядка на Паскале (Pascal)»



Примечания к работе

Готовые решение задачи на языке Паскаль

К работе прилагается все исходники (Pascal) и отчет (Word)

Содержание


1. Постановка задачи 3

2. Схема алгоритма. 4

3. Текст программы на Паскале 5

4. Результаты расчёта 8

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

Введение (выдержка)

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

Выдержка из основной части

3. Текст программы на Паскале

var

yx,xy,l,v,p,ff,ay,by,x:array [0.10] of real;

y,a,b:array[0.10,0.1] of real;

i,n,o:integer;

c,d,h,k:real;

label

lap1;

begin

writeln('введите наивысший порядок производной не больше трех ');

readln(n);

i.

for i:=0 to n do

readln(l[i]);

if (n=1) and (l[1]=0) or (n=2) and (l[2]=0) or (n=3) and (l[3]=0) then begin

writeln('деление на ноль');

goto lap1;

end;

writeln('введите коэффициент при x');

readln(k);

writeln('введите отрезок ');

readln(c,d);

o:=5;

h:=abs(d-c)/o;

writeln('шаг=',h:1:1);

writeln('задайте начальные условия y(x)= ');

for i:=0 to n-1 do

readln(v[i]);

if n=3 then begin

yx[0]:=v[0];

ay[0]:=v[1];

by[0]:=v[2];

p[0]:=(k*c-l[0]*v[0]-l[1]*v[1]-l[2]*v[2])/l[3];

x[0]:=c;

write(' ');


write(' x y a b ');


write(' ',c:7:7,' ',yx[0]:7:7,' ',ay[0]:7:7,' ',by[0]:7:7,' ');

for i:=0 to o-1 do begin

x[i]:=x[i]+h/2;

y[i,1]:=yx[i]+(h/2)*ay[i];

.

x[i+1]:=x[i]+h/2;

p[i+1]:=(k*xy[i]-l[0]*yx[i+1]-l[1]*ay[i+1]-l[2]*by[i+1])/l[3];

end;

for i:=0 to o-1 do begin


write(' ',xy[i]:7:7,' ',yx[i+1]:7:7,' ',ay[i+1]:7:7,' ',by[i+1]:7:7,' ');

end;

write(' ');

end;

if n=2 then begin

x[0]:=c;

yx[0]:=v[0];

ay[0]:=v[1];

p[0]:=(k*c-l[0]*yx[0]-l[1]*v[1])/l[2];


write(' ');


write(' x y a ');


write(' ',c:7:7,' ',yx[0]:7:7,' ',ay[0]:7:7,' ');

for i:=0 to o-1 do begin

x[i]:=x[i]+h/2;

y[i,1]:=yx[i]+(h/2)*ay[i];

a[i,1]:=ay[i]+(h/2)*p[i];

ff[i]:=(k*x[i]-l[0]*y[i,1]-l[1]*a[i,1])/l[2];

xy[i]:=x[i]+h/2;

yx[i+1]:=yx[i]+h*a[i,1];

ay[i+1]:=ay[i]+h*ff[i];

x[i+1]:=x[i]+h/2;

p[i+1]:=(k*xy[i]-l[0]*yx[i+1]-l[1]*ay[i+1])/l[2];

end;

for i:=0 to o-1 do begin


write(' ',xy[i]:7:7,' ',yx[i+1]:7:7,' ',ay[I+1]:7:7,' ');

end;


write(' ');

end;

if n=1 then begin

x[0]:=c;

yx[0]:=v[0];

p[0]:=(k*x[0]-l[0]*yx[0])/l[1];

for i:=0 to o-1 do begin

x[i]:=x[i]+h/2;

y[i,1]:=yx[i]+(h/2)*p[i];

xy[i]:=x[i]+h/2;

ff[i]:=(k*x[i]-l[0]*y[i,1])/l[1];

yx[i+1]:=yx[i]+h*ff[i];

x[i+1]:=x[i]+h/2;

p[i+1]:=(k*xy[i]-l[0]*yx[i+1])/l[1];

end;


write(' ');


write(' x y ');


write(' ',c:7:7,' ',yx[0]:7:7,' ');

for i:=0 to o-1 do begin


write(' ',xy[i]:7:7,' ',yx[i+1]:7:7,' ');

end;


write(' ');

end;

lap1:readln;

end.

Заключение (выдержка)

4. Результаты расчёта

Общее решение однородного уравнения имеет вид

Тогда частное решение при заданных начальных условиях можно записать в виде:


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

1. Калиткин Н. Н. Численные методы. – М.: Наука, 1978. – 512 с.

2. Самарский А. А. Теория разностных схем. – М.: Наука, 1989. – 616 с.

3. Самарский А. А., Николаев Е. С. Методы решения сеточных уравнений. – М.: Наука, 1978. – 592 с.

4. Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal. . – СПб.: БХВ-Петербург, 2005. – 480 с.

Покупка готовой работы
Название: «Численное решение краевой задачи для обыкновенного дифференциального уравнения второго порядка на Паскале (Pascal)»
Раздел: Рефераты по информатике
Тип: Лабораторная работа
Страниц: 9
Год: 2016
Цена: 600 руб.

*

С условиями покупки работы согласен(-на).


Не нашли что искали?
Устали искать нужную курсовую, реферат или диплом?
Закажите написание авторской работы на Зачётик.Ру!


А так же: Отчёты по практике | Семестровые работы | Эссе и другие работы

Наши специалисты выполняют заказы по любым темам и дисциплинам.
Средний балл наших работ: 4,9
Мы помогли 8664 студентам.