Category: Математика

20
Янв
2021

Отрисовка картинки повернутой в направлении движения | Graphics | Graphics2D

Надо отрисовать картинку повернутую в направлении движения (поворот должен быть относительно центра картинки):
Пример:
Я знаю скорость по x и y, и положение картинки(x,y), и размер картинки(ширина и высота), а так же размер поля на которо…

17
Янв
2021

Реализация программы на С

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

13
Янв
2021

Как правильно посчитать азимут для поворота карты?

У меня есть карта, которую мне необходимо повернуть.
Делаю поворот я с помощью свойства bearing у Map.
Мне не совсем понятно как правильно делать поворот относительно текущего положения карты, то есть азимут я считаю следующим разом
conste…

11
Янв
2021

Не вызывается функция на С

Реализую код, который генерирует одномерный массив случайных чисел, считает среднее арифметическое массива, а потом находит отклонения, возводит их в квадрат и суммирует. Часть кода я реализую через отдельную функцию (так надо). Сама пробл…

10
Янв
2021

📊 Обучение Data Science: 11 необходимых специалисту по анализу данных концепций из статистики

Попробуем простыми словами объяснить ключевые для Data Scientist концепции из статистики, а также расскажем про книги, курсы и видеолекции, которые помогут их изучить.

Статистика …

01
Янв
2021

Тест: насколько хорошо вы помните школьную математику?

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

24
Дек
2020

📈 Обучение Data Science: какие знания по математике нужны специалисту по анализу данных?

Рассказываем про ключевые математические знания для Data Scientist, а также про книги, курсы и видеолекции в помощь обучающимся. Материал будет полезен не только осваивающим профессию с нуля новичкам, опытные специалисты также могут почерпнуть в нем что-то интересное.

Базовой компетенцией специалиста по Data Science является его способность анализировать и интерпретировать данные, а математика фундамент любой научной дисциплины. Почти все методы современной науки о данных, включая машинное обучение, имеют серьезную математическую основу. Глубокое понимание стоящего за алгоритмами научного аппарата обеспечит вам преимущества на рынке труда.

Во вступительных публикациях серии мы писали о том, как можно изучить Data Science онлайн с нуля, а также рассказали историю Тима Хоппера математика, который построил карьеру аналитика данных. Сегодня речь пойдет о необходимых специалисту по Data Science математических знаниях и способах их получить.

<a href="https://miro.medium.com/max/3080/0*BR949eNWL2i-Sj4R" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Классический математический анализ

Дифференциальное и интегральное исчисление лежат в основе Data Science и машинного обучения. Они скрывается за простым на вид аналитическим решением обычной задачи наименьших квадратов в линейной регрессии или встроены в каждое обратное распространение, которое ваша нейронная сеть делает, чтобы узнать новый паттерн. Это ценные разделы, которые стоит добавить в свой набор навыков. Темы для изучения:

  • Функции одной переменной, пределы, лимиты, дифференцируемость;
  • Теоремы о средних значениях, неопределенные формы, теорема Лопиталя;
  • Максимумы и минимумы;
  • Правило продукта и цепочки;
  • Ряд Тейлора, концепции суммирования бесконечных рядов/интегрирования;
  • Фундаментальные и средние значения, теоремы интегрального исчисления, оценка определенных и неправильных интегралов;
  • Бета-и гамма-функции;
  • Функции множественных переменных, предел, непрерывность, частные производные;
  • Основы обыкновенных и дифференциальных уравнений в частных производных.

Где применяется?

Если вы когда-нибудь задумывались, как работает логистическая регрессия, то вам понадобятся знания о градиентном спуске (с англ. gradient descent) и понятия из исчисления: производные, пределы и цепное правило.

Линейная алгебра

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

  • Основные свойства матриц и векторов: скалярное умножение, линейное преобразование, транспонирование, сопряженность, ранг, детерминант;
  • Внутренние и внешние произведения, правило умножения матриц и различные алгоритмы, обратные матрицы;
  • Специальные матрицы: квадратная, единичная и треугольная матрицы, представление о разреженной и плотной матрице, единичные векторы, симметричная матрица, Эрмитова матрица, Антиэрмитова и унитарная матрицы;
  • Концепция матричного факторизации, LU-разложение, Метод Гаусса, решение линейной системы уравнений Ax=b;
  • Векторное пространство, базис, промежуток, ортогональность, ортонормированность, линейный наименьший квадрат;
  • Собственный вектор, диагонализация, сингулярное разложение.

