Для каких конкретных задач разработки программного обеспечения вы использовали математику? А какую ветвь математики вы использовали?

Я не ищу общего обсуждения важна ли математика для программирования или нет.

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

В частности, ищу конкретные примеры.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
0
2 213
19
Перейти к ответу Данный вопрос помечен как решенный

Ответы 19

Дискретная математика для всего, линейная алгебра для 3D, анализ для физики, особенно для расчета массовых свойств.

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

Линейная алгебра для 3D-рендеринга, а также для финансовых инструментов. Регрессионный анализ одних и тех же финансовых инструментов, таких как корреляции между финансовыми инструментами и индексами и т. д.

Ответ принят как подходящий

Я часто использую Теорема де Моргана, когда, а также общую булеву алгебру, пытаясь упростить условные выражения

Я также иногда выписывал таблицы истинности для проверки изменений, как в приведенном ниже примере (найденном во время недавнего обзора кода).

(showAll и s.ShowToUser относятся к типу bool.)

// Before
(showAll ? (s.ShowToUser || s.ShowToUser == false) : s.ShowToUser)

// After!
showAll || s.ShowToUser

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

Не революционно ... но, конечно, по математике.

Я использовал аналитическую геометрию для простого 3D-движка в opengl в хобби-проекте в старшей школе. Некоторое геометрическое вычисление я использовал для динамической печати отчетов, где был другой макет под углом 90 °, чем. Год назад я использовал некоторые производные и интегралы для анализа магазина (движение товаров в магазине).

Все вычисления бота можно найти в Интернете или в школьной книге.

Я думаю, вы имеете в виду производные и интегралы?

Mitch Wheat 28.11.2008 17:49

Я занимаюсь медицинской визуализацией и использую в основном линейную алгебру и базовую геометрию для всего, что связано с 3D-дисплеем, анатомическими измерениями и т. д.

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

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

В моем случае игры с тригонометрией и ИИ с теорией графов.

  • [Линейная алгебра для всего]
  • Проективная геометрия для калибровки камеры
  • Идентификация временных рядов / статистическая фильтрация для обработки звука и изображения
  • (Я думаю) базовая механика и, следовательно, вычисления для программирования игр

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

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

Чаще всего я использовал тригонометрию, а также небольшое количество вычислений, работая над наложениями для программного обеспечения ГИС (картографирование), сравнивая объекты в трехмерном пространстве и конвертируя системы координат.

Общее математическое понимание очень полезно, если вы используете сторонние библиотеки для выполнения расчетов за вас, поскольку вам часто нужно осознавать их ограничения.

Я часто использую математику и программирование вместе, но цель моей работы - это математика, поэтому для ее достижения используйте программное обеспечение. что касается математики, которую я использую; в основном исчисление (анализ БПФ непрерывных и дискретных сигналов) с косой чертой линейной алгебры (CORDIC) для выполнения триггера на микроконтроллере без микросхемы с плавающей запятой.

Статистическое среднее значение, стандартное отклонение, для наших аналитиков.

Линейная алгебра - в частности, исключение Гаусса-Иордана и

Исчисление - производные в виде таблиц разностей для генерации многочленов из таблицы (x, f (x))

Линейная алгебра и комплексный анализ в электронной технике.

Статистика в анализе данных и переводе их в другие блоки (другой проект).

Я использовал вероятность и логарифмические шансы (логарифм отношения двух вероятностей), чтобы классифицировать входящие электронные письма по нескольким категориям. Большую часть тяжелой работы сделал мой коллега Фиделис Ассис.

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

Раздел математики: Исследование операций. Расплывчатое определение: построить математическую модель (обычно сложной) реальной бизнес-проблемы, а затем использовать математические инструменты (например, оптимизацию, статистику / вероятность, теорию очередей, теорию графов), чтобы исследовать эту модель, чтобы помочь в принятии эффективных решений ( например, минимизировать затраты, максимизировать эффективность, прогнозировать результаты и т. д.).

Статистика для анализа научных данных, таких как:

  • расчет распределений, z-стандартизация
  • Рыбаки Z
  • Надежность (Альфа, Каппа, Коэн)
  • Дискриминационный анализ
  • масштабная агрегация, опрос и т. д.

В реальной разработке программного обеспечения я действительно использовал только довольно тривиальную линейную алгебру, геометрию и тригонометрию. Конечно, ничего более продвинутого, чем первый курс колледжа по каждому предмету.

Однако я написал множество программ для решения действительно довольно сложных математических задач, используя очень продвинутую математику. Но я бы не стал называть это разработкой программного обеспечения, поскольку на самом деле я не занимался разработкой программного обеспечения. Под этим я подразумеваю, что конечным результатом не была сама программа, это был ответ. Обычно кто-то спрашивал меня, что по сути является математическим вопросом, и я писал программу, которая отвечала на этот вопрос. Конечно, я бы сохранил код до тех пор, пока мне снова не зададут вопрос, и иногда я отправлял код кому-нибудь, чтобы они могли сами ответить на вопрос, но это все еще не считается разработкой программного обеспечения в моем понимании. Иногда кто-то брал этот код и повторно внедрял его в приложение, но тогда они занимались разработкой программного обеспечения, а я занимался математикой.

(Надеюсь, эта новая работа, которую я начал, действительно позволит мне работать обоими, так что посмотрим, как это сработает)

Другие вопросы по теме