Далее: Заключение Вверх: Лабораторная работа № 4 Назад: Описание этапов проведения лабораторной

Описание программы с примером

Перейдем непосредственно к рассмотрению программы "APROXDFE".

Описание программы "APROXDFE" приведем на примере нахождения приближенных значений исходной функции $y\left( {b_0 } \right)$ в точке с координатами $\left( {b_0 ,y\left( {b_0 } \right)} \right)$ для функции двух переменных, заданной уравнением $f\left( {x,y\left( x \right)} \right) = x + 0,5y$, со значениями начальных условий $a_0 = 0$, $y\left( {a_0 } \right) = 0$, $b_0 = 1$ в сопровождении логически расположенных на рис. 5 копиями с экрана графического калькулятора.

Для начала работы необходимо из окна главного меню войти в режим программирования "ProGraM" при помощи активации соответствующей пиктограммы нажатием клавиши "EXE". Затем из представленного списка выбрать программу с наименованием "APROXDFE" и активизировать ее аналогичным способом. Началом работы программы является окно приветствия (рис. 5A).

Последовательные нажатия клавиши "EXE" служат для отображения следующих окон:

Окно диалога для ввода в символьном виде функции двух переменных, расположенной в правой части дифференциального уравнения ${y}'
= f\left( {x,y\left( x \right)} \right)$, то есть $f_{N1} \left( {x,y\left( x \right)}
\right)$ ["fn1(X,Y)"] (рис. 5B).

Окно диалога для ввода значений абсциссы и ординаты точки исходной функции с координатами $\left( {a_0
,y\left( {a_0 } \right)} \right)$, то есть $a_0 $ $[''A0'']$ и $y\left( {a_0 } \right)$ ["Y(A0)"] (рис. 5C).

Окна диалога для ввода значения абсциссы точки исходной функции с координатами $\left( {b_0 ,y\left( {b_0 } \right)} \right)$, то есть $b_0 $ $[''B0'']$ и точного решения дифференциального уравнения, то есть значения ординаты точки исходной функции с координатами $\left( {b_0 ,y\left( {b_0 } \right)} \right)$, то есть $y\left( {b_{0R} } \right)$ ["Y(B0R)"] (рис. 5D).

При работе с нижеизложенными меню программы активация определенного пункта осуществляется с помощью последовательного ввода необходимого числа и нажатия клавиши "EXE", при этом в случае ввода ошибочного числа, символа или сочетания чисел и символов с последующей активацией выводится сообщение об ошибке ввода с предложением возврата в данное меню после нажатия клавиши "EXE" для корректного ввода и активации необходимой позиции.

После ввода значений вышеуказанных параметров последующее нажатие клавиши "EXE" приводит к появлению меню со следующими позициями (рис. 5E):

CONTINUE CALCUL (1) - подтверждение продолжения выполнения расчетов.

RELOAD fn1(X,Y) (2) - перезагрузка в символьном виде функции двух переменных, расположенной в правой части дифференциального уравнения ${y}'
= f\left( {x,y\left( x \right)} \right)$, то есть $f_{N1} \left( {x,y\left( x \right)}
\right)$ ["fn1(X,Y)"], с поочередным отображением соответствующих окон.

RELOAD AY(A)BY(B) (3) - перезагрузка значений абсциссы и ординаты точки исходной функции с координатами $\left( {a_0
,y\left( {a_0 } \right)} \right)$, то есть $a_0 \quad [''A0'']$ и $y\left( {a_0 } \right)$ ["Y(A0)"], значения абсциссы точки исходной функции с координатами $\left( {b_0 ,y\left( {b_0 } \right)} \right)$, то есть $b_0 \quad [''B0'']$ и точного решения дифференциального уравнения, то есть значения ординаты точки исходной функции с координатами $\left( {b_0 ,y\left( {b_0 } \right)} \right)$, то есть $y\left( {b_{0R} } \right)$ ["Y(B0R)"].

