Главная » Просмотр файлов » 1626435587-51311eae4652e8ad616b5bdef025cbb3

1626435587-51311eae4652e8ad616b5bdef025cbb3 (844239), страница 6

Файл №844239 1626435587-51311eae4652e8ad616b5bdef025cbb3 (Смирнов 2015 - Основы вычислительной физики ч1) 6 страница1626435587-51311eae4652e8ad616b5bdef025cbb3 (844239) страница 62021-07-16СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 6)

Как убывает исследуемая разность с ростом ?5. Исследуйте с помощью gnuplot абсолютную и относительную погрешность∫︀ ∞ − аппроксимации Гамма-функции Эйлера Γ( + 1) = частичными суммами ряда Стирлинга0)︂(︁ )︁ (︂√−2139−3571−4−1+−−+ ... .Γ(+1) = 21+122885184024883206. Исследуйте с помощью gnuplot абсолютную и относительнуюпогрешность аппроксимации дополнительной функции ошибокerfc = 1 − erf частичными суммами асимптотического разложения2erfc = √∫︁∞−22∞− ∑︁ Γ( + 12 ) (︀ 2 )︀−−. ∼ √ =0 Γ( 12 )7.

Исследуйте с помощью gnuplot абсолютную и относительную погрешность аппроксимации функции Эйри (airy) при → −∞главным членом асимптотики(︂)︂2 3/2 1√cos||−.Ai ∼34||1/4 8. Выполните команду plot [0:99][-1.5:1.5] cos(2*x*pi), объясните полученный результат. Что нужно сделать, чтобы графиксоответствовал интуитивным ожиданиям?9. Используя данные из файла, полученного в упражнении 1, в качестве начальных условий (, 0), постройте в gnuplot графики точного решения уравнения Хопфа − = 0 при =0, 0,5, 1,0, 1,513 .13 Напомним, что точное решение квазилинейного уравнения Хопфа может бытьполучено методом характеристик в неявном виде (, ) = ( − ).2710. Используя скрипты gnuplot вместо соответствующих программна языке Си, выполните упражнение № 1 на с.

40; № 5 на с. 55;№ 3 на с. 68.2. Машинные числаВ повседневной практике мы настолько привыкли иметь дело с числами, что кажется совершенно невероятным встретить в этой областичто-то нетривиальное. И тем не менее, близкое знакомство с вычислениями на ЭВМ способно преподнести немало сюрпризов. Законы машинной арифметики, как будет показано ниже, неизбежно отличаютсяот тех, к которым мы привыкли с первых классов школы. Погрешностиокругления, которые на первый взгляд кажутся ничтожными по сравнению с привычными масштабами точности данных, могут приводитьк катастрофическим последствиям — сбоям в программе и ответам безединой верной цифры.

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

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

Вопрос о конкретных пределах иограничениях не имеет однозначного ответа, поскольку зависит от способа представления чисел, используемого в программе. Мы ограничимся использованием стандартных типов данных, поддерживаемых какязыком Си, так и современными процессорами. Однако возможно применение дополнительных библиотек для работы с числами более высокой разрядности. Такой подход используется на практике для решениязадач, где ограничения, накладываемые стандартными типами данных,оказываются неприемлимыми. Вычисления с более высокой точностьюреализованы в системе Wolfram Mathematica, а также в ряде библиотек C/C++, таких как GNU GMP (GNU multiple precision arithmeticlibrary), GNU MPFR (GNU Multiple Precision Floating-Point Reliably)28и boost/multiprecision. Предельная точность вычислений определяетсяпри этом объёмом доступной памяти и требуемой скоростью расчётов.2.1.

Целые числаВсе данные хранятся в памяти компьютеров в двоичном виде, представляя собой последовательность, каждый из которых можетпринимать значения 0 или 1. Количество целых чисел, которое может кодировать последовательность { } из бит, есть, очевидно, 2 .Интерпретация последовательности из бит как беззнакового числа∑︀2 позволяет кодировать числа от 0 до 2 −1, для чисел со знаком —от −2−1 до 2−1 − 1.

Кодирование отрицательных чисел реализованос использованием так называемого: отрицательное число − записывается как положительное 2 − , дополняющееего до последовательности нулей длиной . На первый взгляд такойспособ кодирования отрицательных чисел может показаться несколькостранным. Заметим, однако, что при этом арифметические операциипроводятся над группой остатков от деления mod 2 . При этом сложение и вычитание выполняются одинаково для знаковых и беззнаковыхчисел, отличия в умножении и делении также незначительны.Например, число −110 кодируется в ЭВМ последовательностью11 .

. . 12 (здесь и далее в этой главе нижним индексом после числамы будем обозначать основание системы счисления). Та же самая последовательность битов соответствует наибольшему беззнаковому битовому целому числу. Результат сложения 11 . . . 12 + 00 . . . 012 =00 . . . 002 = 0. Для чисел со знаком это соответствует −110 + 110 = 0.При сложении беззнаковых чисел должно получиться ( + 1)-значноедвоичное число 100 . .

. 002 , однако первый единичный бит выходит запределы -значной разрядной сетки — происходитцелочисленной переменной, и в качестве результата в целочисленной переменной сохраняются последние нулевых битов.Аналогично, число −210 кодируется последовательностью 1 . . . 1102 ,−310 соответствует 11 . . . 11002 и т. д. Самое большое по модулю отрицательное число равно −2−1 и кодируется последовательностью битов 100 .

. . 0002 . Признаком отрицательного числа при использованиидополнительного кода является 1 в старшем двоичном разряде (при вычислении в десятичных числах старший разряд отрицательных чиселлежит в диапазоне от 5 до 9 включительно).Существует целый ряд типов данных, предусмотренных стандартом языка Си и поддерживаемых современными процессорами: shortint, int, long int, long long int, а также их беззнаковые (unsigned)битовдополнительного кодапереполнение29модификации14 . Количество байтов15 , используемое для хранения переменной каждого типа, можно узнать с помощью ключевого словаsizeof языка Си. Разрядность целочисленных типов не регламентируется жёстко стандартом Си и может меняться в зависимости от компилятора и системы.

Стандартом предписывается лишь, что каждыйследующий тип из перечисленных выше имеет по крайней мере не меньшую разрядность, чем предшествующие16 .2.2. Дробные числаДля кодирования дробных чисел можно использовать различныеподходы. Например, можно представлять дробное число в виде отношения двух целых /, сохраняя в памяти ЭВМ пару (, ). Данный способнеудобен ввиду большой избыточности кода (так, числа (1, 1), (2, 2) и(, ) при ̸= 0 соответствуют одному и тому же числу 1,0), а также относительной сложности выполнения арифметических операцийнад дробными числами. Избавиться от указанных недостатков можно,используя в качестве делителя предопределённую константу.

В этомслучае любое дробное число (/) полностью и однозначно определяется делимым ; сложение и вычитание ничем не отличается от операцийнад целыми числами, умножение и деление лишь немногим сложнее(содержат одну дополнительную операцию по сравнению с целочисленной арифметикой). Данный формат записи дробных чисел называется записью(или)ввиду того, что запись дробной части числа всегда имеет фиксированное число знаков. Эта особенность и определяет применимость такогоформата: его следует использовать, когда требуемаяточность вычисления фиксирована и не зависит от результата. Характерным примером являются финансовые расчёты, которые всегда выполняются до копеек, идёт ли речь о покупке коробка спичек или бюджете страны.

В финансовых расчётах невозможно зафиксироватьточность расчётов: при увеличении суммы это приведётк появлению значительныхпогрешностей, что неизбежно вызовет недовольство как минимум одной из сторон финансовыхотношений.с фиксированной точкойфиксированной запятойабсолютнаяносительнуюот-абсолютныхСтрого говоря, signed char и unsigned char также являются целочисленнымитипами[C5], однако для численных расчётов они вряд ли понадобятся.15 1 байт = 8 бит.16 Также стандартом предусмотрены опциональные целочисленные типы данныхstd::int8_t, std::int16_t, std::int32_t и std::int64_t, см.

заголовочный файл<cstdint>.1430В противоположность этому, в научных и инженерных расчётах,как правило, фиксирована именно относительная погрешность. Не такважно, измеряем ли мы длину лабораторного стола или расстояниемежду городами, — допустимые погрешности зачастую будут одногопорядка величины. Если попытаться использовать в научных и инженерных расчётах числа с фиксированной точкой (запятой), возникнетпроблема с записью «слишком больших» чисел (наподобие числа Авогадро = 6,02 · 1023 моль−1 ) и неотличимостью от нуля «слишкоммаленьких» чисел (наподобие постоянной Планка ~ = 1,05·10−27 эрг·с).Выходом из ситуации служит использование в научных расчётах(с). Данный формат подразумевает отдельную записьи. Например, длязаписи числа 1,05 · 10−27 необходимо сохранять мантиссу 1,05 и показатель −27. Основание системы счисления (в данном примере равноедесяти, для современных ЭВМ — двум) можно не сохранять, т.к.

оноодинаково для всех записываемых чисел.Одна из проблем, которую необходимо было решить для эффективного использования чисел с плавающей точкой в ЭВМ, связана с неоднозначностью их записи. Действительно, одно и то же число 1,05·10−27допускает различные способы записи: 1,05 · 10−27 = 10,5 · 10−28 =0,105 · 10−26 = . . .. Избыточность кода неизбежно приводит к неэффективному использованию памяти ЭВМ и снижению быстродействия.Решением проблемы является использованиеформызаписи чисел с плавающей точкой, в которой целая часть числа записывается ровно одной цифрой, отличной от нуля: ~ = 1,05 · 10−27 эрг·с, = 2,998 · 1010 см/с, = 3,14 · 100 и т.

Характеристики

Тип файла
PDF-файл
Размер
1,98 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6353
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее