Итерационный метод решения уравнений в эксель

Итерационный метод решения уравнений в эксель

Найдем корень нелинейного уравнения в табличном процессоре Excel методом итерации с использованием циклических ссылок. Для включения режима циклических вычислений в Excel 2003 в меню Сервис/Параметры/вкладка Вычисления следует поставить флажок Итерации и флажок выбора вида ведения вычислений: автоматически. В MS Excel 2010 следует зайти в меню Файл/Параметры/Формулы и поставить флажок в поле «Включить итеративные вычисления».

M – максимальное значение производной на промежутке (по модулю). Найдем М, для этого вычислим

Т. к. значение производных Меню сайта

Excel. Использование циклических ссылок для решения уравнений итерационным способом

Ранее я описал, как найти и исправить циклическую ссылку. Напомню, что циклическая ссылка появляется, если в ячейку Excel введена формула, содержащая ссылку на саму эту ячейку (напрямую или через цепочку других ссылок). Например (рис. 1), в ячейке С2 находится формула, ссылающаяся на саму ячейку С2.

Рис. 1. Пример циклической ссылки

Но. Не всегда циклическая ссылка является бедствием. Циклическую ссылку можно использовать для решения уравнений итерационным способом. Для начала нужно позволить Excel вести вычисления, даже при наличии циклической ссылки. В обычном режиме Excel, обнаружив циклическую ссылку, выдаст сообщение об ошибке, и потребует ее устранения. В обычном режиме Excel не может провести вычисления, так как циклическая ссылка порождает бесконечный цикл вычислений. Можно, либо устранить циклическую ссылку, либо допустить вычисления по формуле с циклической ссылкой, но ограничив число повторений цикла. Для реализации второй возможности щелкните на кнопке «Office» (в левом верхнем углу), а затем на «Параметры Excel» (рис. 2).

Скачать заметку в формате Word, примеры в формате Excel

Рис. 2. Параметры Excel

В открывшемся окне «Параметры Excel» перейдите на вкладку Формулы и отметьте «Включить итеративные вычисления» (рис. 3). Помните, что эта опция включается для приложения Excel в целом (а не для одного файла), и будет действовать, пока вы ее не отключите.

Рис. 3. Включить итеративные вычисления

На этой же вкладе, можно выбрать, как будут вестись вычисления: автоматически или вручную. При автоматическом вычислении Excel сразу рассчитает конечный результат, при вычислениях, вручную, можно будет наблюдать результат каждой итерации (простым нажатием F9 запуская каждый новый цикл вычисления).

Решим уравнение третьей степени: х 3 – 4х 2 – 4х + 5 = 0 (рис. 4). Для решения этого уравнения (и любого другого уравнения совершенно произвольного вида) понадобится всего одна ячейка Excel.

Рис. 4. График функции f(x)

Для решения уравнения нам понадобится рекуррентная формула (то есть, формула, выражающая каждый член последовательности через один или несколько предыдущих членов):

(1) x = x – f(x)/f’(x), где

f(x) – функция, задающая уравнение, корни которого мы ищем; f(x) = х 3 – 4х 2 – 4х + 5

f’(x) – производная нашей функции f(x); f’(x) = 3х 2 – 8х – 4; производные основных элементарных функций можно посмотреть здесь.

Если вы заинтересовались, откуда взялась формула (1), можете почитать, например, здесь.

Итоговая рекуррентная формула имеет вид:

(2) х = x – (х 3 – 4х 2 – 4х + 5)/(3х 2 – 8х – 4)

Выберем любую ячейку на листе Excel (рис. 5; в нашем примере это ячейка G19), присвоим ей имя х, и введем в нее формулу:

Можно вместо х использовать адрес ячейки… но согласитесь, что имя х, смотрится привлекательнее; следующую формулу я ввел в ячейку G20:

Рис. 5. Рекуррентная формула: (а) для поименованной ячейки; (б) для обычного адреса ячейки

Как только мы введем формулу и нажмем Enter, в ячейке сразу же появится ответ – значение 0,77. Это значение соответствует одному из корней уравнения, а именно второму (см. график функции f(x) на рис. 4). Поскольку начальное приближение не задавалось, итерационный вычислительный процесс начинался со значения, по умолчанию хранимого в ячейке х и равного нулю. Как же получить остальные корни уравнения?

Для изменения стартового значения, с которого рекуррентная формула начинает свои итерации, предлагается использовать функцию ЕСЛИ: [1]

Здесь значение «-5» – начальное значение для рекуррентной формулы. Изменяя его, можно выйти на все корни уравнения:

Начальное значениеКорень уравнения
10,77
-5-1,40
84,63

[1] Идея подсмотрена здесь

7 комментариев для “Excel. Использование циклических ссылок для решения уравнений итерационным способом”

Офигенный сайт!
И как всегда когда не нужно все находишь!
Блин у меня по экономическому моделированию в Excell курсовик был в институте, вот время помню кучу потерял а тут все в одном флаконе:)
Все равно инфа пригодится, даже очень!