RELOAD ALL (4) - перезагрузка в символьном виде функции двух переменных, расположенной в правой части дифференциального уравнения ${y}'
= f\left( {x,y\left( x \right)} \right)$, то есть $f_{N1} \left( {x,y\left( x \right)}
\right)$ ["fn1(X,Y)"], значений абсциссы и ординаты точки исходной функции с координатами $\left( {a_0
,y\left( {a_0 } \right)} \right)$, то есть $a_0 $ $[''A0'']$ и $y\left( {a_0 } \right)$ ["Y(A0)"], значения абсциссы точки исходной функции с координатами $\left( {b_0 ,y\left( {b_0 } \right)} \right)$, то есть $b_0 $ $[''B0'']$ и точного решения дифференциального уравнения, то есть значения ординаты точки исходной функции с координатами $\left( {b_0 ,y\left( {b_0 } \right)} \right)$, то есть $y\left( {b_{0R} } \right)$ ["Y(B0R)"].

OR QUIT (5) - выход из программы c предварительно отображающимся прощальным информационным окном.

После выбора подтверждения выполнения расчетов путем ввода цифры "1" и нажатия клавиши "EXE" открывается меню со следующими позициями (рис. 5F):

MET EULER (1) - нахождения приближенного значения исходной функции $y\left( {b_0^E } \right)$ ["Y(B0E)"] в точке с координатами $\left( {b_0^E ,y\left(
{b_0^E } \right)} \right)$ по методу Эйлера с поочередным выводом следующих окон (рис. 2G):

Окно меню со следующими позициями:

CALCUL ON SALE (1) - продолжение вычислений приближенного значения исходной функции $y\left( {b_0^E } \right)$ ["Y(B0E)"] в точке с координатами $\left( {b_0^E ,y\left(
{b_0^E } \right)} \right)$ по методу Эйлера по вводимому значению количества шагов $s_\alpha ^E $ ["SALE"].

CALCUL ON HALE (2) - продолжение вычислений приближенного значения исходной функции $y\left( {b_0^E } \right)$ ["Y(B0E)"] в точке с координатами $\left( {b_0^E ,y\left(
{b_0^E } \right)} \right)$ по методу Эйлера по вводимому значению фиксированного шага $h_\alpha ^E $ ["HALE"].

OR PREVIOUS (3) - возврат в предыдущее меню.

Окно диалога для ввода значения количества шагов $s_\alpha ^E $ ["SALE"] (фиксированного шага $h_\alpha ^E $ ["HALE"]) и вывода значения фиксированного шага $h_\alpha ^E $ ["HALE"] (количества шагов $s_\alpha ^E $ ["SALE"]) в зависимости от выбора позиции в предыдущем меню.

Окно меню со следующими позициями:

CONTINUE CALCUL (1) - подтверждение продолжения выполнения расчетов.

RELOAD SETUP E (2) - перезагрузка значения количества шагов $s_\alpha ^E $ ["SALE"] или фиксированного шага $h_\alpha ^E $ ["HALE"] в зависимости от выбора позиции в предыдущем меню.

OR PREVIOUS (3) - возврат в предыдущее меню.

Окно вывода для метода Эйлера значений количества шагов $s_\alpha ^E $ ["SALE"] и фиксированного шага $h_\alpha ^E $ ["HALE"].

Окно вывода для метода Эйлера приближенного значения исходной функции $y\left( {b_0^E } \right)$ ["Y(B0E)"] в точке с координатами $\left( {b_0^E ,y\left(
{b_0^E } \right)} \right)$ и разности между приближенным и точным значениями исходной функции в точке с координатами $\left( {b_0^E ,y\left(
{b_0^E } \right)} \right)$, то есть $y\left( {b_0^E } \right) - y\left( {b_{0R} }
\right)$ ["Y(B0E)-Y(B0R)"].

