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

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

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

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

Достичь существенного выигрыша в скорости интегрирования жёстких систем можно с использованием неявных схем, обладающих абсолютной устойчивостью.Дополнительную информацию по интегрированию ОДУ и их системможно найти в [2, гл. 8]. Достаточно подробное рассмотрение вопросов, связанных с устойчивостью решений и жёсткими системами можно найти в [A8, гл. 8]. Пяти- и шестичленные формулы Рунге — Куттыможно найти в [A1, c.

277]. Последовательное рассмотрение смежныхвопросов, важных для построения эффективной и надёжной программы для численного интегрирования ОДУ, — инициализации, контроляшага интегрирования и порядка точности метода, контроля ошибкирезультатов, проверок корректности — можно найти в [A1, гл.

9.3].Упражнения1. Построить численное решение уравнения ˙ = − с начальнымусловием (0) = 1 на отрезке 0 ≤ ≤ 3 методами Эйлера и Рунге — Кутты второго порядка точности. Исследовать зависимостьпогрешности численного решения () при фиксированном шагесетки ℎ, а также зависимость (ℎ) при = 3.2. Пушечное ядро (шар = 2 кг = 7,5 см) выпущено из рельсового ускорителя с начальной скоростью u = 2 км/с, направленнойпод углом к горизонту.

Считая, что плотность атмосферы убывает экспоненциально с высотой (ℎ0 = 10 км, 0 = 1,3 кг/м3 ),найти максимальную дальность полёта ядра как функцию . Сопротивление воздуха = 0,47 · 21 2 · 2 , = 0 exp(−ℎ/ℎ0 ).3. Найти минимальную добавку к скорости, которую необходимо107сообщить зонду на околоземной орбите, чтобы он достиг орбиты Урана, учитывая только гравитационное притяжение Солнца и Земли. Рассчитать отклонение афелия зонда, запущенногок Урану с найденной скоростью, вызванное притяжением другихпланет Солнечной системы. Для простоты считать, что движениепланет и зонда происходит строго в плоскости эклиптики. Дляопределения координат планет использовать доступные в сетиИнтернет эфемериды с открытым исходным кодом (см. ephemerissource code в Google), либо (в простейшем случае) выбрать начальные угловые координаты планет случайным образом.4.

Исследовать движение неуправляемого космического аппарата водной из точек Лагранжа системы Солнце — Земля. Через какоевремя аппарат покинет точку Лагранжа из-за возмущений, вызванных притяжением других планет и Луны? Можно ли удерживать искусственный спутник массой 0.5 т в точке Лагранжа,используя электрический ракетный двигатель с тягой 0.1 Н?5. Используя неявную схему Эйлера, решить жёсткую систему уравнений (95) на с. 103.6. Решить систему (95) на с. 103, используя явный метод Эйлера иметод Рунге — Кутты четвёртого порядка.

Сравнить время интегрирования указанными методами с временем выполнения программы в упражнении 5.7. Используя методы Рунге — Кутты второго и четвёртого порядка,исследовать колебания физического маятника ¨ + (/) sin = 0.Найти зависимость периода колебаний от амплитуды. Сравнить сизвестными выражениями для гармонических колебаний и ангармонического осциллятора и с результатом упражнения 9 на с.

69.Меняя шаг временно́й сетки, построить зависимость погрешностирезультата от затраченного машинного времени для различныхметодов интегрирования ОДУ.108Рекомендации по написанию программ1. Необходимо проверять результаты работы программы на разумность, предельные случаи, согласие с аналитическими решениямитам, где они могут быть получены. Ценность программы, котораякомпилируется и «что-то» считает, близка к нулю.2. Все константы, соответствующие физическим величинам и расчётным параметрам, должны быть объявлены в виде отдельныхпеременных (в том числе со спецификатором const) либо с помощью директивы препроцессора #define://Под MSVC используйте #define _USE_MATH_DEFINES перед//подключением <math.h> !printf("Circle length: %f\n", 3.14159*r); //ПЛОХОЙ СПОСОБprintf("Circle length: %f\n", M_PI*r);//ВЕРНОЕ РЕШЕНИЕ3. Ставьте точки при целочисленных константах, используемых привычислениях величин с плавающей точкой:const double x = 2/3;const double y = 2./3;//x будет равен нулю!//y будет равен двум третям4.

