Главная » Просмотр файлов » Гурский Д., Турбина Е. - Вычисления в MathCad 12

Гурский Д., Турбина Е. - Вычисления в MathCad 12 (1077322), страница 100

Файл №1077322 Гурский Д., Турбина Е. - Вычисления в MathCad 12 (Гурский Д., Турбина Е. - Вычисления в MathCad 12) 100 страницаГурский Д., Турбина Е. - Вычисления в MathCad 12 (1077322) страница 1002018-01-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Решение ОДУ третьего порядка (рис. 14.4)Given'"(t) + y"(t) + y'(t) + y(t) = -t-sin(t)y"(0) = 2y'(0)=ly(0)=0у :=odesolve(t,30,30000)200 т~ . /\10y(t)-200 -1tРис. 14.4. Модель резонирующей колебательной системыИзучая пример 14.8, вы, наверное, заметили, что дифференциальное уравнение в немзадано иначе, чем в примере 14.7. Вообще же, обе эти формы абсолютно эквивалентны,14.2.

Численное решение ОДУ в форме задачи Коши * 4 4 7и выбор одной из них должен определяться прежде всего вашими предпочтениямии той областью, к которой относится решаемое уравнение.Важным условием успеха при численном решении дифференциальных уравнений является правильный выбор величины шага. Так, если он будет определен недостаточномалым, то найденное решение может быть весьма и весьма далеким от истинного. Приведем пример ошибочного решения ОДУ при слишком большой ширине шага.Пример 14.9.

Осцилляция при недостаточно малой длине шага (рис. 14.5)Giveny'(t) = l -у(5) = 5y:=odesolve(t,50,10)yl:=odesolve(t,50,1000)'82-Ш т.0000000520tРис. 14.5. Ошибочное (слева) и верное (справа) решение дифференциального уравненияКонечно, в приведенном примере возникшая ошибка (см. рис. 14.5) связана с искусственно завышенной длиной шага, и даже при использовании его величины, принятойпо умолчанию (step=0.1), решение было бы найдено верно.На практике бывает необходимо решать такие дифференциальные уравнения, нужноезначение шага для которых может быть совсем не очевидно (и step=0.1 для них будетпорождать еще более значительные колебания или отклонения, чем step=4.5 в примере 14.9).

В тех случаях, когда у вас возникают сомнения в верности заданной вами длине шага, вы можете руководствоваться следующим простым правилом: ее можно принять как корректную, если уменьшение ее величины в 10 раз не приводит к изменениюрезультата в некоторой точке в пределах количества десятичных знаков, отвечающегонужному уровню точности.Как уже было отмечено выше, по умолчанию вычислительный блок Given-Odesolve использует популярный метод Рунге-Кутта 4-го порядка с постоянным шагом. ОднакоMathcad позволяет сменить его при необходимости на так называемый адаптивныйалгоритм (adaptive) или алгоритм решения жестких систем (stiff).

Чтобы это сделать,щелкните правой кнопкой мыши на функции odesolve. В открывшемся при этом контекстном меню переместите флажок из строки Fixed (Фиксированный) в строку Adaptive(Адаптивный) или Stiff (Жесткий). Отличие адаптивного метода от простого алгоритма Рунге-Кутта состоит в том, что используемая им длина шага не постоянна, а зависитот скорости изменения функции результата (что определяется, в частности, величиной4 4 8 • Глава 14.

Дифференциальные уравненияпервой производной). Такой подход может быть более эффективен в случае не слишком хорошо подобранного пользователем шага, а также для решения сложных дифференциальных уравнений с быстро изменяющимися и осциллирующими функциями решений. Если же вам нужно решить жесткую систему уравнений или систему,содержащую алгебраические ограничения, следует воспользоваться методом Stiff(рис. 14.6).у := odesolv)*'* W 1 rh IFixedРис. 14.6. Смена используемого численного метода14.2.2. Решение ОДУ с помощью встроенных функцийВ более старых версиях Mathcad для решения ОДУ использовались специальныевстроенные функции. Однако с появлением более наглядного и простого способа, связанного с применением вычислительного блока Given-Odesolve, они уже не представляют особой практической важности.