И нам зараза в этом гребанном институте мать их так этих учителей даже близко ничего подобного не рассказывали. Я не про этот пример говорю а про остальные..
«Вычисление стандартного отклонения для данных с тенденцией», «Нормальное распределение» и т.п.. даже объяснить не могли или не хотели как это все применять, а тут все наглядно и понятно! Огромное спасибо! Не зря я на этот сайт наткнулся, чую он мне еще окажет неплохую помощь))))

В упор не понимаю откуда берется предел для определения корней уравнения, если «Здесь значение «-5» – начальное значение для рекуррентной формулы. Изменяя его, можно выйти на все корни уравнения»

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

Тамара, если Вы строите график на основе моих данных, откройте файл Excel; если Вы используете собственные данные, пришлите мне на mail Ваш файл, попробую помочь))

Спасибо заранее за беспокойство, вот такое уравнение у^3-20у^2-158у-420=0, если не трудно объясните пожалуйста как вы определяте предел в каких знчениях надо считать корни.

Изменение пересчета, итерации или точности формулы в Excel

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

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

Итерация — это повторный пересчет на отдельном числовом условии. Excel не может автоматически вычислить формулу, которая ссылается (прямо или косвенно) на ячейку, содержаную эту формулу. Это называется циклской ссылкой. Если формула ссылается на одну из собственных ячеек, необходимо определить, сколько раз она должна пересчитываться. Цикловые ссылки могут итерироваться бесконечно. Тем не менее, вы можете сами задать предельное число итераций и относительную погрешность.

Точность — это показатель степени сходимости вычислений. Excel хранит и выполняет вычисления с точностью 15 значащих цифр. Однако существует возможность изменить точность вычислений, так что Excel при пересчете формул будет использовать для вычислений не хранимое, а отображаемое значение.

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

Важно: Изменение любого из этих параметров влияет на все открытые книги.

На вкладке Файл нажмите кнопку Параметры и выберите категорию Формулы.

В Excel 2007 нажмите кнопку «Microsoft Office»,выберите «Параметры Excel»и щелкните категорию «Формулы».

Выполните одно из указанных ниже действий.

Для пересчета всех зависимых формул при каждом изменении значения, формулы или имени в разделе Параметры вычислений в группе Вычисления в книге выберите пункт Автоматически. Это — способ вычислений по умолчанию.

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

Для отключения автоматического пересчета и выполнения пересчета открытых книг только при явном требовании (с помощью клавиши F9) в разделе Параметры вычислений в группе Вычисления в книге выберите параметр Вручную.

Примечание: При выборе параметра Вручную Excel автоматически устанавливает флажок Пересчитывать книгу перед сохранением. Если сохранение книги занимает много времени, для его экономии снимите флажок Пересчитывать книгу перед сохранением.

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

Для ручного пересчета активного листа, всех диаграмм и листов диаграмм, связанных с этим листом, на вкладке Формулы в группе Вычисление нажмите кнопку Произвести вычисления.

Совет: Многие из этих параметров можно изменять и вне диалогового окна Параметры Excel. Откройте вкладку Формулы и в группе Вычисления щелкните элемент Параметры вычислений, а затем — Выполнять автоматически.

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

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

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

Пересчет всех формул во всех открытых книгах независимо от того, были ли они изменены после прошлого пересчета.

Проверка зависимых формул, а затем пересчет всех формул во всех открытых книгах независимо от того, были ли они изменены после прошлого пересчета.

На вкладке Файл нажмите кнопку Параметры и выберите категорию Формулы.

В Excel 2007 нажмите кнопку «Microsoft Office»,выберите «Параметры Excel»и щелкните категорию «Формулы».

В разделе Параметры вычислений установите флажок Включить итеративные вычисления.

Чтобы установить максимальное число пересчетов, введите в поле Предельное число итераций число итераций. Чем больше число итераций, тем больше времени потребуется для пересчета листа.

Для установки максимальной разности между результатами пересчетов введите ее в поле Относительная погрешность. Чем меньше это число, тем точнее результат, и тем больше времени требуется на пересчет листа.

Примечание: «Поиск решения» и «Поиск цели» — это часть набора команд, иногда называемых инструментами анализ «что если» средств. Обе команды используют итерацию контролируемым способом для получения нужных результатов. С помощью функции «Поиск решения» можно найти оптимальное значение для определенной ячейки, настроив значения в нескольких ячейках или применив определенные ограничения к одному или нескольким значениям в вычислениях. Если вы знаете нужный результат одной формулы, но не входные значения, необходимые для его определения, можно использовать средству поиска целью.

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

По умолчанию в вычислениях используются хранимые, а не отображаемые значения

Отображаемые и печатаемые значения зависят от выбора формата и отображения хранимых значений. Например, ячейка, в которой отображается дата «22.06.2008», также содержит порядковый номер, который является хранимым значением даты в этой ячейке. Можно изменить отображение даты на другой формат (например, «22-июнь-2008»), но хранимое в ячейке значение не изменится.

С осторожностью изменяйте точность вычислений

При пересчете формулы Excel обычно использует значения, хранящиеся в ячейках, на которые она ссылается. Например, если в двух ячейках содержится значение 10,005, а формат ячеек предполагает отображение значений в виде денежных единиц, в каждой из ячеек будет отображаться значение 10,01 ₽. При сложении этих значений результат будет равен 20,01 ₽, поскольку Excel складывает хранимые значения 10,005 и 10,005, а не отображаемые значения.

При изменении точности вычислений в книге путем использования отображаемых (форматированных) значений Excel безвозвратно меняет точность хранимых в ячейках значений от полной (15 цифр) до любого другого числа десятичных знаков отображаемого формата. После такого изменения возврат к исходной точности невозможен.

На вкладке Файл нажмите кнопку Параметры и выберите категорию Дополнительно.

В Excel 2007 нажмите кнопку «Microsoft Office»,выберите «Параметры Excel»и щелкните категорию «Дополнительные параметры».

В разделе При пересчете этой книги выберите нужную книгу и установите флажок Задать указанную точность.

Хотя Excel ограничивает точность до 15 десятичных разрядов, это не означает, что максимальное число, которое можно хранить в Excel, ограничено 15 разрядами. Для положительных чисел предельное значение равно 9,99999999999999E+307, а для отрицательных значений — –9.99999999999999E+307. Эти числа приблизительно равны 1 или –1 с 308 нулями.

Точность в Excel означает, что любое число с разрядностью более 15 хранится и отображается только с точностью в 15 десятичных разрядов. Десятичная запятая может стоять перед любым из этих разрядов. Все разряды справа от 15-го обнуляются. Например, у числа 1234567,890123456 16 разрядов (7 до запятой и 9 после). В Excel это число хранится и отображается как 1234567,89012345 (в строке формулы и ячейке). Если установить для ячейки формат, отображающий все разряды (вместо экспоненциального формата, такого как 1,23457E+06), вы увидите, что число показывается как 1234567,890123450. 6 в конце (16-й разряд) отбрасывается и заменяется на 0. Последним является 15-й разряд, а все последующие равны нулю.

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

На вкладке Файл нажмите кнопку Параметры и выберите категорию Дополнительно.

В Excel 2007 нажмите кнопку «Microsoft Office»,выберите «Параметры Excel»и щелкните категорию «Дополнительные параметры».

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

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

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

Чтобы управлять числом процессоров, в области «Число потоковвычислений» выберите «Вручную». Введите число процессоров (максимальное число — 1024).

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

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

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

Поскольку полный пересчет требует больше времени, чем частичный, открытие книги, которая не была сохранена в формате текущей версии Microsoft Excel, может потребовать больше времени. После сохранения книги в формате текущей версии Microsoft Excel книга будет открываться быстрее.

В Excel в Интернете результаты формулы автоматически пересчитываются при изменении данных в ячейках, которые используются в этой формуле. Этот автоматический пересчет можно отключить и вычислить результаты формулы вручную. Вот как это сделать:

Примечание: Изменение параметра вычисления влияет только на текущую книгу, а не на другие открытые книги в браузере.

В Excel в Интернете щелкните вкладку «Формулы».

Рядом с параметрами вычисленийвыберите один из следующих параметров в этом меню:

Чтобы пересчитать все зависимые формулы при каждом изменении значения, формулы или имени, выберите значение «Автоматически». Этот параметр установлен по умолчанию.

Чтобы пересчитать все зависимые формулы, кроме таблиц данных, при каждом изменении значения, формулы или имени нажимайте кнопку «Автоматически, кроме таблиц данных».

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

Чтобы пересчитать книгу вручную (включая таблицы данных), нажмите кнопку «Вычислить книгу».

Примечание: В Excel в Интернете нельзя изменить количество пересчетов формулы до тех пор, пока не будет выполнены определенное числовый условие, а также изменить точность вычислений с помощью отображаемого значения, а не хранимого значения при пересчете формул. Однако это можно сделать в приложении Excel для настольных систем. Чтобы задать параметры вычислений и изменить пересчет, итерацию или точность формулы, откройте книгу с помощью кнопки «Открыть в Excel».

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.


источники:

http://baguzin.ru/wp/excel-ispolzovanie-tsiklicheskih-ssylok-d/

http://support.microsoft.com/ru-ru/office/%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B5%D1%80%D0%B5%D1%81%D1%87%D0%B5%D1%82%D0%B0-%D0%B8%D1%82%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8-%D0%B8%D0%BB%D0%B8-%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D0%B8-%D1%84%D0%BE%D1%80%D0%BC%D1%83%D0%BB%D1%8B-%D0%B2-excel-73fc7dac-91cf-4d36-86e8-67124f6bcce4