Минимизируйте повторяющийся программный код, выносите егов отдельные функции, тестируйте их работу и затем используйтеповторно. Помните: грамотно спроектированную и разбитую налогические блоки программу отлаживать значительно легче.5. Используйте форматирование кода для улучшения его читаемости — это позволит сократить число ошибок в программе [C7,гл.

1]:http://ru.wikipedia.org/wiki/Стандарт_оформления_кодаhttp://ru.wikipedia.org/wiki/Спагетти-код6. Используйте графики для анализа полученных результатов. Какправило, графическая информация воспринимается человекомгораздо легче и быстрее чисел.7. Если программа работает неправильно, и ошибку не удаётся найти внимательным чтением исходного кода, добавьте вывод отладочных сообщений (значений переменных, сеточных функций ит. п.), либо используйте пошаговое выполнение в отладчике, вручную проверяя результаты промежуточных вычислений.1098. Перед тем как вносить в программу сколько-нибудь серьёзныеизменения, а также каждый раз после получения значимого результата, обязательно сохраните резервную копию! Использование систем контроля версий (например, git) позволит не толькосэкономить время и силы на поиск внезапно возникших проблемс программой, которая «только что работала», но и упростит повторение полученных ранее результатов, необходимость чего регулярно возникает в научных исследованиях.Упражнения1.

Что напечатает следующая программа, написанная на языке Си?Введите текст программы в файл с расширением .c, скомпилируйте и запустите его:#define v putchar#define print(x) main(){v(4+v(v(52)-4));return 0;}/*#>+++++++4+[>++++++<-]>++++.----.++++.*/print(202*2);exit();#define/*>.@*/exit()2. Проверьте, что программа корректно выполняется интерпретаторами языков программирования Perl, Python, Ruby, Befunge, BF.3. Сравните стиль собственных программ с кодом из упражнения 1.110Рекомендованная литература[1]Керниган Б. У., Ритчи Д. М.Вильямс, 2012.

289 с.Язык программирования C. М.:Калиткин Н. Н. Численные методы. М.: Наука, 1978. 512 с.[3] Самарский А. А. Введение в численные методы. М.: Наука, 1987.[2]286 с.[4]Press W. H., Teukolsky S. A., Vetterling W. T., Flannery B. P.Numerical recipes The art of scientific computing. N. Y.: CambridgeUniversity Press, 2007.Дополнительная литература и Интернетресурсы[A1]Rice J. R.Numerical methods, software, and analysis. N. Y.:McGraw-Hill, 1983.[A2] Gnuplot homepage.

URL: http://www.gnuplot.info/[A3][A4]Phillips L.Ltd., 2012.Gnuplot Cookbook. Birmingham: Packt PublishingJanert P. K.Gnuplot in action: understanding data with graphs.Greenwich CT USA: Manning, 2010.[A5] 14882 ISO/IEC. C++ International standard. Geneva: ISO, 2011.[A6][A7][A8][A9]Severance C.An interview with the old man of floatingpoint. Reminiscences elicited from William Kahan, 1998. URL:http://www.cs.berkeley.edu/∼wkahan/ieee754status/754story.htmlGoldberg D. What every computer scientist should know aboutfloating-point arithmetic // ACM Computing Surveys.

1991. V. 23.N. 1. P. 5–48.Каханер Д., Моулер Д., Нэш С.Численные методы и программное обеспечение. М.: Мир, 2001. 575 с.Кнут Д. Э. Искусство программирования. Т.2: Получисленныеалгоритмы. М.: Вильямс, 2000. 828 с.111[A10]Самарский А. А., Гулин А. В. Численные методы.

М.: Наука,[A11]Форсайт Дж., Малькольм М., Моулер К.1989. 429 с.Машинные методыматематических вычислений. М.: Мир, 1980. 279 с.Литература и Интернет-ресурсы по языкамСи/Си++[C1]Керниган Б. У., Ритчи Д. М.[C2]Шилдт Г. Полный справочник по C++. М.: Вильямс, 2007. 800 с.Вильямс, 2012.

289 с.Язык программирования C. М.:[C3] Справочник по C++. URL: http://cppreference.com/[C4] Статьи, уроки и справочная информация по C/C++. URL:http://www.cplusplus.com/[C5] 14882 ISO/IEC. C++ International standard. Geneva: ISO, 2011.[C6]Страуструп Б. Язык программирования C++. М.: Бином, 2012.[C7]Керниган Б., Пайк Р.1135 с.льямс, 2004. 287 с.Практика программирования. М.: Ви-112Учебное изданиеСмирнов Сергей ВалерьевичОСНОВЫ ВЫЧИСЛИТЕЛЬНОЙ ФИЗИКИЧасть IУчебное пособиеРедактор Т. Ю. СедыченкоПодготовка к печати С. В.

ИсаковаПодписано в печать 25.09.2015Формат 60x84 1/16. Уч.-изд. л. 7. Усл. печ. л. 6,6Тираж 200 экз. Заказ №Редакционно-издательский центр НГУ630090, г. Новосибирск, ул. Пирогова, 2.

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

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

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

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