Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [Paskal] решение систем дифференциальных уравнений методом Эйлера( доработка)

Ответить
Настройки темы
Разное - [Paskal] решение систем дифференциальных уравнений методом Эйлера( доработка)

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Killer92
Дата: 19-12-2010
Описание: забыл прогу вставить
Вложения
Тип файла: txt Эйлер.txt
(1.6 Kb, 18 просмотров)
помогите, мне нужно из этой программы сделать программу для решения систем дифференциальных уравнений методом Эйлера на Турбо Паскале. Или напишите пожалуйста другую программу для решения систем дифференциальных уравнений методом Эйлера на Турбо Паскале.
Program Kurovaya;
{ ********************************************************
Решение задачи Коши для дифференциального уравнения
первого порядка методами:
Эйлера, Эйлера-Коши
******************************************************** }
uses Crt;
const c:array[1..4] of real = (0,0.5,0.5,1);
type
coef=array[0..4] of real;
var
i,j,m:integer;
a,b,h,x,y,y1,y2:real;
k0,k:coef;
ch:char;
{ ------------------------------------------------
Подпрограммы }
{ Правая часть дифференциального уравнения функции- f(x,y)}
function f(x,y:real):real;
begin
f:= x+y;
end;
{ -------------------------------------------------------- }
procedure Pausa;
begin
writeln;
writeln (' Для продолжения нажмите любую клавишу...');
repeat ch:=readkey
until ch <> '';
end;
{ ------------------------------------------------
Общая программа }

begin
clrscr;
writeln ('Введите значения концов отрезка* [a,b]');
read (a,b);
writeln ('Введите начальное значение функции y0 при x=x0');
read (y);
writeln (' Введите число значений функции на промежутке [a,b]');
read (m);
x:=a;
h:=(b-a)/m;
y1:=y;
y2:=y;
writeln (' Метод Эйлера, Метод Эйлера-Коши');
writeln ('x=',x:5:2,'y1=',y1:9:6,'y2=',y2:9:6');
for i:=1 to m do
begin
y1:=y1+h*f(x,y); { <-----------| Metod Eilera}
for j:=1 to 2 do
k0[j]:=h*f(x+2*c[j]*h, y2+2*c[j]*k0[j-1]);
y2:=y2+(k0[1]+k0[2])/2; { <-----------| Metod Eilera-Koshi}
x:=x+h;
writeln ('x=',x:5:2,' y1=',y1:9:6,' y2=',y2:9:6');
end;
pausa;
end.

Отправлено: 13:21, 19-12-2010

 


Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [Paskal] решение систем дифференциальных уравнений методом Эйлера( доработка)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Решение квадратных уравнений на С++ ShadowMas Программирование и базы данных 29 20-05-2011 17:23
Разное - [Paskal] нужна программа-вычисление обратной матрицы методом Гаусса Killer92 Программирование и базы данных 10 22-12-2010 00:57
C/C++ - Решение кубических уравнений на С++ XEN_STRANGER Программирование и базы данных 16 02-04-2009 14:19
Теория - Решение системы уравнений quaker_strelok Программирование и базы данных 3 23-09-2007 14:29
*Теория* | Решение системы линейных уравнений DeadBoy Программирование и базы данных 5 23-02-2005 17:12




 
Переход