Численные методы : практикум в MathCad
Покупка
Издательство:
Вышэйшая школа
Год издания: 2019
Кол-во страниц: 255
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-985-06-2958-6
Артикул: 821302.01.99
Изложены задания и методические рекомендации по вычислительному практикуму дисциплины «Численные методы» с использованием системы компьютерной математики MathCad. Для студентов учреждений высшего образования по специальностям, предполагающим изучение численных методов. Будет полезно также для специалистов, применяющих компьютеры при решении научно-технических задач.
Тематика:
ББК:
УДК:
- 004: Информационные технологии. Вычислительная техника...
- 519: Комбинатор. анализ. Теория графов. Теория вер. и мат. стат. Вычисл. мат., числ. анализ. Мат. кибер..
ОКСО:
- ВО - Бакалавриат
- 01.03.01: Математика
- 01.03.04: Прикладная математика
- 02.03.01: Математика и компьютерные науки
- 09.03.01: Информатика и вычислительная техника
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
УДК 519.6-37:004.42(076.58) ББК 22.193я73 К79 Р е ц е н з е н т ы: кафедра высшей математики учреждения образования «Белорусский государствен ный аграрный технический университет» (заведующий кафедрой кандидат физико-математических наук, доцент А.А. Тиунчик); кафедра фундаментальной и прикладной математики учреждения образования «Гродненский государственный университет имени Янки Купалы» (доцент кафедры кандидат физико-математических наук, доцент В.Р. Мисюк) Кремень, Е. В. К79 Численные методы : практикум в MathCad : учебное пособие / Е. В. Кремень, Ю. А. Кремень, Г. А. Расолько. – Минск : Вышэйшая школа, 2019. – 255 с. : ил. ISBN 978-985-06-2958-6. Изложены задания и методические рекомендации по вычислительному практикуму дис циплины «Численные методы» с использованием системы компьютерной математики MathCad. Для студентов учреждений высшего образования по специальностям, предполагающим изучение численных методов. Будет полезно также для специалистов, применяющих компьютеры при решении научно-технических задач. УДК 519.6-37:004.42(076.58) ББК 22.193я73 ISBN 978-985-06-2958-6 © Кремень Е.В., Кремень Ю.А., Расолько Г.А., 2019 © Оформление. УП «Издательство “Вышэйшая школа”», 2019 Все права на данное издание защищены. Воспроизведение всей книги или любой ее части не может быть осуществлено без разрешения издательства.
Пособие подготовлено в соответствии с программой курса «Численные методы» и отражает в основном имеющийся в этой области опыт, а также опыт авторов в проведении вычислительного практикума и лабораторных занятий по дисциплине. Каждый раздел пособия содержит краткую теоретическую часть, описание мате матических методов решения задач, порядка выполнения работы в среде MathCad. Расположение материала, использование системы компьютерной математики (СКМ) на примере MathCad отличает данное пособие от традиционных. Характерная особенность пакета MathCad – применение привычных стандарт ных математических обозначений. MathCad является средой визуального программирования, т.е. документ на экране выглядит точно так же, как обычный математический расчет. Простота освоения пакета, дружественный интерфейс, невысокие требования к возможностям компьютера явились главными причинами того, что именно этот пакет был выбран нами для обучения. На примере наших разработок можно выполнять многие расчеты как в более ранних, так и в последующих версиях. Благодаря встроенным возможностям для численных и символьных вычислений и решения различных типов уравнений и неравенств эффективность MathCad особенно высока при изучении курса вузовской математики. Операторы программирования в MathCad, хотя и содержат основные конструкции языков высокого уровня, ориентированы скорее на усвоение начинающими пользователями СКМ общих принципов алгоритмизации, чем на разветвленное искусное программирование, без которого невозможно решение сложных прикладных задач, возникающих при изучении целого ряда дисциплин. Авторы выражают глубокую признательность члену-корреспонденту Националь ной академии наук Беларуси доктору физико-математических наук, профессору Л.А. Яновичу, доктору физико-математических наук В.М. Волкову за доброжелательную поддержку, ценные критические замечания и советы, способствовавшие улучшению нашей книги. Все отзывы и пожелания просим присылать по адресу: 220050, Минск, пр. Неза висимости, 4, кафедра веб-технологий и компьютерного моделирования, механикоматематический факультет, Белорусский государственный университет. Авторы
1 При численном решении математических и прикладных задач возникает три вида погрешностей. 1. Погрешность задачи, или неустранимая погрешность. Такая погрешность обус ловлена тем, что построение математической модели связано с упрощением изучаемого объекта, недостаточно точным заданием коэффициентов уравнений и других входных данных. По отношению к численному методу, реализующему данную математическую модель, указанная погрешность является неустранимой, поскольку неизбежна в рамках данной модели. 2. Погрешность метода. При переходе от математической модели к численному методу возникают погрешности, называемые погрешностями метода. Наиболее типичной погрешностью метода является погрешность дискретизации, связанная, например, с заменой исходной математической модели, сформулированной в виде систем дифференциальных уравнений, системой конечного (может быть, очень большого) числа линейных или разностных алгебраических уравнений. Этот тип погрешности возможно устранить при замене метода. 3. Погрешность округлений. При проведении расчетов на компьютере возникает погрешность округления. Так как входные данные дискретной модели задаются в компьютере не точно, а с округлением и выполнение практически всех арифметических операций происходит не точно, а с ошибками округлений, то полученное на компьютере решение будет отличаться от точного решения дискретной задачи. Определение 1.1. Округлением числа x a a a a a a n n = ± − − − 1 1 0 1 2 … , до s разрядов в за данной системе счисления называется операция замены этого числа таким числом, все разряды которого в той же системе счисления, начиная с s − ( ) 1 -го, являются нулевыми. В определении округления ничего не говорится ни о способе выполнения опера ции округления, ни о том, насколько округленное число близко к округляемому. Первый способ округления. Пусть в позиционной системе счисления с основани ем p в качестве базисных чисел выбраны числа 0 1 1 , ,..., . p− { } Рассмотрим положитель ное число x, представленное в виде p-ичной дроби: x a a a a n n s s = − − 1 1 … . В качестве результата выполнения операции округления числа x до s разрядов берется число x a a a s n n s = −1 0 … , получающееся при отбрасывании всех разрядов, начиная с s − ( ) 1 -го. Для ошибки округления в таком случае справедлива оценка x x p s s − ≤ . (1.1)
Равенство в оценке (1.1) достигается в том случае, когда во всех разрядах числа x, начиная с s − ( ) 1 -го, стоят числа p−1. Основное достоинство такого способа выполнения операции округления – про стота реализации. Недостатки: оценка ошибки округления вдвое больше, чем при традиционном способе округ ления, принятом, например, в десятичной системе счисления; ошибка округления всегда имеет один и тот же знак – противоположный округ ляемому числу, что приводит к быстрому накоплению погрешностей в вычислительных процессах. Второй способ округления. Числа, имеющие нулевые разряды, начиная с s − ( ) 1 -го, образуют на вещественной оси равномерную сетку с шагом ps. Среди этих чисел есть число xs*, наиболее близкое к x. Тогда x x p s s − ≤ * . 1 2 (1.2) Из геометрических соображений следует, что наилучшее приближение xs* к x будет единственным, если в соотношении (1.2) имеет место строгое неравенство, и таких приближений будет два, если имеет место равенство. Легко проверить, что x x x x p x p x x p x x p s s s s s s s s s s s * , , , , , = − < + − > + если если или 1 2 1 2 если x x p s s − = ⎧ ⎨ ⎪ ⎪⎪ ⎩ ⎪ ⎪ ⎪ 1 2 . (1.3) Замена числа x числом xs* является операцией округления, причем лучшей во мно гих отношениях. Однако по сравнению с ранее описанной операцией она имеет существенные недостатки: для реализации округления по формуле (1.3) необходимо выполнять операцию сложения приблизительно в половине случаев; так как округление осуществляется на компьютере после выполнения практически любой арифметической операции, то реализация округления согласно формуле (1.3) приводит к фактическому замедлению арифметических устройств компьютера; есть неоднозначность в выполнении операции округления, которая связана с третьим случаем в формуле (1.3), и она не так уж безобидна. В десятичной системе счисления принят следующий вариант округления: если старший отбрасываемый разряд меньше 5, то предшествующая ему цифра в числе не меняется ( , , x = 423 321567 x− = 2 423 32 * , , x− = 1 423 3 * , , x0 423 * , = x1 2 4 2 10 * , , = ⋅ x2 2 4 10 * ); = ⋅ если старший отбрасываемый разряд больше 5, то предшествующая ему цифра в числе увеличивается на единицу ( , , x = 423 321567 x− = 5 423 32157 * , , x− = 4 423 3216 * , ); если старший отбрасываемый разряд равен 5, то по общепринятому соглаше нию предшествующая ему четная цифра в числе не меняется, а нечетная цифра увеличивается на единицу ( , , x = 423 321567 x− = 3 423 322 * , , y = 423 322567 , , y− = 3 423 322 * , ). При записи округленного целого числа отброшенные знаки не следует заменять нулями, надо применять умножение на соответствующие степени 10.
П р и м е р 1.1. Пусть числа задаются в p-ичной системе счисления с базисными числами bk. Найти базисные числа такие, чтобы для всех чисел x выполнялось нера венство x x p s s − ≤ 1 2 . То есть в этой системе счисления с заданными bk операция округ ления, заключающаяся в отбрасывании всех разрядов, начиная s − ( ) 1 -го, будет не только самой простой, но и будет иметь наименьшую ошибку округления. Такие системы счисления называются сокращенными [4]. Решение. Пусть bk – базисные числа, bm – максимальное по модулю базисное число. Пусть x a a a n s s = − … 1 , тогда x a a s n s = … 0 и x x a a b b s s s m m − = ≤ ≤ − − 0 0 0 0 1 2 b p p b p p m s m s ≤ − ≤ − − − 1 1 1 1 . Потребуем, чтобы b p p p b p m s s m − ≤ ⇒ ≤ − ( ) 1 1 2 1 2 1 . Так как ба зисных чисел p штук, то p – нечетное число и b k p k = + − 1 2 2 , k p = − 0 1 1 , ,..., . Напри мер, при p = 3 базисные числа bk ∈ − { } 1 0 1 , , , при p n = + 2 1 базисные числа bk ∈{0, n n ± ± ± − ± } 1 2 1 , ,..., ( ), . Пусть a – есть точное значение величины, a* – ее приближенное значение. Определение 1.2. Разность ε = − a a* называется погрешностью приближенного зна чения a*. Определение 1.3. Верхнюю грань абсолютной величины погрешности приближенного значения a a a − = ≤ * * ε Δ называют абсолютной погрешностью числа a*. Определение 1.4. Число δa a a a a a * * * * * = − = Δ называется относительной погрешностью числа a*. Казалось бы, более правильно определить относительную погрешность как от ношение абсолютной ошибки к точному значению, но обычно точное значение нам неизвестно. Абсолютную и относительную погрешности числа принято округлять только в большую сторону. По этой причине вычисления ведут с одним-двумя запасными знаками. Определение 1.5. Значащими цифрами числа называют все цифры в его записи, на чиная с первой ненулевой слева. В приведенных ниже примерах значащие цифры подчеркнуты: x =123 205703 , – все цифры (в том числе и нули) значащие; x = 0 000193 , – значащие только 1, 9, 3. Первые четыре нуля не являются знача щими, они определяют положение значащих цифр 1, 9, 3. Поэтому число x можно переписать в виде 1 93 10 4 , ; ⋅ − x =1850000 – все семь цифр, включая последние четыре нуля, значащие; x = ⋅ 1 85 106 , – значащие только три цифры: 1, 8, 5; x = ⋅ 1 8500 106 , – значащими являются пять цифр: 1, 8, 5 и два нуля. Определение 1.6. Значащая цифра называется верной, если абсолютная погрешность числа не превосходит половины единицы разряда, соответствующего этой цифре. П р и м е р 1.2. Пусть Δa* = ⋅ − 3 10 6, тогда число a* , = 0 0207000 имеет четыре верные значащие цифры (они подчеркнуты).
Следует особо отметить, что широко распространенной ошибкой при записи приближенных чисел является отбрасывание последних значащих нулей (даже если они представляют собой верные цифры). П р и м е р 1.3. Дан ряд an n= ∞ ∑ 0 , где a n n n = + + 72 5 4 2 . Найти сумму ряда аналитически. Вычислить значения частичных сумм ряда S N an n N ( ) = =∑ 0 , найти величину абсолютной погрешности при значениях N k =10 , k =1 10 , и определить количество верных цифр в S N ( ). Решение. Аналитическое решение задачи: S N n n n n n n n N n N ( )= + + = + + = ⋅ + − + ⎛ ⎝⎜ ⎞ ⎠⎟ = = ∑ ∑ 72 5 4 72 1 4 72 1 3 1 1 1 4 2 0 0( )( ) = = + + − + − + − + ⎛ ⎝⎜ ⎞ ⎠⎟ =∑ n N N N N 0 24 1 1 2 1 3 1 2 1 3 1 4 . Тогда S S N N = = →∞ lim ( ) . 44 Решение в MathCad: SS N ( ) 0 N n 72 n2 5 n ⋅ + 4 + = := SN ∞ N SS N ( ) lim → 44 → := 72 n2 5 n ⋅ + 4 + parfrac 24 n 1 + 24 n 4 + − → 0 N n 24 n 1 + 24 n 4 + − = simplify 4 N 1 + ( ) ⋅ 11 N2 ⋅ 70 N ⋅ + 108 + ( ) ⋅ N 2 + ( ) N 3 + ( ) ⋅ N 4 + ( ) ⋅ → 4 N 1 + ( ) ⋅ 11 N2 ⋅ 70 N ⋅ + 108 + ( ) ⋅ N 2 + ( ) N 3 + ( ) ⋅ N 4 + ( ) ⋅ parfrac 44 24 N 3 + − 24 N 4 + − 24 N 2 + − → S N ( ) 44 24 N 3 + − 24 N 4 + − 24 N 2 + − := i 1 10 .. :=
S 10i ( ) 38.44 43.301 43.928 43.993 43.999 44 44 44 44 44 = SN S 10i ( ) − 5.56 0.699 0.072 -3 7.198·10 -4 7.2·10 -5 7.2·10 -6 7.2·10 -7 7.2·10 -8 7.2·10 -9 7.2·10 = Результаты вычислительного эксперимента представлены в табл. 1.1. Таблица 1.1 N S N ( ) S –S N ( ) Количество верных цифр 10 38,44 5,57 0 102 43,30 0,7 1 103 43,929 0,072 2 104 43,9928 0,0072 3 105 43,99928 0,00072 4 106 43,999928 0,000072 5 107 43,9999928 7,2 ⋅ 10–6 6 108 43,99999928 7,2 ⋅ 10–7 7 109 43,999999928 7,3 ⋅ 10–8 8 1010 43,9999999928 7,3 ⋅ 10–9 9 Как видно из приведенных результатов вычислительного эксперимента, увели чение числа членов ряда в 10 раз по сравнению с предыдущим случаем увеличивает число верных цифр в ответе на единицу.
1. В табл. 1.2 даны приближенное число и его абсолютная погрешность. Найти количество верных знаков числа. Таблица 1.2 № п/п a* Δa* № п/п a* Δa* № п/п a* Δa* 1 23,587 0,08 7 13,58 0,07 13 103,58 0,03 2 323,07 0,06 8 43,837 0,008 14 16,402 0,009 3 31,541 0,003 9 13,42 0,03 15 137,5 0,08 4 3457,0 0,6 10 4657 8 16 16,47 0,07 5 1655 6 11 13,540 0,006 17 134 20 6 130,6 0,06 12 1,2356 0,08 18 1345,37 6 2. Дан ряд an n= ∞ ∑ 0 (табл. 1.3). Найти сумму ряда аналитически. Вычислить значения частичных сумм ряда S N an n N ( ) = =∑ 0 , найти величину абсолютной погрешности при значениях N k =10 , k =1 10 , , и определить количество верных цифр в S N ( ). 3. Составить программу, моделирующую вычисления на компьютере с ограни ченной разрядностью m. Решить задачу 2 для случая N k =10 , k =1 10 , , используя эту программу. Составить график зависимости погрешности от количества разрядов m = 4, 5, 6, 7, 8. Таблица 1.3 № п/п an № п/п an № п/п an 1 2 5 6 2 n n + + 7 180 20 99 2 n n + + 13 3 9 45 2 n n + + 2 9 7 12 2 n n + + 8 36 7 10 2 n n + + 14 144 18 80 2 n n + + 3 48 8 15 2 n n + + 9 20 4 3 2 n n + + 15 60 6 8 2 n n + + 4 112 15 16 63 2 n n + + ( ) 10 48 5 6 5 2 n n + + ( ) 16 72 5 6 8 2 n n + + ( ) 5 60 11 12 35 2 n n + + ( ) 11 84 13 14 48 2 n n + + ( ) 17 144 5 6 8 2 n n + + ( ) 6 96 9 20 2 n n + + 12 32 5 6 2 n n + + 18 72 7 10 2 n n + +
Любое ненулевое число x можно записать в виде x ap a p a p a p p b t t b = ± = ± + + + ⎛ ⎝⎜ ⎞ ⎠⎟ − − − 1 2 2 ... , (1.4) p a − ≤ < 1 1, (1.5) где p – основание системы счисления, b L U ∈[ ] , – целое число, которое называют по казателем, a i t i − = ( ) 1 2 , ,..., – целые числа из множества 0 1 1 , ,..., . p− { } Число a представляется в форме числа с фиксированной запятой и называется мантиссой числа x, число b называется порядком (показателем) числа x. В виде формулы (1.4) можно представить любое число, кроме нуля. Единственность представления формулы (1.4) обеспечивается условием нормировки (1.5). Число 0 обычно изображается числом с нулевой мантиссой, порядок этого числа не определен, и в различных компьютерах его величина может быть различной. Таким образом, множество чисел F с плавающей запятой характеризуется четырь мя параметрами: основанием системы счисления p, числом разрядов t, отводимых для хранения мантиссы a, и интервалом показателей L U , . [ ] Если для каждого ненулевого x F ∈ справедливо a− ≠ 1 0, то множество F называется нормализованным и для ман тиссы a выполняется оценка (1.5). Множество F не является континуумом или даже бесконечным множеством. В нем ровно 2 1 1 1 1 p p U L t − ( ) − + ( )+ − чисел. Они располо жены неравномерно на числовой оси. Равномерность расположения имеет место лишь при любом фиксированном показателе. Поскольку F – конечное множество, то с его помощью невозможно сколько-нибудь детально отобразить континуум действительных чисел. Более того, нельзя представить числа с модулем большим, чем максимальное число из множества F, и числа с модулем меньшим, чем минимальное положительное число из множества F. Наконец, каждое число из F должно представлять целый интервал действительных чисел. Представим, например, все неотрицательные числа из множества F для p = 2, t = 3, L = −1, U = 4: Для наглядного изображения неравномерности размещения чисел с фиксирован ной запятой на числовой оси приведем рисунок для p = 2, t = 3, L = −1, U = 2: −7 2 −1 2 –2 –1 −1 4 0 1 4 1 2 1 2 7 2 0, 1 4, 5 16, 3 8, b = –1 1 2, 5 8, 3 4, 7 18, b = 0 1, 5 4, 3 2, 7 4, 2, 5 2, 3, 7 2, 4, 5, 6, 7, 8,10,12,14, b = 1 b = 2 b = 3 b = 4 7 16, .