Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

В чем сложны косинусы синусы в отличии от матриц?

ФермаКактусов Высший разум (182645), закрыт 2 месяца назад
Лучший ответ
Андрей Высший разум (427737) 2 месяца назад
Чтобы эмулировать одну команду FPU, требуется от десятков до тысяч команд CPU.

Просто пример из моей практики времён 1990 года: требовалось подсчитать статистику (элементарные арифметические операции, никаких синусов / косинусов) по 200 тысячам точек на ДВК-3м2 без FPU (все данные в оперативной памяти). Программа, написанная c использованием вещественный вычислений, производимых эмулятором FPU, работала примерно 50 минут. Программа, в которой все вычисления производились целочисленно и только на последнем этапе целые числа преобразовывались в вещественные, работала примерно 50 секунд.
ФермаКактусовВысший разум (182645) 2 месяца назад
что то я не понял. эмулятор работает 50 минут а программа которая сначала считает целыми а потом преобразовывает 50 секунд? то есть при правильном подходе разницы не будет?
Андрей Высший разум (427737) ФермаКактусов, Посмотри формулу среднеквадратичного отклонения. Там нужна в цикле сумма чисел и сумма квадратов чисел. После чего один раз делаются деление и вычисление квадратного корня. Первая программа считала эти суммы (200000 чисел) в виде вещественных чисел (два вещественных суммирования и одно вещественное умножение, выполняемые эмулятором FPU, на каждое число) и это занимало 50 минут. Вторая программа сумму самих чисел считала как 32-битное целое. При этом в 16-битной ДВК для сложения 32-битных числе требовалось 3 команды CPU. А вот сумма квадратов в int32 не влезала - она считалась по частям, что тоже требовало дополнительных вычислений. А после цикла получившиеся целые суммы преобразовывались в вещественные числа для дальнейших действий. И это занимало 50 секунд.
Остальные ответы
Кот в сапогах Ученик (175) 2 месяца назад
Синус и косинус являются тригонометрическими функциями, которые используются в геометрии для выражения отношений сторон в прямоугольных треугольниках или координат точек на окружности

Сложность косинусов и синусов заключается в их геометрической интерпретации и тригонометрических связях. Они широко используются в контексте решения треугольных задач, а также в физике, инженерии и других областях, где имеет значение угловое положение и взаимосвязь между сторонами и углами фигур.

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

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

Вывод:
Косинусы и синусы имеют геометрическую интерпретацию и связаны с тригонометрией.
Матрицы представляют алгебраическую структуру и применяются в линейной алгебре и других областях.
Стас Еролов [Z]Мыслитель (7376) 2 месяца назад
Молодец, в Chat GPT долго текст копировал?
Кот в сапогах Ученик (175) Стас Еролов, гений я физмат
Celtic Hammer Мудрец (12319) 2 месяца назад
Умножение матриц в линейной алгебре... Ну это смотря для какого телефона дело тяжелое. Я пробовал их умножать своими силами. Вроде худо-бедно умножил
ФермаКактусовВысший разум (182645) 2 месяца назад
для андроид проблем нет а вот сотовый 2000-2010
Dlazder Мудрец (11311) 2 месяца назад
Для телефонов из 2000х это может и была проблема, но точно не сейчас
Андрей Панарин Искусственный Интеллект (226365) 2 месяца назад
Синус или косинус произвольного угла теоретически возможно рассчитать с произвольной погрешностью при помощи ряда Тейлора-Маклорена, вычислив и сложив достаточно большое количество элементов этого ряда. При этом расчет одного синуса или косинуса через такой ряд предполагает множество операций сложения, умножения и деления.

В связи с наличием деления расчет ряда Тейлора-Маклорена идет в дробных числах. Если процессор обрабатывает их медленно, то каждый синус или косинус будет отнимать у него много процессорного времени. Гораздо эффективнее завести таблицы заранее рассчитанных синусов и косинусов и брать значения из них.

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

Если процессор медленно работает с дробными числами, то умножение матрицы из дробных элементов отнимет у него много времени. Алгоритм для целочисленных матриц может сработать быстрее, так как умножение матриц не требует деления чисел. Но если мы говорим об аффинных преобразованиях в компьютерной графике, то такие операции, как плавное перемещение через параллельный перенос, поворот на произвольный угол и плавное масштабирование, немыслимы без операций с дробными числами.
Krab Bark Искусственный Интеллект (284009) 2 месяца назад
А уж синус от матрицы... :)
https://ru.wikipedia.org/wiki/Тригонометрические_функции_от_матрицы
Но в современных телефонах стоят достаточно мощные процессоры, и это не представяляет для них чего-то неподъемного :)
И FPU в процессорах современных смартфонах есть, это показывают, например, их тесты
https://www.cnx-software.com/2012/10/05/fpu-and-memory-android-benchmarks-rgbenchmm-rgbandwidth/
Похожие вопросы