Несмотря на это, о возможности их применениядля решения одинарного ОДУ нужно иметь четкое представление, так как в некоторых случаях (например, в программировании) использовать вычислительный блокнельзя.Так как для решения одного дифференциального уравнения соответствующие встроенные функции применяются редко, то подробно описывать их в этом разделе мы небудем и сразу приведем соответствующий пример (в случае необходимости читательбез труда в нем разберется). Обстоятельно же об указанных функциях мы поговоримв разделе, посвященном решению систем ОДУ.Пример 14.10.

Альтернативный метод решения ОДУ (рис. 14.7)уО:=1М:=100D(t,y):=sin(t)-yxl:=0yl :=rkfixed(yO,xl,x2,M,D)х2:=10y2:=Bulstoer(yO,xl,x2,M,D)уЗ :=Rkadapt(yO,xl,x2,M,D)14.2. Численное решение ОДУ в форме задачи Коши * 4 4 910yl=012300.10.20.310101.005 у2 = 11.0221.046300.10.20.31011.005 уЗ=1.021.046012300.10.20.311.0051.021.046Рис. 14.7. График решения ОДУ, полученного с помощью встроенной функции rkfixedПрименять приведенные встроенные функции можно лишь для решения дифференциальных уравнений первого порядка, как линейных, так и нелинейных. Найти же с ихпомощью решение уравнения более высокого порядка, в отличие от использования блока Given-Odesolve, непосредственным образом невозможно. Впрочем, это можно сделать,сведя указанное уравнение к системе дифференциальных уравнений. Приведем пример решения ОДУ второго порядка с помощью вычислительного блока и встроеннойфункции rkfixed (реализующей метод Рунге-Кутта четвертого порядка с фиксированным шагом).Пример 1 4 .

1 1 . Альтернативные способы решения ОДУ второго порядка(рис. 14.8)Вычислительный блок:GivenУ(0)=1У'(О)=3z:=odesolve(t,5,100)Сведение к системе ОДУ:у:=D(t,y):=у + 2уr:=rkfixed(y,0,5,100,D)04 5 0 • Глава 14. Дифференциальные уравненияtг<о>Рис. 14.8. Альтернативные решения ОДУ, полученные с помощью вычислительного блокаи встроенной функцииИзучив пример 14.11, вы, наверное, согласитесь, что решать дифференциальные уравнения, особенно высокого порядка, гораздо проще и лучше с помощью вычислительного блока, чем встроенных функций. Действительно, зачем выполнять лишнюю, иногда весьма сложную и объемную, работу по разложению уравнения в систему ОДУ, еслиэто отлично может сделать и сама программа.

К тому же решение при использованиивычислительного блока получается гораздо более наглядным и доступным пониманиюдля не владеющего Mathcad человека, чем при применении системных функций с ихзапутанным синтаксисом. Поэтому, на мой взгляд, прибегать к встроенным функциямдля решения ОДУ стоит лишь в том случае, если использовать блок Given-Odesolve невозможно.14.2.3. Системы ОДУНачиная с 11 версии Mathcad возможности вычислительного блока Given-Odesolve значительно расширились.

Теперь с его помощью можно находить численные решения нетолько ОДУ, но и их систем. Как и к ОДУ, к уравнениям системы предъявляются следующие требования: каждое из них должно быть линейным (высшая производная недолжна содержать каких-либо сомножителей) и иметь соответствующее количествоначальных или граничных условий.К сожалению, вычислительный блок не может решать системы нелинейных дифференциальных уравнений.

Однако в Mathcad имеются специальные встроенные функции,позволяющие находить решения как линейных, так и нелинейных систем ОДУ. Всеготаких функций три.• Rkfixed(yO,tO,tl,M,D). Задействовав эту системную функцию, можно решить задачуКоши с помощью, пожалуй, самого популярного из численных алгоритмов: методаРунге-Кутта 4-го порядка с фиксированным шагом.

Эта функция подходит длякачественного и быстрого решения подавляющего большинства систем ОДУ.• Rkadapt(yO,tO,tl,M,D). Эта функция реализует адаптивный алгоритм Рунге-Кутта. Еепринципиальным отличием от rkfixed является то, что при вычислении соответствующих приближений она использует не постоянный, а зависящий от скорости изменения функций решения шаг дискретизации переменной. Однако, несмотря на это,в качестве ответа Rkadapt возвращает значения функций в равномерно распределенных, исходя из заданной пользователем величины промежутка, точках интервала.Использовать же рассматриваемую функцию следует в случае более жестких и слож-14.2.