Где применяется?

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

Функции, переменные, уравнения и графики

Эта область математики включает все основы для Data Scientist, от уравнения прямой до биномиальной теоремы, а также:

  • Логарифм, экспоненциальные, полиномиальные функции, рациональные числа;
  • Основы геометрии и теоремы, тригонометрические тождества;
  • Вещественные и комплексные числа (с англ. real and complex numbers), основные свойства;
  • Ряды, суммы, неравенства;
  • Построение графиков, декартовых и полярных координат, конических сечений.

Где применяются?

Если вы хотите понять, как выполнить поиск из миллиона элементов после сортировки в базе данных быстрее, вы столкнетесь с понятием двоичный поиск (с англ. binary search). Чтобы понять его динамику, вам необходимо знать как устроены логарифмы и рекуррентные уравнения. Или, например, если вы хотите проанализировать временной ряд, вы можете столкнуться с такими понятиями, как периодические функции и экспоненциальный распад.

<a href="https://cdn.lynda.com/course/495322/495322-637286195691969467-16x9.jpg" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Статистика

Для Data Scientists важно понимание основных понятий статистики и теории вероятностей. Многие специалисты в этой области считают классическое (не нейронное сетевое) машинное обучение ничем иным, как статистическим обучением. Данная тема очень обширна, поэтому обратите внимание на наиболее важные концепции:

  • Обобщение данных и описательная статистика, центральная тенденция, дисперсия, ковариация, корреляция;
  • Базовая вероятность: основная идея, математическое ожидание, вероятностное исчисление, теорема Байеса, условная вероятность;
  • Функции распределения вероятностей: равномерные, нормальные, биномиальные, хи-квадрат, t-распределение Стьюдента, центральная предельная теорема;
  • Выборка, измерение, погрешность, генерация случайных чисел;
  • Проверка гипотез, A/B testing, доверительные интервалы, p-values;
  • ANOVA, t-тест;
  • Линейная регрессия, регуляризация.

Где применяется?

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

Дискретная математика

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

  • Наборы, подмножества, наборы мощности;
  • Счетные функции, комбинаторика, счетность;
  • Основные методы доказательства: индукция, доказательство противоречием;
  • Основы индуктивной, дедуктивной и пропозициональной логики;
  • Основные структуры данных: стеки, очереди, графики, массивы, хэш-таблицы, деревья;
  • Свойства графа: связные компоненты, степень, концепции максимального потока/минимального разреза, раскраска графа;
  • Рекуррентные соотношения и уравнения;
  • Функция роста.

Где применяется?

В анализе социальных сетей необходимо знать свойства графа, быстрый алгоритм поиска и обхода сети.

Исследование операций

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

  • Основы оптимизации и как сформулировать задачу;
  • Максимумы, минимумы, выпуклая функция, глобальное решение;
  • Линейное программирование, Симплекс-метод;
  • Целочисленное программирование;
  • Программирование в ограничениях, задача о рюкзаке (с англ. knapsack problem);
  • Рандомизированные методы оптимизации.

Где применяется?

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

<a href="https://www.wellesley.edu/news/2017/stories/node/120511" target="_blank" rel="noopener noreferrer nofollow">Источник</a>
Источник

Курсы

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

Статистика

  1. Основы статистики
  2. Intro to Descriptive Statistics (англ.)
  3. Basic Statistics (англ.)
  4. Bayesian Statistics: From Concept to Data Analysis (англ.)
  5. Probability Theory, Statistics and Exploratory Data Analysis (англ.)

Анализ

  1. Введение в математический анализ
  2. Data Science Math Skills (англ.)
  3. Mathematics for Data Science (англ.)
  4. Data Science Math Skills (англ.)
  5. Mathematics for Machine Learning: Linear Algebra (англ.)

Математика с Python и R

  1. Практикум по математике и Python
  2. Introduction to Probability and Data with R (англ.)

