Первым справился
stepanishchev, естественно, с использованием МК-152. Время составления программы — порядка получаса, время счета — 2 минуты 15 секунд. График бодро выводится по мере расчетов :)
На сайте НПП «Семико» выложен пример программы: http://mk.semico.ru/dr_info25.htm, снабженный комментариями. Если кому-нибудь вдруг потребуется решать на МК-152/161 системы дифференциальных уравнений — путем небольших поправок можно «научить» калькулятор делать это.
Кстати, я думаю, что вполне можно было бы замахнуться и на контроль погрешности на шаге с автоматическим выбором длины шага.
Отмечу, кстати, одно нехорошее свойство рассматриваемого уравнения: его численные решения очень чувствительны к неизбежно возникающей вычислительной погрешности. Из-за разных представлений дробных чисел в микрокалькуляторе и QBasic графики не совпадают:
Это не удивительно. Вспомним, какое малое возмущение начальных данных приводило к возникновению генерации. Такое же малое возмущение повлияло и на поведение численного решения. Приведу эпиграф к параграфу, посвященному уравнению Ван-дер-Поля, из книги Хайрера, Нёрсетта и Ваннера «Решение обыкновенных дифференциальных уравнений»:
У меня есть теория: если вы хотите какой-то метод скомпрометировать — ищите решение уравнения Ван-дер-Поля
(П. Э. Задунайский, 1982)
Для подавляющего большинства «реальных» задач рассмотренный метод работает намного лучше.
С графиком в МК-152 все нормально, просто в первом варианте программы не было учтено, что ось Y направлена вниз. Если картинку перевернуть — все будет OK.


Я вот не понимаю ради чего ты разводишь панику, да калькулятор когда то был удобнее, языки программирования не сильно приспособлены для очень быстрого освоения, но зато позволяют получить куда большую производительность, гибкость, и универсальность.
К тому же существует куча спецсофта, причем написанного не школьниками, на коленке, а нормальными программистами, вот например компактная софтинка, которой мы считали переходные процессы и не только, во время обучения.
А вот простой пример решения уравнения методом Рунге-Кутта, при помощи готового модуля Перла, заметь для этого не надо знать язык, надо установить модуль, и прочитать инструкцию на одну страничку, подставить свои коэффициенты, скопипастить.
В общем это как сравнивать велосипед и что нибудь типа мотоцикла, или машины, а ведь и на том и другом можно ездить, так вот и на калькуляторе, и на наладоннике, и на компе можно считать цифры ;)
Все украдено, то есть, пардон, написано до нас. Набираем в гугле «runge-kutta method HP-50g». Последнее слово поиска можно заменить на свою марку распространенного ПМК. По первой же ссылке получаем страницу «HP 49/50 Numerical Math Programs» (http://www.hpcalc.org/hp49/math/numeric/). Выбираем на страничке любой понравившийся софт (реализаций много), скачиваем, загружаем на ПМК, запускаем и занимаемся своей прямой работой, а не программированием и отладкой.
Точность вычисления ЭКВМ вполне достаточна для совпадения.
Графики не совпадали из-за ошибки в версии 1.0 — не было учтено направление оси Y (вниз) и график был обрезан справа. После исправления подпрограммы вывода все соответствует — см. ту же страницу.
Но сравнивать имеет смысл числовые значения из блокнота — они в версии 1.1 не изменились. График по точкам построен в OpenOffice.org Calc — файл есть на той же странице. Вид аналогичен Вашему.