MET RUN-KUT 2 (2) - нахождения приближенного значения исходной функции $y\left( {b_0^{RK2} } \right)$ ["Y(B0RK2)"] в точке с координатами $\left(
{b_0^{RK2} ,y\left( {b_0^{RK2} } \right)} \right)$ по методу Рунге-Кутта 2-го порядка с поочередным выводом следующих окон (рис. 5H):

Окно меню со следующими позициями:

CALCUL ON SALRK2 (1) - продолжение вычислений приближенного значения исходной функции $y\left( {b_0^{RK2} } \right)$ ["Y(B0RK2)"] в точке с координатами $\left(
{b_0^{RK2} ,y\left( {b_0^{RK2} } \right)} \right)$ по методу Рунге-Кутта 2-го порядка по вводимому значению количества шагов $s_\alpha ^{RK2}
$.

CALCUL ON HALRK2 (2) - продолжение вычислений приближенного значения исходной функции $y\left( {b_0^{RK2} } \right)$ ["Y(B0RK2)"] в точке с координатами $\left(
{b_0^{RK2} ,y\left( {b_0^{RK2} } \right)} \right)$ по методу Рунге-Кутта 2-го порядка по вводимому значению фиксированного шага $h_\alpha ^{RK2} $.

OR PREVIOUS (3) - возврат в предыдущее меню.

Окно диалога для ввода значения количества шагов $s_\alpha ^{RK2}
$ ["SALRK2"] (фиксированного шага $h_\alpha ^{RK2} $ ["HALRK2"]) и вывода значения фиксированного шага $h_\alpha ^{RK2} $ ["HALRK2"] (количества шагов $s_\alpha ^{RK2}
$ ["SALRK2"]) в зависимости от выбора позиции в предыдущем меню.

Окно меню со следующими позициями:

CONTINUE CALCUL (1) - подтверждение продолжения выполнения расчетов.

RELOAD SETUP RK2 (2) - перезагрузка значения количества шагов $s_\alpha ^{RK2}
$ ["SALRK2"] или фиксированного шага $h_\alpha ^{RK2} $ ["HALRK2"] в зависимости от выбора позиции в предыдущем меню.

OR PREVIOUS (3) - возврат в предыдущее меню.

Окно вывода для метода Рунге-Кутта 2-го порядка значений количества шагов $s_\alpha ^{RK2}
$ ["SALRK2"] и фиксированного шага $h_\alpha ^{RK2} $ ["HALRK2"].

Окно вывода для метода Рунге-Кутта 2-го порядка приближенного значения исходной функции $y\left( {b_0^{RK2} } \right)$ ["Y(B0RK2)"] в точке с координатами $\left(
{b_0^{RK2} ,y\left( {b_0^{RK2} } \right)} \right)$ и разности между приближенным и точным значениями исходной функции в точке с координатами $\left(
{b_0^{RK2} ,y\left( {b_0^{RK2} } \right)} \right)$, то есть $y\left(
{b_0^{RK2} } \right) - y\left( {b_{0R} } \right)$ ["Y(B0RK2)-Y(B0R)"].

MET RUN-KUT 4 (3) - нахождения приближенного значения исходной функции $y\left( {b_0^{RK4} } \right)$ ["Y(B0RK4)"] в точке с координатами $\left(
{b_0^{RK4} ,y\left( {b_0^{RK4} } \right)} \right)$ по методу Рунге-Кутта 4-го порядка с поочередным выводом следующих окон (рис. 5I):

Окно меню со следующими позициями:

CALCUL ON SALRK4 (1) - продолжение вычислений приближенного значения исходной функции $y\left( {b_0^{RK4} } \right)$ ["Y(B0RK4)"] в точке с координатами $\left(
{b_0^{RK4} ,y\left( {b_0^{RK4} } \right)} \right)$ по методу Рунге-Кутта 4-го порядка по вводимому значению количества шагов $s_\alpha
^{RK4} $ ["SALRK4"].