Видеолекции

Лекции онлайн-курса по математике в Data Science от Proglib

Линейная алгебра для начинающих с примерами

Какая математика нужна для Data Science? Интервью с преподавателями МГУ

Комбинаторика для начинающих с примерами

Какая математика нужна в анализе данных? Для обучения нейронной сети?

Mathematics for Machine Learning | Mathematics for Data Science by Intellipaat

Statistics And Probability Tutorial | Statistics And Probability for Data Science by Edureka

Книги

Essential Math for Data Science: Take Control of Your Data with Fundamental Calculus, Linear Algebra, Probability, and Statistics by Hadrien Jean


Practical Statistics for Data Scientists: 50+ Essential Concepts Using R and Python (второе издание на английском) by Peter C. Bruce, Andrew Bruce, Peter Gedeck


Практическая статистика для специалистов Data Science (первое издание на русском языке) от Брюса Эндрю и Брюса Питер


Mathematics for Machine Learning by A. Aldo Faisal, Cheng Soon Ong, and Marc Peter Deisenroth


Doing Bayesian Data Analysis: A Tutorial with R, JAGS, and Stan 2nd Edition by John Kruschke


***

Желающим освоить профессию аналитика данных стоит обратить внимание курс по Data Science Факультета Искусственного интеллекта GeekBrains. Программа включает основательную математическую подготовку: введение в математический анализ, теорию вероятностей и математическую статистику, линейную алгебру и алгоритмы анализа данных. Много внимания уделяется программированию и выработке навыков работы в команде. Кроме того, онлайн-университет не только дает студентам необходимые знания, но и помогает им с трудоустройством.

15
Дек
2020

∑ Пять вопросов в интервью по Data Science, на которые вы должны уметь отвечать

Чтобы начать карьеру в сфере науки о данных, требуются серьезные познания в математике и ИТ. Публикуем инсайдерское руководство по вопросам, которые задают кандидатам во время интервью при трудоустройстве в Amazon, Netflix и Google.

Инсайдерское руководство по вопросам о Data Science из интервью в Amazon/Netflix/Google.
Статья публикуется в переводе, автор оригинального текста Monika Sharma.

Я пишу эту статью для тех людей, которые стремятся за мечтой стать Data Scientist’ом или стать лучше в этой профессии, и не хотят дважды наступать на одни и те же грабли. Data Science – это область, требующая постоянного улучшения вашего набора навыков, ежедневно прорабатывая основные концепции алгоритмов машинного обучения. Поэтому, давайте без дальнейших предисловий погрузимся в несколько вопросов и ответов, которые могут вам пригодиться на следующем интервью.

Вопрос 1: расскажите о функции потерь деревьев решений

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

Функция потерь для задач классификации

Прежде чем мы сможем понять функцию потерь, сначала нужно познакомиться с такой важной концепцией, как критерий Джини (Gini impurity), поэтому давайте сначала объясним ее.

Gi=1−∑k=1npi,k2

Здесь p – доля экземпляров класса k среди тренировочных экземпляров на i-м узле. Что это значит? Давайте разберемся на следующем примере. На рис. 1 показана простейшая визуализация дерева решений для классического примера классификации ирисов глубиной 2. Верхний уровень – это корневой узел. Концепция разделения тренировочного набора на набор решений алгоритмически довольно проста. Здесь, например, набор данных по ирисам разделен на два поднабора на основании единственного признака “ширина лепестков” на корневом узле. Если ширина лепестков меньше или равна 0.8, алгоритм идет на глубину 1, влево. В противном случае он идет на глубину 1, вправо. Там он делит поднабор дальше на основании дополнительного признака “ширины лепестков”. Правый узел на глубине 1 описывает 100 экземпляров и применяется к 0 экземпляров Iris Setosa, 50 экземпляров Iris Versicolor и оставшиеся 50 экземпляров Iris Virginica.

Рис. 1. Дерево решений для ирисов
Рис. 1. Дерево решений для ирисов

Таким образом, критерий Джини для этого узла равен 0.5:

Gk,tk=1−(0100)2−(50100)2−(50100)2

