А.А. Булычев, И.В. Лыгин, В.Р. Мелихов - Численные методы решения прямых задач грави- и магниторазведки (1156330), страница 18
Текст из файла (страница 18)
Все это говорит о том, что необходиманализ вычислительных схем и анализ возможных ошибок. Конечно,получение значения с необходимой степенью точности является наиболееважным в вычислительном процессе, но помимо этого большую роль ворганизации вычислений играют временные затраты на их производство.Эти вопросы рассматриваются в специальном разделе математики,носящем название «численные методы», однако некоторые вопросы,связанные с организацией вычислительного процесса будут рассмотрены вэтой лекции.1.Сформулируем некоторые общие положения, связанные с созданиемвычислительных алгоритмов.- вычислительные методы, построенные даже на точныханалитических выражениях, могут дать ошибочные результаты;- один и тот же алгоритм не может быть использован для решенияразного типа задач, зависящих от вида исходных данных;- вычислительный алгоритм должен быть конечным, т.е.
приводить крезультату за конечное число шагов;Если величины представляются численно, т.е. посредством конечнойдроби, то они всегда реализуются лишь приблизительно, т.е. с некоторойпогрешностью. Для проведения численного расчета необходимо знатькакова точность исходных данных, с какой точностью должны бытьполучены выходные данные, какова возможная точность выполненияопераций, а в этой связи, каков должен быть алгоритм решения даннойзадачи.Принципиально возможно выделить три источника погрешностей:- погрешность входных данных;- погрешность метода;- погрешность округления (машинная погрешность).2.Погрешность входных данных влияет на окончательный результат,поскольку эти погрешности участвуют в расчетах.
В нашем случае этапогрешность связана с точностью задания параметров источников поля. В124общем случае вычисление значений поля по заданному распределениюисточников (прямая задача) относится к устойчивым задачам. Этоозначает, что небольшие изменения во входных данных не должныпривести к большим изменениям в расчетных значениях, если конечно нерассматривать особых случаев, таких, как расчет поля в непосредственнойблизости к особым точкам, т.е.
к тем точкам, где нарушаетсяаналитичность полей. Тем не менее, такой анализ влияния ошибок вовходных данных может оказаться в ряде случаев необходимым, с тем,чтобы знать возможные пределы изменения входных данных, неприводящих к существенному изменению результата.
И эта задача будеттесно связана с обратной задачей, когда по заданному полю определяютсяпараметры источников, создающих это поле. Применительно к расчетуполя от сложной геологической среды рассматриваемую погрешностьможно связать с погрешностью за счет аппроксимации среды.Погрешность метода связана с отклонением вычислительной моделиот точной. В качестве примера здесь можно привести метод вычисленияаномального поля с помощью палеток. Мы можем с большойдетальностью изобразить сам объект, от которого хотим рассчитать поле,но само вычисленное поле будет определяться количеством ячеек палетки,которые для данной расчетной точки накроют наш объект.Погрешность округления связана с машинной погрешностью, и нанее оказывает влияние число разрядов чисел, представимых в даннойконкретной ЭВМ, метод округления чисел, принятый в машине, потерязначащих чисел при сложении или вычитании, потеря разрядов припревышении допустимой разрядности представления чисел.
В качествепримера можно рассмотреть классическую задачу: вычислить значениеx = 10 − 99 , предполагая, что расчеты производятся с тремя значащимичислами. Тогда, используя непосредственно приведенную формулу,получим: x = 10.0 − 09.9 = 00.1. Если же это выражение представить вэквивалентном виде x = 1 /(10 + 99 ) , то ответ окажется более точным:x = 1 /(10 + 09.9) = 1 / 19.9 = 0.05 . Потерю значащих цифр при вычитании исложенииможнопроиллюстрироватьследующимипримерами.Вычитание: 3.1415613 − 3.1415524 = 0.0000089 , т.е.
от восьми значащихцифр осталось только две. Сложение: пусть числа представлены тремязначащими числами, и складываются большое число с маленьким,например, 100 + 0.01. Результат будет равен 100, т.е. вклад второгослагаемого будет потерян.3.После сделанных замечаний рассмотрим некоторые вопросы,связанные с численной реализацией полученных аналитических формул, ивозможные причины возникновения ошибок. Этот вопрос начнем с задачивычисления комплексной напряженности гравитационного поля отмногоугольника с постоянной плотностью.
Нами было полученоследующее аналитическое выражение для этой модели:125NG ( s ) = Gδ ∑ (α ν s + β ν − s ) lnν =1σ ν +1 − s.σν − sЭто же выражение можно представить и в эквивалентном виде:NG ( s ) = Gδ ∑ (α ν − α ν −1 )(σ ν − s ) ln(σ ν − s ) .ν =1Зададимся вопросом, какая из этих формул более пригодна для численнойреализации? Для этого предположим, что расчетная точка s находится набольшом удалении от многоугольника. В этом случае значения поля G(s)будут близки к нулю, но отличны от него. Если мы рассмотрим вторую изприведенных формул, то увидим, что под знаком логарифма для такогопримера будет стоять большая по абсолютному значению величина.Логарифм такой величины также будет иметь большое значение.
Далеезначение этого логарифма умножается на разность (σ ν − s ) , абсолютноезначение которой, как уже отмечалось, для удаленной расчетной точки sимеет большую величину. В результате для получения значения поля врасчетной точке происходит суммирование больших величин, значениякоторых представлены определенным количеством значащих цифр, с тем,чтобы получить величину, близкую к нулю. Ясно, что при таком подходемы потеряем значащие цифры после запятой, и полученный результатможет оказаться неверным. Если же мы рассмотрим первую формулу, тоздесь ситуация будет несколько иной. Поскольку точка s находится наσ −sбудетзначительном удалении от многоугольника, то отношение ν +1σν − sблизко к единице.
Значение логарифма такой величины близко к нулю.Дальнейшее умножение этой величины на коэффициент (αν s + βν − s )может и увеличить порядок числа, но не приведет к сильной потерезначащих цифр после запятой. В результате, значение поля G(s) будетопределяться суммой малых по величине чисел.
С этой точки зренияприменение первой формулы для расчета поля оказываетсяпредпочтительным.4.На этом же примере рассмотрим еще один вопрос, связанный смасштабированием расстояний. Обычно расстояния задаются в метрах иликилометрах. Если задавать расстояния в метрах, то для удаленных точек s,расстояния будут выражаться числами в 103 большими, чем в случаезадания расстояний в километрах.
Естественно, что это также можетповлиять на точность расчетов.1265.Следующий пример связан с расчетом поля от многоугольника сплотностью, представляемой полиномом n-ой степени δ (ξ ,ζ ) = Pn (ξ ,ζ ) .Как было показано для такой модели поле G(s) представляется вследующем виде:⎧σ − s⎫G ( s ) = G ∑ ⎨Qn+1,ν ( s ) + (Ρn+1,ν ( s ) − Φ ( s , s ))ln ν +1⎬,σν − s ⎭ν =1 ⎩Nпричем Qn+1,ν ( s ) , Ρn+1,ν ( s ) , Φ ( s , s ) также представляют собой полиномы,зависящие от координаты расчетной точки s.
Как видно, для удаленныхточек здесь возникает ситуация аналогичной только что рассмотреннойнами, а именно, для удаленных точек, где поле близко по значению кнулю, результат будет вычисляться как сумма чисел, больших по своемузначению, что может привести к потере точности. Конечно, для небольшихстепеней полинома, это может и не проявиться, но, тем не менее, такойпуть расчета может являться источником ошибок. Для того чтобыуменьшить их влияние, следует проводить вычисления с числами двойнойточности. Кроме того, здесь стоит обратить внимание и на тот факт, чтокоэффициенты полинома, описывающие распределение плотности вмногоугольнике, будут зависеть от расположения многоугольникаотносительно начала координат.
С тем чтобы уменьшить значения этихкоэффициентов стоит предусмотреть возможность введения новойкоординатной системы, сдвинутой относительно исходной, и проводитьвычисления в этой координатной системе.Для вычисления поля в удаленных точках от тел конечных размеровможно предложить комбинированный алгоритм – на небольшихрасстояниях от объекта поле вычислять по точной аналитической формуле,а для удаленных точек использовать представление поля в виде ряда.6.Рассмотрим особенности вычисления поля с помощью рядов напримере расчета функции G(s). Как было показано, это поле можнопредставить в виде ряда:m n (σ 0 ),n +1n= 0 ( s − σ 0 )∞G ( s ) = −2iG ∑гдеm n (σ 0 ) = ∫ δˆ (σ ,σ )(σ − σ 0 ) n dS−комплексныймоментмассDотносительно точки σ0=ξ0+iζ0, δˆ (σ ,σ ) − комплексное представлениефункции распределения плотности в области D, создающейгравитационное поле. Этот ряд сходится абсолютно и равномерно внекруга с центром в точке σ0 и целиком содержащим область D.
Этоопределяет и выбор положения точки σ0. В частности, если требуется127обеспечить представление функции G(s) в виде представленного ряда,сходящимся всюду в верхней полуплоскости, включая и ось oX, приусловии, что область D находится в нижнем полупространстве, тооптимальное значение центра разложения σ0, ζ0<0 можно найти изрешения экстремальной задачи:ζ0ζ0== max .22σ0max σ − σ 0max (ξ − ξ 0 ) + (ζ − ζ 0 )σ ∈D( ξ ,ζ )∈DТакой выбор положения точки σ0 предполагает включение ввычислительный блок специальной процедуры по ее поиску.
В то же времядля каждой расчетной точки s положение центра разложения σ0 можетбыть своим.Таким образом, первый шаг в реализации такой программы – выборположения центра разложения σ0. Далее следует определиться сколичеством членов ряда p, необходимых для вычисления поля с заданнойточностью.