CALCUL ON HALRK2 (2) - продолжение вычислений приближенного значения исходной функции $y\left( {b_0^{RK4} } \right)$ ["Y(B0RK4)"] в точке с координатами $\left(
{b_0^{RK4} ,y\left( {b_0^{RK4} } \right)} \right)$ по методу Рунге-Кутта 4-го порядка по вводимому значению фиксированного шага $h_\alpha ^{RK4} $ ["HALRK4"].

OR PREVIOUS (3) - возврат в предыдущее меню.

Окно диалога для ввода значения количества шагов $s_\alpha
^{RK4} $ ["SALRK4"] (фиксированного шага $h_\alpha ^{RK4} $ ["HALRK4"]) и вывода значения фиксированного шага $h_\alpha ^{RK4} $ ["HALRK4"] (количества шагов $s_\alpha
^{RK4} $ ["SALRK4"]) в зависимости от выбора позиции в предыдущем меню.

Окно меню со следующими позициями:

CONTINUE CALCUL (1) - подтверждение продолжения выполнения расчетов.

RELOAD SETUP RK4 (2) - перезагрузка значения количества шагов $s_\alpha
^{RK4} $ ["SALRK4"] или фиксированного шага вычислений $h_\alpha ^{RK4} $ ["HALRK4"] в зависимости от выбора позиции в предыдущем меню.

OR PREVIOUS (3) - возврат в предыдущее меню.

Окно вывода для метода Рунге-Кутта 4-го порядка значений количества шагов $s_\alpha
^{RK4} $ ["SALRK4"] и фиксированного шага $h_\alpha ^{RK4} $ ["HALRK4"].

Окно вывода для метода Рунге-Кутта 4-го порядка приближенного значения функции $y\left( {b_0^{RK4} } \right)$ ["Y(B0RK4)"] в точке с координатами $\left(
{b_0^{RK4} ,y\left( {b_0^{RK4} } \right)} \right)$ и разности между приближенным и точным значениями исходной функции в точке с координатами $\left( {b_0^{RK} ,y\left( {b_0^{RK4} } \right)} \right)$, то есть $y\left(
{b_0^{RK4} } \right) - y\left( {b_{0R} } \right)$ ["Y(B0RK4)-Y(B0R)"].

ITOGY (4) - последовательный сравнительный анализ полученных результатов с поочередным отображением следующих окон:

Окно вывода значений абсциссы и ординаты точки исходной функции с координатами $\left( {a_0
,y\left( {a_0 } \right)} \right)$, то есть $a_0 $ $[''A0'']$ и $y\left( {a_0 } \right)$ ["Y(A0)"] (рис. 5J).

Окна вывода значений абсциссы точки исходной функции с координатами $\left( {b_0 ,y\left( {b_0 } \right)} \right)$, то есть $b_0 \quad [''B0'']$ и точного значения исходной функции $y\left( {b_{0R} } \right)$ ["Y(B0R)"] в точке с координатами $\left(
{b_0 ,y\left( {b_{0R} } \right)} \right)$ (рис. 5J).

Окно вывода для метода Эйлера значений количества шагов $s_\alpha ^E $ ["SALE"] и фиксированного шага $h_\alpha ^E $ ["HALE"] (рис. 5G, 5J).

Окно вывода для метода Эйлера приближенного значения исходной функции $y\left( {b_0^E } \right)$ ["Y(B0E)"] в точке с координатами $\left( {b_0^E ,y\left(
{b_0^E } \right)} \right)$ и разности между приближенным и точным значениями исходной функции в точке с координатами $\left( {b_0^E ,y\left(
{b_0^E } \right)} \right)$, то есть $y\left( {b_0^E } \right) - y\left( {b_{0R} }
\right)$ ["Y(B0E)-Y(B0R)"] (рис. 5G, 5J).

Окно вывода для метода Рунге-Кутта 2-го порядка значений количества шагов $s_\alpha ^{RK2}
$ ["SALRK2"] и фиксированного шага $h_\alpha ^{RK2} $ ["HALRK2"] (рис. 5H).