Точно так же, для узла глубиной 1 слева критерий Джини равен нулю, потому что все тренировочные экземпляры принадлежат к одному классу. Этот узел считается “чистым”.

Чтобы понять, что такое критерий Джини, давайте вернемся к основному вопросу. Деревья решений используют для обучения алгоритм Classification And Regression Tree (CART), основанный на простой концепции разделения набора данных на два поднабора, используя единственный признак (k) и порог (t). В наборе данных ирисов признаком была “ширина лепестков”, а порогом – 0.8. Как алгоритм выбирает t и k? Он ищет пару (t,k), производящую “самые чистые” подмножества. Поэтому функция потерь, которую алгоритм пытается минимизировать, описывается следующим уравнением:

J(k,tk)=mleftmGleft+mrightmGright

Здесь Gleft и Gright – критерии Джини для левого и правого узлов, а m представляет экземпляры подмножеств.

Функция потерь для задач регрессии

Функция потерь для деревьев регрессии просто интуитивна. Мы используем сумму разности квадратов (RSS). Она изображена следующей формулой, в которой Y – истинное значение, а Y с крышкой – предсказанное.

RSS=∑k=1n(Y−Y^)2

Вопрос 2: как коллинеарность влияет на ваши модели?

Ответ. Коллинеарность относится к ситуации, в которой две или более прогнозных переменных сильно зависят друг от друга. Рисунок 2 демонстрирует пример коллинеарных переменных. Переменная Variable 2 строго следует за Variable 1 с коэффициентом корреляции Пирсона, равным 1. Поэтому, очевидно, одна из этих переменных будет вести себя как “шум”, если их скормить моделям машинного обучения.

Рис. 2. Пример коллинеарных переменных
Рис. 2. Пример коллинеарных переменных

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

Простой способ обнаружения коллинеарности – посмотреть на матрицу корреляции прогнозных переменных. Каждый элемент этой матрицы, достаточно большой по модулю, обозначает пару признаков с высокой коллинеарностью, и, следовательно, проблемы в данных. К сожалению, не все проблемы с коллинеарностью можно выявить анализом матрицы корреляции: возможно существование коллинеарности между тремя и более переменными, даже при отсутствии высокой корреляции между любой парой этих переменных. Такая ситуация называется мульти-коллинеарностью. Для таких случаев вместо анализа матрицы корреляции намного лучший метод – анализ коэффициента повышения дисперсии (Variance Inflation Factor, VIF). Коэффициент повышения дисперсии для каждой переменной рассчитывается по такой формуле:

VIF=11−RXj|X−j2

Где R2 – регрессия переменной X по всем остальным прогнозным переменным. Если VIF близок к единице или больше нее, коллинеарность присутствует. Если обнаружилась проблема коллинеарности, есть два решения. Можно удалить избыточную переменную. Это можно сделать, не ухудшая сходимость регрессии. Другое решение – это объединить все коллинеарные переменные в единственную прогнозную переменную.

Вопрос 3: как бы вы объяснили работу глубоких нейронных сетей непрофессионалу?

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

Слово “глубокие” в определении глубоких нейронных сетей означает, что нейронная сеть состоит из множества слоев. Эти слои, в свою очередь, состоят из узлов, в которых и производятся вычисления. Аналогией такого узла является нейрон в человеческом мозге, который “включается” при получении достаточных стимулов. Узел комбинирует данные от входов с их коэффициентами (весами), которые усиливают либо ослабляют влияние каждого входа. Произведения данных на веса затем суммируется, как показано на рис. 3, и передается в функцию активации, которая определяет, должен ли этот сигнал пройти дальше по нейронной сети и влиять на итоговый результат. Слой – это набор таких нейроподобных переключателей, которые включаются и выключаются в зависимости от входных данных.

Рис. 3. Пример визуализации узла нейронной сети
Рис. 3. Пример визуализации узла нейронной сети

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

Глубокие нейронные сети содержат несколько внутренних слоев
Глубокие нейронные сети содержат несколько внутренних слоев

Вопрос 4: какой должна быть 3-минутная презентация вашего тестового проекта по Data Science?

