[Архив!] Чистая математика, физика, химия и т.п.: задачки для тренировки мозгов, никак не связанные с торговлей - страница 232
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
MaStak, я не помню формулы регрессии наизусть. Да и тут чего-то не хватает.
Общая идея:
Даны массивы x_i, y_i, i=0...n-1 (с равными размерами). Надо подобрать к-ты кубического многочлена так, чтобы все было максимально тип-топ. Обычно это метод наименьших квадратов: сумма квадратов отклонений многочлена от реальных значений должна быть минимальной.
Записываем сумму:
sum( y_i - (a_0 + a_1*x_i + a_2*x_i^2 + a_3*x_i^3) )^2 -> min
А теперь, дифференцируя по каждому a_i, приравниваем производные к нулю. Получится ровно 4 линейных уравнения с 4 неизвестными. Расписывать не буду, тут все просто.
2 С-4: да так и работает (Си все это допускает). Но такого кодера я бы убил на месте - или заставил бы его поддерживать свое творчество пожизненно.
Здесь фактически все тела циклов вписаны в шапки for().
P.S. Убивать бы, пожалуй, не стал. В качестве задачки "Распишите этот код в удобочитаемом виде" - вполне подойдет.
Так ?
P.S. Убивать бы, пожалуй, не стал. В качестве задачки "Распишите этот код в удобочитаемом виде" - вполне подойдет.
Удобочитаемый не всегда удобен. Особенно тогда, когда его читать уже никому не нужно. Так, я когда-то составлял модули на VB.
Сделал процедуру, ужал её и забыл про неё, а процедурой пользуюсь :)
.... что я имею в виду.
Ну и .... ???
Задача состоит не в том, что бы расписать этот код в удобочитаемом виде, а понять, как получается результат, который получается. Если вы скомпилируете этот код и посмотрите на результат его работы, то вы поймете что я имею в виду.
С-4, ну и что тут такого особенного? Наверно, главный прикол в том, что в Си не только выражения, но и операторы могут иметь логическое значение.
А как же еще иначе понять, как получается результат, если не расписать его вначале в удобочитаемом виде?
И правда, действительно что-то очень похожее на Pi...
Ну на самом деле есть много алгоритмов быстрого вычисления Pi. Вот MaStak это все расшифровал, попробуйте обратиться к нему.
Относительно недавно какой-то то ли китаец, то ли индиец опубликовал способ, позволяющий вычислить цифру Pi на заданной позиции после запятой в шестнадцатиричной системе счисления.
Не, моя расшифровка не заработала :(
Видимо порядок операций другой должен быть.
Тут вся фишка в приоритете операций.
А вобще, какой то грек сказал что Pi=66/21
Неужели Вам предельно ясен механизм расчета числа Пи в этой программе, раз вы не считаете в этом ничего особенного? Как эта программа высчитывает число Пи, по какому методу, как она работает? Лично у меня шарики за ролики закручиваются когда я вижу набор таких Х[,%,d,],;,^,,+,-,! символов.
Языки нормальные нужно писать, чтобы программистам было приятно и легко работать. А число Pi должно быть заложено как константа. Я когда модули на VB писал для своих технических расчётов, то закладывал туда всё от числа е до числа Фарадея, чтобы потом не мучаться :)
-
Вот пример моих доработок для VB:
-
Dim x1...х100 Аs integer 'объявляет сразу 100 переменных от х1 до х100;
Х! 'расчитывает факториал Х;
Х+5% 'операция с процентами числа;
Dim x1(double, integer) Аs komplex 'объявление комплексного числа;
и т.д.