-
Notifications
You must be signed in to change notification settings - Fork 0
Symbolic computation
Kirill Artemov edited this page Oct 14, 2017
·
1 revision
- Основной язык: python
- Библиотека символьных вычислений: sympy
- Круглосуточный компьютер
- Структура директории с модулями
- Расчет регрессора
- Идентификация coming soon...
- Расчет матриц M,C,G для системы управления coming soon...
Все модули располагаются в директории: robotics_report/symbolic_computation/
.
-
make_regressor.py
-- содержит расчет компонент регрессора, упрощение и оформление каждого элемента в виде отдельного модуляxi_IJ.py
, где J = [0..4] -- номер строки, I = [0..4] -- номер столбца; -
libs/equations.py
-- тут описываются в виде функций математический выражения; -
libs/example_module.py
-- пример модуля-шаблона для компонент регрессора; -
libs/initialization.py
-- модуль с инициализацией переменных и функций; -
libs/regexps.py
-- модуль для трансформации рассчитанных символьных выражений в python/cpp/scilab код. Для получения более подробной информации нужно сходить в конкретный модуль и почитать комментарии.
Алгоритм:
- n = 5; nL = 10;
- Создать нулевой массив
regressor_zeros
размерности [n * nL]
- j = 0..(n-1);
- i = 0..(n-1);
- Открыть файл на запись с именем
'xi/xi_%d%d.py'% (j, i)
; - Записать в файл начало шаблона-модуля (libs/example_module.py);
- Закрыть файл;
- k = 0..(nL-1);
- Открыть тот же файл;
- Вычислить k-ый элемент j-ой строки, i-ого столбца;
- Упростить полученное выражение;
- Сгенерировать python код;
- Вставить полученный код в шаблон-функцию из шаблона-модуля;
- Добавить в открытый файл;
- Закрыть файл;
- Если k < (nL-1), перейти в п. 6;
- Открыть файл;
- Записать конец шаблона модуля;
- Закрыть файл;
- Если i < (n-1), перейти в п. 2;
- Если j < (n-1), перейти в п. 1;