Ответ. Типовое интервью на позицию Data Scientist’а начинается с тестового задания в виде проекта, который вы должны сделать дома. Предоставляемое на это время может сильно варьироваться в зависимости от сложности задачи. Однажды мне дали два дня на решение задачи и подготовку отчета для руководства, но в другой раз на решение задачи дали две недели. Незачем и говорить, что это была намного более сложная задача, где набор данных содержал сильный дисбаланс классов. Поэтому 3-минутная презентация для “продажи” вашего решения позволяет вам продемонстрировать ваш уровень понимания предложенной задачи. Начните со своей интерпретации задачи, кратко опишите свой подход к ее решению, какие типы моделей машинного обучения вы использовали и почему. Заканчивайте презентацию хвастовством по поводу точности предсказания ваших моделей.

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

Вопрос 5: что значит “регуляризация модели”, и как добиться регуляризации для линейной модели?

Ответ. Регуляризация – это термин для ограничения (сокращения переобучения) вашей модели машинного обучения. Хороший способ ограничения модели машинного обучения – иметь меньше степеней свободы. Имея меньше степеней свободы, модели сложнее переобучиться под тренировочные данные. Например, простой способ регуляризации полиномиальной модели – сократить количество полиномиальных степеней свободы. Однако для линейных моделей регуляризация обычно достигается ограничением весов модели. По сравнению с обычной линейной регрессией модели L1-регуляризация (Lasso Regression), L2-регуляризация или регуляризация Тихонова (Ridge Regression) и упругая сетевая регуляризация (Elastic Net) предлагают собственные способы ограничения весов. Для полноты картины давайте начнем с определения линейной регрессии:

y^=θ0+θ1×1+θ2×2+…θnxn
  • y с крышкой – предсказанное значение.
  • n – количество признаков.
  • xi – i-й признак.
  • Тэта – параметры модели, также известные как веса признаков.

Функция потерь Средняя Квадратичная Ошибка (Mean Square Error) определяется как:

MSE(X,hθ)=1m∑i=1m(θT⋅x(i)−y(i))2

где тэтаT – транспонированная тэта (вектор-строка вместо вектора-столбца).

Регуляризация Тихонова (Ridge Regression) – это вариант линейной регрессии с регуляризацией, то есть в функцию потерь дополнительно добавлен элемент регуляризации, что заставляет алгоритм обучения не только подстраиваться под тренировочные данные, но и делать веса настолько маленькими, насколько это возможно. Заметим, что элемент регуляризации должен добавляться к функции потерь только в процессе обучения. Когда модель уже обучена, мы хотим измерять ее качество работы без регуляризации.

J(θ)=MSE(θ)+α12∑i=1nθ2

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

L1-регуляризация (Lasso Regression) – другой вид регуляризованной линейной регрессии, который также добавляет в функцию потерь элемент регуляризации, но на основе L1-нормы вектора весов в отличие от L2-нормы.

J(θ)=MSE(θ)+α∑i=1n|θi|

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

Упругая сетевая регуляризация (Elastic Net) – нечто среднее между регуляризацией Тихонова и L1-регуляризацией. Элемент регуляризации – это просто смесь двух видов регуляризации в пропорции, определяемой параметром r. При r=0 это чистая регуляризация Тихонова, а при r=1 – L1-регуляризация.

J(θ)=MSE(θ)+rα∑i=1n|θi|+α1−r2∑i=1nθ2

Желательно всегда иметь какую-нибудь регуляризацию, а использования чистой линейной регресии следует избегать. По умолчанию хороша регуляризация Тихонова, но если в некотором наборе данных значение имеет лишь небольшой процент признаков, тогда лучше использовать L1-регуляризацию. Упругая сетевая регуляризация в большинстве случаев лучше L1-регуляризации, потому что последняя может приводить к странным результатам, когда количество признаков больше количества тренировочных записей, или когда несколько признаков имеют сильную корреляцию друг с другом.

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

Удачного изучения!

  1. Hands-On Machine Learning with Scikit-Learn, Keras and Tensorflow.
  2. An Introduction to Statistical Learning.
12
Дек
2020

Разные значения функции в разных компиляторах

