Микроконтроллеры | Оптимизация математических выражений для МК |
|
---|---|---|
Столкнулся с трудной задачей. Нужно большую формулу записать в маленький МК (на Си). Если записать ее "как есть" в текст программы, то после компиляции она займет больше половины памяти МК. Пытался найти в интернете что-то подобное, но не смог. Находил в интернете разложение в ряд элементарных функций (синус, косинус). Делать таблицу? Она получается двухмерная (две переменные на входе). |
|
|
Построить в Экселе график функции и аппроксимировать полиномом? |
|
|
Для функции двух переменных? |
|
|
А что за формула? |
|
|
Да там очень спецефическая, с корнями и логарифмами. |
|
|
Это один из побудительных мотивов переходить на ассемблер |
|
|
Обычно, компилятор генерирует наиболее оптимальный код и оптимизировать там уже нечего. |
|
|
Сергей К : Для функции двух переменных? |
|
|
программа есть - учебник математики |
|
|
Мой вопрос больше теоретический (общий), нежели привязка к конкретной формуле. Сегодня формула одна, завтра другая. Просто я думал, может кто использует некие приемы для упрощения выражений (с применением специализированных программ). Dron_Gus: Обычно, компилятор генерирует наиболее оптимальный код и оптимизировать там уже нечего Конечно, можно взять и МК помощнее, но вопрос сейчас в другом. Например, зачем мне результат через 0,01 сек, если меня удовлетворяет и 1,0 сек. Кстати, пробовал эту программу компилировать для кристалла PIC16F877A и PIC18F452. Разницы в количестве байт сгенерированого кода практически нет (но ведь PIC18F452 умеет еще и аппаратно множить числа). Вот пример формул: |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |