2.2 Итерационные методы решения СЛАУ (Якоби, Зейделя, релаксации)

Поділитися
Вставка
  • Опубліковано 22 січ 2025

КОМЕНТАРІ • 58

  • @АнтонАнтропов-с2р
    @АнтонАнтропов-с2р Місяць тому +1

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

  • @ЕгорСоколов-в8ъ
    @ЕгорСоколов-в8ъ 10 місяців тому +1

    Большое спасибо! Очень наглядные объяснения, и, что радует, живые и практические.

  • @ДмитрийБ-я4у
    @ДмитрийБ-я4у 2 роки тому +19

    Очень полезное видео, по этой теме практически нет видео на русском сегменте ютуба, спасибо за видео

  • @lizochka_polenok
    @lizochka_polenok 2 роки тому +9

    спасибо вам!! через 7 часов экзамен по численным методам как раз :)

  • @darr11
    @darr11 Рік тому +1

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

  • @ИванРаспопов-г6б

    Спасибо за урок. Здоровья вам и вашим близким

  • @ЕвгенийЕлпатов
    @ЕвгенийЕлпатов 9 місяців тому

    Спасибо, видео крутое!!! Вообще все понятно стало!!! Автор красавчик!!!

  • @kannykl7575
    @kannykl7575 3 роки тому +19

    Подача 10/10
    В шоке от того что можно делать в Excel
    Можете выложить в описание файлик с кодом? Буду очень благодарен)

  • @OUR_RED_ARMY
    @OUR_RED_ARMY 6 місяців тому

    Из недостатков можно назвать лишь отсутствие ссылки на гитхаб или диск с кодом и листами экселя)
    Урок очень хороший, всё понятно, спасибо за труд!

  • @ИванНовожилов-э9з

    спасибо за видео - очень четко объясняете.

  • @chuuhan1
    @chuuhan1 Рік тому

    Спасибо большое!

  • @Lenchka-bt4ph
    @Lenchka-bt4ph 2 роки тому

    спасибо большое за информацию, за исходник был бы очень благодарен

  • @ВасилийНельков

    Спасибо большое за урок! Не могли бы вы показать полностью код? Не до конца понимаю некоторые функции((

  • @the_kurbanoff
    @the_kurbanoff 9 місяців тому +1

    если б скинули файл, вообще было бы супер

  • @ДавидМомо
    @ДавидМомо 9 місяців тому

    Здравствуйте! В моем университете просят сделать небольшой проект в среде питон и эксель по методам решений СЛАУ ( конкретно метод Якоби, Гаусса - Зейделя). Можно ли повзаимствовать у Вас данный файл в экселе и питоне?🙏🙏
    Буду Вам безмерно признателен!!

  • @АлексейКузнецов-н6ж

    Спасибо за видео. Возник вопрос. Почему не используем текущую итерацию в методе релаксации. Зачем допустим Зейделевское X1 при вычислении X2 если мы уже получили текущие приближение X1 по релаксации?

    • @learningmeansdoing
      @learningmeansdoing  Рік тому

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

  • @milanaalone5609
    @milanaalone5609 Рік тому +1

    Здравствуйте! Можете пожалуйста подсказать, как можно реализовать метод Ньютона (метод касательных) для решения нелинейных уравнений в Python? Буду очень благодарна Вам!

    • @learningmeansdoing
      @learningmeansdoing  Рік тому

      Здравствуйте. Метод Ньютона - это цикл while. В цикле выполняется вычисление очередного приближения корня и проверяется условие останова. Нужно предусмотреть ситуацию, когда вычисления расходятся, в методе Ньютона это возможно. Кстати, у меня есть видеоурок по этим методам, посмотрите.

    • @milanaalone5609
      @milanaalone5609 Рік тому

      @@learningmeansdoing Возможно прозвучит немного нагло с моей стороны, но мне код для Питона нужен))

  • @Олег-ж7ь
    @Олег-ж7ь 3 роки тому +1

    В формуле смещения переменных(релаксации) ошибка: в строке с x2^(к+1) должна быть зависимость от x2^(к+1) и x2^(к)

    • @learningmeansdoing
      @learningmeansdoing  3 роки тому

      Посмотрел еще раз и не обнаружил ошибки. В ячейке, где считается x2(k+1) написана формула =$K$42*K47+(1-$K$42)*N46. В этой формуле ячейка K47 - это x2(k+1), найденное по методу Зейделя, а ячейка N46 - это значение x2(k) с прошлого шага расчета, $K$42 - это коэффициент омега. Вроде бы все именно так, как и планировалось.

  • @Ihor_Semenenko
    @Ihor_Semenenko Рік тому

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

    • @learningmeansdoing
      @learningmeansdoing  Рік тому

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

  • @yVq1WVav94
    @yVq1WVav94 2 роки тому

    Большое спасибо за видео! А возможно где-то скачать эту эксель таблицу, самому в ней покопаться?

    • @learningmeansdoing
      @learningmeansdoing  2 роки тому

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

    • @yVq1WVav94
      @yVq1WVav94 2 роки тому

      @@learningmeansdoing Понимаю, все равно спасибо

  • @ИванЕвдокимов-л6ь

    Здравствуйте. Спасибо за лекцию. А результаты в конце видео по поводу сходимости методов +- одинаковые как для уравнений из 3-ех переменных, так и для уравнений из 1млн переменных?

    • @learningmeansdoing
      @learningmeansdoing  Рік тому

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

  • @stenty8464
    @stenty8464 2 роки тому

    Скажите пожалуйста, а можно как-то узнать что находится в функции error_calc() ? А то без нее невозможно запустить программу

    • @learningmeansdoing
      @learningmeansdoing  2 роки тому +1

      Вот эта функция:
      def error_calc(x, xn):
      max_err = 0
      for j in range(len(x)):
      err = abs(x[j] - xn[j])
      if err > max_err:
      max_err = err
      return max_err

    • @stenty8464
      @stenty8464 2 роки тому

      @@learningmeansdoing Благодарю!

  • @СергейКарпов-б5ф
    @СергейКарпов-б5ф 3 роки тому

    Спасибо большое за объяснение, всё очень понятно и доходчиво.
    Можно ли получить данный excel документ для проверки своих решений?

  • @relax_FM_1
    @relax_FM_1 2 роки тому +1

    Не должно ли быть Ах-b=0?

    • @learningmeansdoing
      @learningmeansdoing  2 роки тому +1

      Вроде Ax=b то же самое

    • @relax_FM_1
      @relax_FM_1 Рік тому

      @@learningmeansdoing да, то же самое
      Но у вас в начале видео
      В одном из методов написано Ax+b=0

    • @learningmeansdoing
      @learningmeansdoing  Рік тому

      Да, возможно есть некоторые неточности

  • @timyrasegty7857
    @timyrasegty7857 2 роки тому

    В функции random_permutations() осуществляется только перестановка строк?

    • @learningmeansdoing
      @learningmeansdoing  2 роки тому

      Да, все верно. Сначала определяется, какой порядок уравнений будет наилучшим (наибольшее диагональное преобладание), а затем уравнения переставляются местами.

    • @timyrasegty7857
      @timyrasegty7857 2 роки тому

      Но ведь не для всех систем достаточно перестановки только строк для обеспечения диагонального преобладания. В то же время алгоритм приведения любой матрицы к матрице с диагональным преобладанием посредством её тождественных преобразований я найти не могу (есть вариант использовать метод Жордана-Гаусса, но темы наших работ (итерационные методы решения СЛАУ) исключают всякое использование точных методов).

    • @learningmeansdoing
      @learningmeansdoing  2 роки тому

      Согласен с вами, что перестановка уравнений в системе подходит не для всех систем уравнений. Кстати, об этом говорят и результаты тестов, где рассмотренные методы не дали 100%-й сходимости. Если перестановка уравнений не дает эффекта, то остается вариант использовать линейные преобразования, то есть по факту это метод Гаусса и его вариации. Может быть есть какие-то алгоритмы для обеспечения диагонального преобладания, но я таких не знаю. Уверен, что есть и другие чисто итерационные методы, у которых сходимость лучше, чем у представленных трех методов.

  • @НеляДанча
    @НеляДанча 2 роки тому

    Пожалуйста, можете скинуть этот файл мне?

  • @ДмитрийБ-я4у
    @ДмитрийБ-я4у 2 роки тому

    еще раз пересмотрел ваше видео и возник вопрос по поводу схождения различных методов.
    Разве преобладание главной диагонали не является достаточным условием для схождения ряда? Если так, то почему даже с достаточным условием, процент сходимости не приближен к 100? (в методах Якоби и Зейделя).
    Недостаточно оптимизированный код или я что-то упустил?

    • @learningmeansdoing
      @learningmeansdoing  2 роки тому

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

    • @ДмитрийБ-я4у
      @ДмитрийБ-я4у 2 роки тому

      @@learningmeansdoing понял, спасибо

    • @Ihor_Semenenko
      @Ihor_Semenenko Рік тому

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

  • @ььъьъъь
    @ььъьъъь 9 місяців тому

    2:45

  • @shelby_017
    @shelby_017 2 роки тому

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

    • @learningmeansdoing
      @learningmeansdoing  2 роки тому

      Функция L выглядит так:
      def L(A, x, i):
      L = 0
      for k in range(len(A)):
      L += A[i][k] * x[k]
      return L

  • @shelby_017
    @shelby_017 2 роки тому

    А можете скинуть программу в питон для метода Якоби и Зейделя?

  • @ЕгорШарапов-и4з
    @ЕгорШарапов-и4з Рік тому +1

    капец мужик умный