Есть программа, которая вычисляет значение функции на отрезке [-1; 1] поделенном на n равных(подается в stdin) ln(2+x) и значение этой же функции по ряду Тейлора: ln2 + x/2 – x^2/2^3 +…+(-1)^(n-1) * (x^n/(n*2^n))).
Очень странное поведен…

12
Дек
2020

Вычисление значений функции с помощью ряда Тейлора на Си

Задание заключается в том, чтобы посчитать значение функции ln((1+x)/(1-x)) с помощью заданной функции и ряда Тейлора для нее 2(x/1 + x^3/3 + … + x^(2n+1) / 2n + 1) на определенном отрезке a b, разбитом на n частей(n принимается с stdin)…

09
Дек
2020

Ошибка при вычислении первообразной

Мне требуется найти первообразную от следующей функции
k * (1 + a * x**(1/2) + b * x**(0.7) + c * x**(0.9))**(d)

X – переменная, остальные какие-то константы.
Следующий код ничего не даёт, не могу найти ошибку или какое-то другое решение….

21
Ноя
2020

Методы вычисления интегралов на Python

Первая функция вычисляет интеграл методом средних прямоугольников. Вторая – с помощью правила Буля. Вопрос: в задании нужно, чтобы пользователь вводил значения n1 и n2 – кол-во участков разбиения функции. Но самое интересное, что правило Б…

20
Ноя
2020

Входит ли географическая точка в полигон в форме правильного шестиугольника?

Нужна формула для проверки вхождения точки на карте в полигон в форме правильного шестиугольника. Центр имеет широту и долготу, каждая точка шестиугольника также имеет широту долготу. Длина сторон 200 метров.
Стороны шестиугольника для при…

20
Ноя
2020

Входит ли географическая точка в полигон в форме правильного шестиугольника?

Нужна формула для проверки вхождения точки на карте в полигон в форме правильного шестиугольника. Центр имеет широту и долготу, каждая точка шестиугольника также имеет широту долготу. Длина сторон 200 метров.
Стороны шестиугольника для при…

20
Ноя
2020

Входит ли географическая точка в полигон в форме правильного шестиугольника?

Нужна формула для проверки вхождения точки на карте в полигон в форме правильного шестиугольника. Центр имеет широту и долготу, каждая точка шестиугольника также имеет широту долготу. Длина сторон 200 метров.
Стороны шестиугольника для при…

16
Ноя
2020

не могу вывести корень уравнения, используя метод половинного деления

Возможно я где-то туплю. Но на данный момент я не понимаю…Решаю эту задачу уже третий час. Моя программа видит только одно: интервал. Не корень.
Задача: Написать программу которая находит решение уравнения N * x + А = 0 методом половинн…

16
Ноя
2020

Как лучше реализовать генерацию размещений на JS?

Как лучше реализовать функцию permutate с сигнатурой
const array = [1, 2, 3];
const k = 3;

const permutations = permutate(array, k);

где permutations — все размещения из array по k (все возможные k-элементные упорядоченные подмножества б…

16
Ноя
2020

Как лучше реализовать генерацию сочетаний на JS?

Как лучше реализовать функцию combine с сигнатурой
const array = [1, 2, 3, 4, 5];
const k = 3;

const combinations = combine(array, k);

где combinations — все сочетания из array по k (все возможные k-элементные подмножества array без повт…

16
Ноя
2020

Как вызвать exception’ы в математических функциях в C++?

Мне нужно вызвать исключения во время работы программы в математических функциях, и отловить их.
Например, я вызывал ошибку деления на ноль
float division(int a,int b)
{
if (b == 0)
{
throw "Деление на ноль!";

11
Ноя
2020

Общее решение диофантова уравнения

Написал программу для решения диофантова уравнения вида 45x-128y=177. Имеется два вопроса:

а как сделать так, чтобы выводилось общее решение диофантова уравнения в виде формулы, зависящей от параметра?
можно ли тут реализовать вывод данны…

11
Ноя
2020

Общее решение диофантова уравнения

Написал программу для решения диофантова уравнения вида 45x-128y=177. Имеется два вопроса:

а как сделать так, чтобы выводилось общее решение диофантова уравнения в виде формулы, зависящей от параметра?
можно ли тут реализовать вывод данны…