Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2010, 22:00   #1
saydmc
Новичок
Джуниор
 
Регистрация: 29.12.2010
Сообщений: 5
Печаль Задание с курсовой.программа для решения дифференциальных уравнений произвольного порядка.

люди,помогите с заданием...делаю курсовую,вылезает ошибка в этой строчке:

program kurs;
const jm = 2;
type mas = array[1..jm] of real;
var
y0, y, f: mas;
t0, t, h, tk: real;
j: 1..jm;
i, l: integer;

procedure RP(var t0: real; var y0, f: mas);
begin
f[1] := y[2];
f[2] := y[2] * (y[2] + y[1] * ln * y[1]) * (1 / y[1]);
end;

procedure EU(var t0, h, t: real; var y0, y, f: mas);
var
j: 1..jm;
begin
RP(t0, y0, f);
for j := 1 to jm do
y[j] := y0[j] + h * f[j];
t := t0 + h;
end;

begin
t0 := 0.5; tk := 1.0;
y0[2] := 1.0;
h := 0.001; l := 0;
i := 100;
while t <= tk do
begin
EU(t0, h, t, y0, y, f);
if (l mod i) = 0 then writeln('t =', t0, ' ', 'y1 =', y[1]:5:5, ' ', 'y2= ', y[2]:5:5);
l := l + 1;
for j := 1 to jm do
y0[j] := y[j];
t0 := t;
end;
end.


Program1.pas(18) : Нельзя преобразовать тип function(x: real): real к real

Что именно нужно поменять?
saydmc вне форума Ответить с цитированием
Старый 29.12.2010, 22:07   #2
saydmc
Новичок
Джуниор
 
Регистрация: 29.12.2010
Сообщений: 5
По умолчанию

Ну что)))Кто-нибудь помочь может?
saydmc вне форума Ответить с цитированием
Старый 29.12.2010, 22:16   #3
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Код:
ln * y[1]
От чего логарифм натуральный берется? Если от y[1] то записать надо так
Код:
Ln(y[1])
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681

Последний раз редактировалось GetMax; 29.12.2010 в 22:19.
GetMax вне форума Ответить с цитированием
Старый 29.12.2010, 22:34   #4
saydmc
Новичок
Джуниор
 
Регистрация: 29.12.2010
Сообщений: 5
По умолчанию

Ну в общем я переделал всё это уравнение...вышло так:

program kurs;
const jm = 2;
type mas = array[1..jm] of real;
var
y0,y, f: mas;
t0, t, h, tk: real;
j: 1..jm;
i, l: integer;

procedure RP(var t0: real; var y, f: mas);
begin
f[1] := y[2];
f[2]:=(y0[2]*y0[2])/y0[1]-y0[1]*y0[2]*ln(y0[1]);
end;

procedure EU(var t0, h, t: real; var y0, y, f: mas);
var
j: 1..jm;
begin
RP(t0, y0, f);
for j := 1 to jm do
y[j] := y0[j] + h * f[j];
t := t0 + h;
end;

begin
t0 := 0.5; tk := 1.0;
y[2] := 1.0;
h := 0.001; l := 0;
i := 100;
while t <= tk do
begin
EU(t0, h, t,y0, y, f);
if (l mod i) = 0 then writeln('t =', t0, ' ', 'y1 =', y[1]:5:5, ' ', 'y2= ', y[2]:5:5);
l := l + 1;
for j := 1 to jm do
y0[j] := y[j];
t0 := t;
end;
end.

но она не считает точки!!!
t =0.5 y1 =0.00000 y2= NaN
t =0.6 y1 = NaN y2= NaN
t =0.7 y1 = NaN y2= NaN
t =0.8 y1 = NaN y2= NaN
t =0.9 y1 = NaN y2= NaN

кто-нить может саму программу проглядеть,что в теле не так?
saydmc вне форума Ответить с цитированием
Старый 29.12.2010, 22:52   #5
saydmc
Новичок
Джуниор
 
Регистрация: 29.12.2010
Сообщений: 5
По умолчанию

Никто не глянет?
saydmc вне форума Ответить с цитированием
Старый 29.12.2010, 23:10   #6
saydmc
Новичок
Джуниор
 
Регистрация: 29.12.2010
Сообщений: 5
По умолчанию

Видно никто....(((
Прост сижу с ней весь вечер,сдавать завтра,а в голову уже не лезет ничё,она уже кругом идёт...надеялся на вашу помощь...
saydmc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Qu 1.0 - программа для решения квадратных уравнений DM_bite Софт 5 20.03.2010 22:37
Система обыкновенных дифференциальных уравнений Anarki Помощь студентам 1 05.11.2009 00:19
Программа для решения ситем нелинейных уравнений Appolinaria Помощь студентам 1 09.03.2009 18:53
помогите пожалуйста! нужна программа для решения уравнений. MatrixN2 Помощь студентам 1 06.03.2009 12:29