Окно вывода для метода Рунге-Кутта 2-го порядка приближенного значения исходной функции $y\left( {b_0^{RK2} } \right)$ ["Y(B0RK2)"] в точке с координатами $\left(
{b_0^{RK2} ,y\left( {b_0^{RK2} } \right)} \right)$ и разности между приближенным и точным значениями исходной функции в точке с координатами $\left(
{b_0^{RK2} ,y\left( {b_0^{RK2} } \right)} \right)$, то есть $y\left(
{b_0^{RK2} } \right) - y\left( {b_{0R} } \right)$ ["Y(B0RK2)-Y(B0R)"] (рис. 5H).

Окно вывода для метода Рунге-Кутта 4-го порядка значений количества шагов $s_\alpha
^{RK4} $ ["SALRK4"] и фиксированного шага $h_\alpha ^{RK4} $ ["HALRK4"] (рис. 5I).

Окно вывода для метода Рунге-Кутта 4-го порядка приближенного значения функции $y\left( {b_0^{RK4} } \right)$ ["Y(B0RK4)"] в точке с координатами $\left(
{b_0^{RK4} ,y\left( {b_0^{RK4} } \right)} \right)$ и разности между приближенным и точным значениями исходной функции в точке с координатами $\left( {b_0^{RK} ,y\left( {b_0^{RK4} } \right)} \right)$, то есть $y\left(
{b_0^{RK4} } \right) - y\left( {b_{0R} } \right)$ ["Y(B0RK4)-Y(B0R)"] (рис. 5I).

Вывод совокупной таблицы исходных данных и результатов (матрица "Z") (рис. 5J).

OR PREVIOUS (5) - возврат в предыдущее меню.

В ходе выполнения программы результаты всех промежуточных расчетов оседают в списках согласно таблице 12 (доступ возможен только после окончательного выполнения программы и осуществляется через главное меню в режиме выполнения статистических расчетов "STATistics"), тогда как итоговые результаты проецируются в матрицe "Z" согласно таблице 13 (доступ возможен только после окончательного выполнения программы и осуществляется через главное меню в режиме выполнения арифметических и матричных расчетов "RUN.MATrix").

Таблица 12

Содержимое списков List 1...List 20


Список Содержимое Список Содержимое Список Содержимое
List 1 $f\left( {x_{N - 1}^E ,y\left( {x_{N - 1}^E } \right)} \right)$ List 5 $f\left( {x_{N - 1}^{RK2} ,y\left( {x_{N - 1}^{RK2} } \right)} \right)$ List 13 $K_{1N} \left( {h_\alpha ^{RK4} } \right)$
List 2 $\Delta y\left( {x_N^E } \right)$ List 6 $\Delta y\left( {x_{{\left( {2N - 1} \right)} \mathord{\left/ {\vphantom {{\left( {2N - 1} \right)} 2}} \right. \kern-\nulldelimiterspace} 2}^{RK2} } \right)$ List 14 $x_{{\left( {2N - 1} \right)} \mathord{\left/ {\vphantom {{\left( {2N - 1} \right)} 2}} \right. \kern-\nulldelimiterspace} 2}^{RK2} $
List 3 $x_N^E $ List 7 $x_{{\left( {2N - 1} \right)} \mathord{\left/ {\vphantom {{\left( {2N - 1} \right)} 2}} \right. \kern-\nulldelimiterspace} 2}^{RK2} $ List 15 $K_{2N} \left( {h_\alpha ^{RK4} } \right)$
List 4 $y\left( {x_N^E } \right)$ List 8 $y\left( {x_{{\left( {2N - 1} \right)} \mathord{\left/ {\vphantom {{\left( {2N - 1} \right)} 2}} \right. \kern-\nulldelimiterspace} 2}^{RK2} } \right)$ List 16 $K_{3N} \left( {h_\alpha ^{RK4} } \right)$
    List 9 $f\left( {x_{{\left( {2N - 1} \right)} \mathord{\left/ {\vphantom {{\left( {2N -...
... 1} \right)} 2}} \right. \kern-\nulldelimiterspace} 2}^{RK2} } \right)} \right)$ List 17 $K_{4N} \left( {h_\alpha ^{RK4} } \right)$
    List 10 $\Delta y\left( {x_N^{RK2} } \right)$ List 18 $\Delta y\left( {x_N^{RK4} } \right)$
    List 11 $x_N^{RK2} $ List 19 $x_N^{RK4} $
    List 12 $y\left( {x_N^{RK2} } \right)$ List 20 $y\left( {x_N^{RK4} } \right)$

