Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Вид программы на языке Qbasic



Головной модуль на языке QBasic

DECLARE SUB eiler (a!, b!, h!, y0!)

DECLARE SUB koshi (a!, b!, h!, y0!)

DECLARE SUB runge (a!, b!, h!, y0!)

DECLARE FUNCTION f! (x!, y0!)

CLS

DIM SHARED eilerM(1000), koshiM(1000), rungeM(1000)

INPUT "левый конец интервала a= "; a

INPUT "правый конец интервала b= "; b

INPUT "шаг "; h

INPUT "краевое значение функции Y0= "; y0

yy = y0 'сохранение краевого значения функции

REM Вызов Метода Эйлера

CALL eiler(a, b, h, yy)

yy = y0

REM Вызов Метода Эйлера-Коши

CALL koshi(a, b, h, yy)

yy = y0

REM Вызов Метода Рунге-Кутта

CALL runge(a, b, h, yy)

PRINT "--------------------------------------------------------------"

PRINT "│ x │ elier │ koshi │ runge │"

PRINT "--------------------------------------------------------------"

L$ = "│ #.# │ ##.##### │ ##.##### │ ##.##### │"

i = 1

FOR x = a TO b + h / 2 STEP h

PRINT USING L$; x; eilerM(i); koshiM(i); rungeM(i)

i = i + 1

NEXT x

PRINT "--------------------------------------------------------------"

END

Первые четыре строчки пишутся автоматически при присоединении подпрограмм к головному модулю в результате выполнения команды Save All.

Подпрограмма для решения дифференциального уравнения
методом Эйлера:

SUB eiler (a, b, h, y0)

i = 1

eilerM(i) = y0

FOR x = a TO b + h / 2 STEP h

y = y0 + h * f(x, y0)

y0 = y

i = i + 1

eilerM(i) = y0

NEXT x

END SUB

Подпрограмма для решения дифференциального уравнения
методом Эйлера-Коши:

SUB koshi (a, b, h, y0)

i = 1

koshiM(i) = y0

FOR x = a TO b + h / 2 STEP h

k1 = h * f(x, y0)

k2 = h * f(x + h, y0 + k1)

y = y0 + (k1 + k2) / 2

y0 = y

i = i + 1

koshiM(i) = y0

NEXT x

END SUB

Подпрограмма для решения дифференциального уравнения
методом Рунге-Кутта:





Дата публикования: 2015-04-10; Прочитано: 440 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...