8(8412)74-58-38
(с 10-00 до 20-00 МСК)
Зачётик.Ру - помогаем студентам в учёбе

У нас можно недорого заказать курсовую, контрольную, реферат или диплом

Главная / готовые работы / Лабораторные работы / Информатика

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

Содержание


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) и отчет (Word)

Информация о работе

Тип: Лабораторная работа
Страниц: 9
Год: 2016
600 p.
Не подошла эта работа?
Узнайте стоимость написания
работы по Вашему заданию.

Закажите авторскую работу по Вашему заданию!
Контрольная работа
от 100 p.
cрок: от 1 дня
Реферат
от 600 p.
cрок: от 1 дня
Курсовая работа
от 1000 p.
cрок: от 3 дней
Дипломная работа
от 6000 p.
cрок: от 6 дней
Отчет по практике
от 1000 p.
cрок: от 3 дней
Решение задач
от 150 p.
cрок: от 1 дня
Лабораторная работа
от 200 p.
cрок: от 1 дня
Доклад
от 300 p.
cрок: от 2 дней
Заказать работу очень просто!
Вы оформляете заявку
Получаете доступ в лк
Вносите предоплату
Автор пишет работу
Получаете уведомление
о готовности
Вносите доплату
Скачиваете готовую
работу из лк
X
X