Таблица 13

Содержимое матрицы Z


Значение 1 2 3 4
1 $a_0 $ $s_\alpha ^E $ $s_\alpha ^{RK2}
$ $s_\alpha
^{RK4} $
2 $y\left( {a_0 } \right)$ $h_\alpha ^E $ $h_\alpha ^{RK2} $ $h_\alpha ^{RK4} $
3 $b_0 $ $y\left( {b_0^E } \right)$ $y\left( {b_0^{RK2} } \right)$ $y\left( {b_0^{RK4} } \right)$
4 $y\left( {b_{0R} } \right)$ $y\left( {b_0^E } \right) - y\left( {b_{0R} }
\right)$ $y\left(
{b_0^{RK2} } \right) - y\left( {b_{0R} } \right)$ $y\left(
{b_0^{RK4} } \right) - y\left( {b_{0R} } \right)$


\includegraphics{D:/html/work/link1/metod/met58/met58100.eps}

A
\includegraphics{D:/html/work/link1/metod/met58/met58101.eps}

\includegraphics{D:/html/work/link1/metod/met58/met58102.eps}

\includegraphics{D:/html/work/link1/metod/met58/met58103.eps}

B C D
\includegraphics{D:/html/work/link1/metod/met58/met58104.eps}

\includegraphics{D:/html/work/link1/metod/met58/met58105.eps}

E F
\includegraphics{D:/html/work/link1/metod/met58/met58106.eps}\includegraphics{D:/html/work/link1/metod/met58/met58107.eps}\includegraphics{D:/html/work/link1/metod/met58/met58108.eps}\includegraphics{D:/html/work/link1/metod/met58/met58109.eps}\includegraphics{D:/html/work/link1/metod/met58/met58110.eps}

\includegraphics{D:/html/work/link1/metod/met58/met58111.eps}\includegraphics{D:/html/work/link1/metod/met58/met58112.eps}\includegraphics{D:/html/work/link1/metod/met58/met58113.eps}\includegraphics{D:/html/work/link1/metod/met58/met58114.eps}\includegraphics{D:/html/work/link1/metod/met58/met58115.eps}

\includegraphics{D:/html/work/link1/metod/met58/met58116.eps}\includegraphics{D:/html/work/link1/metod/met58/met58117.eps}\includegraphics{D:/html/work/link1/metod/met58/met58118.eps}\includegraphics{D:/html/work/link1/metod/met58/met58119.eps}\includegraphics{D:/html/work/link1/metod/met58/met58120.eps}

\includegraphics{D:/html/work/link1/metod/met58/met58121.eps}\includegraphics{D:/html/work/link1/metod/met58/met58122.eps}\includegraphics{D:/html/work/link1/metod/met58/met58123.eps}\includegraphics{D:/html/work/link1/metod/met58/met58124.eps}\includegraphics{D:/html/work/link1/metod/met58/met58125.eps}

G H I J

Рис. 5. Скриншоты из программы "APROXDFE".


Далее: Заключение Вверх: Лабораторная работа № 4 Назад: Описание этапов проведения лабораторной

ЯГПУ, Центр информационных технологий обучения
05.09.2007