Практика языка C (МФТИ, 2023-2024). Семинар 8.2. Решение уравнений и вычисление функций.

  Рет қаралды 4,218

Konstantin Vladimirov

Konstantin Vladimirov

Күн бұрын

Практические занятия по языку C на первом курсе МФТИ. Кафедра информатики.
Вторая часть восьмого семинара посвящена решению уравнений. Мы начнём с того, что рассмотрим разнообразные сложности и ловушки плавающих чисел. Далее мы займёмся нахождением корней уравнений: сначала рассмотрим методы в которых надо сохранять брекетинг корня, потом уйдём от них в неизвестность. Ну и в конце нас ждёт применение метода Ньютона для вычисления функций, разгадка магического инверсного корня, правила работы с комплексными числами и немного красоты в виде всяких фракталов.
Семинарист: Константин Владимиров.
Дата: 29 апреля 2024 года.
Съёмка: Владислав Белов.
Звук: Юлий Тарасов.
Предыдущий семинар: • Практика языка C (МФТИ...
Следующий семинар: • Практика языка C (МФТИ...
Слайды к занятиям: cs.mipt.ru/wp/?page_id=7775
Примеры кода: github.com/tilir/c-graduate
Задачник: olymp1.vdi.mipt.ru/
Timeline
00:00 Правила работы c плавающими числами
10:20 Аккуратнее с ошибками сложения
16:04 Помните о конечности диапазона
23:18 Дихотомия
30:00 Целочисленный квадратный корень
40:23 Бенчмаркинг целочисленного корня
45:11 Regula falsi
49:08 Нарушим брекетинг? И время для задач
54:50 Метод Ньютона
01:00:32 Вычисление функций
01:14:30 Быстрые приближения и магический инверсный корень
01:20:15 Комплексные числа и фрактал Ньютона
01:26:20 Голоморфная динамика и множество Жюлиа
01:31:58 Генератор фракталов и завершение
Errata
* Тут пока пусто

Пікірлер: 23
@user-kk7xt3uo7x
@user-kk7xt3uo7x 25 күн бұрын
Преподаватель самый лучший!!! Все его видео пересмотрел (а мне уже почти 40 лет). Видно сразу, что любит свою профессию. Смотреть очень интересно.
@user-eo5uw4xf2y
@user-eo5uw4xf2y 23 күн бұрын
Ну и что, что 40 лет?
@AlexAlex-ll5sz
@AlexAlex-ll5sz 17 күн бұрын
А мене почти 50 я смотрю.
@fedorbabkin
@fedorbabkin 25 күн бұрын
Вспомнился ФОПФовый анекдот. Студент на экзамене по электродинамике все время подглядывает на ладонь руки. Преп ловит его, говорит: показывай шпаргалку. Тот показывает левую ладонь, там буква Л. Преп: зачем тебе это? Студент: правило левой руки помню, а какая из них левая, всё время забываю...
@wumi2419
@wumi2419 25 күн бұрын
Семинары для себя это да) Сам на 4 курсе в другом ВУЗе, но смотреть интересно и местами есть новая информация.
@sibedir
@sibedir 25 күн бұрын
Добрый день, добрые люди. Ну что ж, приступим 🧘‍♂️🙄🤯
@alexanderspeshilov839
@alexanderspeshilov839 21 күн бұрын
"Подсмотриваю" ваши семинары (хоть и в 2 раза старше студентов). Про бенчмаркинг sqrt. На X64 и мощных ARM понятно что итеративно (даже Ньютоном) вариант dsqrt обогнать если и можно, то не просто. Но вот на каком-нибудь Cortex- M0 или RISC-V без нужных расширений dsqrt может оказаться совсем небыстрым. При этом для целых есть хорошее начальное приближение что-нибудь типа x >> ((32 - clz(x)) >> 1), где clz - количество нулей впереди. Впрочем, у m0 clz тоже, если я правильно помню не одной командой считается.
@akulijbe
@akulijbe 24 күн бұрын
1:13:10 - видимо запись решила скрыть, что мы увидим в реализации синуса) но я дополню, что почти всегда мы увидим ряды Тейлора (к примеру, как в musl и glibc) P.S.: видео как всегда супер! Спасибо)
@allallall2321
@allallall2321 25 күн бұрын
@evseee
@evseee 24 күн бұрын
да, одно дело когда говорят "для икс меньше дельта", а другое когда ты на, ещё зелёном, но уже графическом, мониторе видишь как колбасит ряд маклорена для синуса при удалении от нуля :)
@sibedir
@sibedir 25 күн бұрын
34:35 Числа с плавающей точкой на столько отличаются от вещественных чисел, что там даже левое и правое не такие 😂
@hohlovin
@hohlovin 24 күн бұрын
Давали бы мне такие знания году так в 95-м...
@2_x_2_4
@2_x_2_4 24 күн бұрын
kzbin.info/www/bejne/j6GQo4GVdr-Jias Эту формулу (1/2(xn+a/xn)) ещё называют фомулой Герона. А т.к. одну формулу Герона студенты знают, то, полагаю, у вас, Константин, интересно получилось бы обыграть такую ситуацию в лекции. :-)
@narzaru
@narzaru 24 күн бұрын
Здравствуйте, доступа к заданиям в задачнике нет, и ссылка на плейлист с записями семинаров в конце задачника неправильная
@tilir
@tilir 24 күн бұрын
У вас проблемы с браузером, он подменяет вам http на https.
@narzaru
@narzaru 24 күн бұрын
@@tilirтак и не смог победить, пробовал Edge, Google Chrome, Firefox. Потыкал настройки, не помогло. Код последней ошибки 4e816500.
@lwind4884
@lwind4884 23 күн бұрын
При проверке на равенство чисел с плавающей точкой рекомендую руководствоваться следующей методикой. Если, например, нужна точность до 5го знака после десятичной точки, берите допуск равный 0,5*0,00001 (т.е. 0,000005). Так Вы нивелируете погрешность математического округления.
@user-hh2qp6ez4d
@user-hh2qp6ez4d 16 күн бұрын
Нас на вычислительной математике учили считать на разряд выше требуемой точности.
@lwind4884
@lwind4884 16 күн бұрын
@@user-hh2qp6ez4d Я имел ввиду следующее. Нужно сравнить два числа так, как если бы Вы перевели эти числа в строку с одинаковыми настройками форматирования, а потом проверили на равенство. Например, сравните числа 1.5551 и 1.5552 с точностью до третьего знака после десятичной точки. Если считать на разряд выше, то с точностью до четвёртого знака эти два числа не равны. Но с точностью до третьего знака они не различимы, т.е. равны. Впрочем. Вообще выбор метода сравнений чисел с плавающей точкой зависит от конкретной задачи.
@user-hh2qp6ez4d
@user-hh2qp6ez4d 16 күн бұрын
@@lwind4884 я не про количество знаков после запятой. Я про количество разрядов. Например, 123456.789(9 разрядов)*1.234(4 рязряда) - так считаль нельзя, потому что результат умножения будет достоверным только на 4 разряда. Нужно сохранять количество разрядов, а именно 123456.789*1.23456789 - так правильно, если нужна точность 8 разрядов. Как тут сравнивать? В каждом конкретном случае свое количество знаков после запятой.
@lwind4884
@lwind4884 16 күн бұрын
@@user-hh2qp6ez4d Благодарю за комментарий по поводу точности вычислений. Однако, прошу обратить внимание, что я писал о методе сравнения.
1 класс vs 11 класс (неаккуратность)
01:00
1❤️
00:20
すしらーめん《りく》
Рет қаралды 33 МЛН
Super sport🤯
00:15
Lexa_Merin
Рет қаралды 20 МЛН
What is advanced mathematics?
15:19
Математик МГУ
Рет қаралды 900 М.
1 класс vs 11 класс (неаккуратность)
01:00