Численное решение ОДУ в форме задачи Коши*451ных систем уравнений — это позволит повысить точность расчета или сэкономитьвремя по сравнению с применением простого метода Рунге-Кутта.• Bulstoer(yO,tO,tl,M,D). Метод Булирша-Штера. Использовать этот алгоритм стоитв том случае, если вы уверены, что функции решения вашей системы достаточногладкие и плавно изменяющиеся. При выполнении этого условия функция Bulstoerпозволяет получать более точные решения, чем rkfixed, затрачивая на это меньшевремени.Для корректного использования описанных выше функций система дифференциальных уравнений должна быть записана в векторном виде:= D(Y(x),x)где Y-(x) — вектор первых производных системы, D(Y(x),x) — вектор-функция, каждая строка которой содержит левую часть соответствующего уравнения системы.Кроме того, в векторной форме должны быть определены начальные условия:Разобравшись с принципом приведения системы ОДУ к векторной форме, вы без труда сможете задать и параметры для рассматриваемых встроенных функций:•уО — вектор начальных условий; в нем вы должны определить числовые значенияискомых функций на левой границе'интервала изменения переменной;• tO — начальная точка для переменной;• tl — конечная точка расчета;• М — количество шагов, при котором численный метод будет решать систему;D — вектор-функция, содержащая левые части уравнений системы.

Должна бытьзадана как функция двух переменных: скаляра t и вектора у (то есть все искомыефункции системы должны быть представлены как элементы одного вектора).Результатом работы приведенных функций является матрица, в первом столбце которой содержатся узловые величины переменной t, а в остальных — значения неизвестных функций системы, рассчитанные в этих точках. При этом порядок расположениястолбцов с найденными величинами искомых функций определяется последовательностью, в которой они были занесены в вектор у.•Аппарат дифференциальных уравнений широко используется для описания не толькофизических, химических или биологических процессов, но и различных явлений в медицине, экономике, демографии и множестве других современных наук. Зачастую припопытке решения той или иной системы уравнений можно получить совершенно неожиданный результат. В этом разделе мы рассмотрим наиболее интересные примерырешения систем ОДУ: экологическую модель «хищник — жертва», некоторые видыдинамических систем, а также движение ракеты в поле тяготения небесных тел.Пример 14.12.

Модель «хищник — жертва» (Лотки-Вольтерра)Модель «хищник — жертва» была предложена независимо друг от друга американским физикомАльфредом Лоткой в 1925 году и итальянским математиком Вито Вольтерра в 1926 году. Онаописывает эволюцию численности взаимодействующих популяций хищников и жертв на протяжении определенного промежутка времени. Рассмотрим количественные изменения, происходящие4 5 2 • Глава 14. Дифференциальные уравненияв популяциях рысей и зайцев. Зайцы, питаясь растительностью, размножаются с постоянной скоростью А, в результате чего их численность возрастает:— x(t)=AxdtРыси поедают зайцев, что уменьшает их численность, причем скорость этого процесса By пропорциональна количеству хищников у:—x(t)=-BxydtОбщая динамика популяции зайцев описывается уравнением:—x(t) = A x - ВхуdtВ результате количество зайцев становится настолько большим, что приводит к резкому увеличению количества рысей.

Популяция хищника растет пропорционально имеющейся добыче:- y ( t ) = BxydtУмирают рыси естественной смертью или под влиянием внешних факторов:-y(t)=-cydtВ итоге количество хищников определяется уравнением—y(t) = - C y + ВхуdtНа определенном этапе рысей становится так много, что количество зайцев быстро уменьшаетсявследствие интенсивного поедания хищниками. Резкое сокращение запасов пищи вызывает снижение численности рысей, что возобновляет рост популяции зайцев.

В конечном счете, процессповторяется заново. Ниже приведено решение и фазовые портреты полученной системы уравнений для двух начальных условий (рис. 14.9).B:=lA:=1.5А-G(t,y):=Byyo- - o- iу0:=Вуо-у,-С)С:=310yl:=r2:=rkfixed(yl,0,100,5000, G)rl :=rkfixed(yO, 0,100,5000,G)1020010510.020.040.060.080.19.2588.457.6066.7575.9355.716.4197.0997.7188.251234514.2.

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

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

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

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