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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2011, 18:04   #1
sergeib7
 
Регистрация: 18.04.2011
Сообщений: 3
По умолчанию Метод Рунге-Кутта на VBA в Excell

Здравствуйте.
Пишу программу решения трех ДУ методом численного интегрирования Рунге-Кутта (расчет переходного процесса системы автоматического регулирования тока тягового двигателя). Не получается.
Когда писал для одного уравнения, получилось.
Помогите, пожалуйста.
Файл Excell-2003 и блок-схемы приложены.
Конечный график должен быть или плавна нарастающим или колебательным.
Вложения
Тип файла: zip ТАУ.zip (253.4 Кб, 32 просмотров)
sergeib7 вне форума Ответить с цитированием
Старый 19.04.2011, 17:14   #2
aldeano
 
Регистрация: 21.10.2010
Сообщений: 9
По умолчанию

возможно так.

P/S подправил по блок схеме.....
Вложения
Тип файла: rar Копия Программа_123.rar (12.5 Кб, 36 просмотров)
aldeano вне форума Ответить с цитированием
Старый 20.04.2011, 18:31   #3
sergeib7
 
Регистрация: 18.04.2011
Сообщений: 3
По умолчанию

Премного благодарен.
Можете ли ответить на вопросик: если оператор For сам добавляет к n 1, то зачем в теле цикла делать n = n + 1? Не получается ли, что пропускается n = 2 и расчет z при n = 3.
Заранее благодарю.
sergeib7 вне форума Ответить с цитированием
Старый 21.04.2011, 12:27   #4
aldeano
 
Регистрация: 21.10.2010
Сообщений: 9
По умолчанию

Вы абсолютно правы n = n+1 лишнее.
aldeano вне форума Ответить с цитированием
Старый 22.04.2011, 13:29   #5
sergeib7
 
Регистрация: 18.04.2011
Сообщений: 3
По умолчанию

Прошу прощения за навязчивость.
Но у меня есть еще одна проблемка.
Я убрал n = n + 1 и сделал уравнения для a(n), а не для a(n-1).
Но почему-то второй колебательный процесс (для x >= 0.5*xk), когда я задаю, к примеру, xk = 10, у меня начинается не с 5, как должно быть, а с 5.3. Я не могу никак понять, что почему в эти 0.2 секунды, после того, как k4 = ks, ничего не происходит.
Прошу указать мне ошибку.
Заранее благодарен.
Новая программа приложена.
И там в начале в блок-схеме указаны уравнения. Этих уравнений в программе быть не должно, преподаватель требует, чтобы они были в теле программы как справка, т.е. недействующими.
И кстати, когда убрал n = n + 1, у меня пики колебаний поднялись маленько.
Вложения
Тип файла: zip Программа-без+1.zip (252.2 Кб, 36 просмотров)

Последний раз редактировалось sergeib7; 22.04.2011 в 13:37. Причина: Забыл вставить файл с программой
sergeib7 вне форума Ответить с цитированием
Старый 25.04.2011, 16:43   #6
aldeano
 
Регистрация: 21.10.2010
Сообщений: 9
По умолчанию

Добрый день.
Ошибки в программе не нашел.
Слабо понимаю в вычислительной математике, но подозреваю, что в разностной схеме ступенчато параметры меняться не могут.(однако если сделать шаг интегрирования поставить 0,01 или еще меньше, визуально будет выглядеть, что изменилось сразу и графики более плавные)
Слово ТАУ вообще не знакомо))) и результаты работы программы, хорошо бы верифицировать.
aldeano вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод Рунге-Кутта. Процедура Гилла. St1nGer47 Фриланс 1 19.01.2011 01:04
Паскаль(Метод Рунге-Кутта) Roman967 Помощь студентам 1 23.05.2010 16:58
Метод Рунге - Кутта в моделировании. (Delphi) Alexandrx Помощь студентам 0 19.05.2010 23:34
Метод Рунге-Кутта (Си) PPPPPP Общие вопросы C/C++ 1 13.04.2010 00:55
Метод Рунге-Кутта (Си) PPPPPP Помощь студентам 2 12.04.2010 02:58