Матросов А.В. Maple 6. Решение задач высшей математики и механики (Матросов А.В. Maple 6. Решение задач высшей математики и механики.djvu), страница 88
Описание файла
DJVU-файл из архива "Матросов А.В. Maple 6. Решение задач высшей математики и механики.djvu", который расположен в категории "". Всё это находится в предмете "компьютерный практикум по специальности" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла, 88 - страница
Приравнивая коэффициенты при одинаковых степенях переменной х, получим систему линейных уравнений относительно неизвестных коэффициентов в разложении решения %(х) %~ '!о%о ~ Во 2%, =А1%о ело %1+ В| 3%,=А %,+А,%,+А %,+В,, из которой путем последовательных подстановок в правые части уравнений выражений для векторов %, начиная с первого, можно выразить все неизвестные коэффициенты в разложении решения через вектор %с. Это позволит представить решение дифференциального уравнения изгиба балки в виде %(х)=% ) % х' + ) В~*хо где матрицы %~' и векторы В' представляются выражениями, в которые входят известные матрицы Аь и векторы Вь Завершает решение задачи определение четырех компонентов вектора %в из системы четырех линейных уравнений, получающейся из условия удовле- Часть И )[с)еханика творения полученного решения граничными условиями (по два на каждом конце балки).
При описании алгоритма построения решения мы не затронули вопрос об интервале сходимости используемых рядов. Пока предположим, что все они сходятся на интервале [О, 4 изменения независимой переменной х, а в дальнейшем покажем, как можно строить решение, если радиус сходимости степенных рядов меньше длины балки. Реализовать предложенный алгоритм в традиционном языке программирования, конечно„можно, но потребуются достаточно большие временные затраты.
С помощью языка Мар]е это делается быстро, программа состоит всего из десятка операторов. Для начала мы реализуем первую часть алгоритма, в которой неизвестные коэффициенты решения в форме степенного ряда выражаются через коэффициент %о, представляющий свободный член ряда, т. е. по существу, мы получим уравнение переноса граничных условий с левого на правый конец.
Программа, выполняющая указанные действия, представлена в примере 13.1. > $ Формирование уравнЕнИЯ ПЕРЕНОСа ГраниЧНЫХ уоповнй > гезгагг: нтгП(1ьпатя): () Задание исходных данных атрьа:=0.5: 11с=з: Ес=1: Ч:=хс Кс=(т-4*атрьа/б"2*х* (б-х)): () Количество удерживаемых членов в разложении решения и;=20: 4 Матрица системы и вектор свободных членов А:=аггау(]..4,]..4,[[О,Т,О,О],сО,О,Т/(е*к),01,[0,0,0,1),!0,0,0,01,"): В:=аггау(1..4, [О, О, О,с[1); () Разложение матрицы системы и вектора свободных членов в ряды АТс=пшр(саутог, А, х=О, гй.т)с Атс=шар(сопчегс, АТ, ротупош): ВТ:=шар(паутог, В, х=О, и+1): ВТ:=шар(сопчегс, ВТ, ротупош): 4 Формирование ряда решения с неопределенными коэффициентами Рог 3 Ггош 0 Го и с[о И [3 ] с = (И (3, 1), Х [3, 2), Х [], 31, И [3, 41) ) епс) с[о: ХТ:=зцш( 'И [3 ] * (х"3 ) ', ' ] ' =0 ..и): [) Вычисление правой части дифференциального уравнения ь:=ечатшовт а* хт + Вт): [) Определение коэффициентов при степенях независимой переменной [) в разложении правой части (каждый и[3) — вектор размерности 4) гог 3 ггош 0 Го и По н[3]с=.шар(совет,ь,х,]); епб нос Глава 13.
)Ыагод начальнык лараметров в расчете балок 501 )) Приравнивание коэффициентов при одинаковых степенях независимой )) переменной после подстановки рядов в дифференциальное уравнение гог с ггст 1 Го 4 с)о гог Х ггот 1 Го и с)о И[к,с):=(и[к-1) [с)) Лс) епс) с[ос епс) с)о: В этой программе сначала мы задаем все необходимые параметры дифференциального уравнения изгиба балки: модуль упругости (в), длину балки (11), момент инерции сечения относительно оси, проходящей через его центр тяжести (к), а также матрицу системы (л) и вектор свободных членов (в).
Кроме этих величин задается количество удерживаемых в разложении решения в ряд Маклорена членов (и), так как в программе, естественно, не возможно построение ряда с бесконечным числом членов. Далее начинается реализация непосредственно первой части алгоритма; раскладываются в ряды матрица (лт) и вектор свободных членов (вт) системы, формируется разложение вектора решения в степенной ряд (ит) с неопределенными коэффициентами, и, наконец, эти коэффициенты вычисляются по формулам, полученным путем приравнивания коэффициентов при соответствующих степенях независимой переменной в рядах левой и правой части системы после подстановки в нее всех степенных рядов.
Обратим внимание, что мы не получаем явную зависимость всех неопределенных коэффициентов в ряде решения через коэффициент %ш В Мар!е зто делать не обязательно, памятуя о том, что если какой-либо неизвестной величине присвоить некоторое значение, то все выражения, в которые она входит, будут автоматически вычислены, чтобы соответствовать этому новому значению неизвестной величины.
Поэтому, как только мы, например, присвоим какому-либо компоненту вектора %в значение, то будет инициирована "цепная" реакция вычисления всех коэффициентов %), %1, ..., %„, а так как %) будет выражен только через %гь то %1 также окажется вычисленным через %о и т. д. Если же после выполнения всех операторов примера 13.1 распечатать неопределенные коэффициенты, то мы увидим, что они выражены не только через первый компонент %в, но и через все предшествующие.
Подобного "трюка" невозможно увидеть ни в одном языке программирования! Теперь нам остается только завершить решение задачи, удовлетворив заданным граничным условиям. Предположим, что балка жестко заделана на обоих концах. В этом случае, в соответствии с матричной формой записи системы дифференциальных уравнений изгиба балки, должны выполняться следующие условия: %[1](0) = О, %[2)(0) - О, %[1[(1) = О, %[2)(1) = О, Часть И Механика 602 где индекс в квадратных скобках означает соответствуюший компонент вектора решения, а в круглых скобках задано значение независимой переменной, при котором выполняются эти условия.
В точке х=О построенный нами вектор решения (ит) равен вектору %0 (в программе и(о]), поэтому для выполнения первых двух условий следует положить равными нулю два первых его элемента. Как только это будет выполнено, то автоматически будут снова вычислены все коэффициенты н .-',', и вектор решения ит станет зависеть только от двух неизвестных величин— элементов и[о,2) и и[о,з) вектора и[о] и, конечно, от независимой переменной х. Для удовлетворения оставшимся двум граничным условиям на правом конце балки следует вычислить первый и второй компоненты вектора решения ит при х=[, приравнять их нулю и из полученной системы двух уравнений определить оставшиеся два неизвестных компонента вектора и(о). Эта часть алгоритма представлена в примере 13.2.
> и(0,1]:=О; и[о,г)с=о: есп =еуа1 (ИТ ( 1], х=11) =.0) ес)1: =еуа1 (ИТ [2], х=11) =0; ао1ссе((ес(, ес(1], (И[0, 8),И [О, 3) ) ); ааа]дп(Ъ): ес):= 3.588836151 + 7.126452346 % + 6.238362271 % , = 0 ес)1:= 6.370910941 + 4.712666918 % + 7.899638482 % = 0 ( %аз 1.086344065, %ос 1 454558801 ) Обратите внимание на два уравнения, которые решаются командой ао1хе(). В них действительно только две неизвестных величины — третий и четвертый компонент вектора и[о1.
Как только им будут присвоены командой ааа)яп(8) ЗНаЧЕНИя, ПОЛУЧЕННЫЕ В рЕЗуЛЬтатЕ рЕШЕНИя СИСТЕМЫ ЛИНЕЙНЫХ уравнений, автоматически будет вычислено наше решение ит, в котором останется одна неизвестная величина — независимая переменная х. Теперь можно отобразить графики построенного решения, которые соответствуют прогибу и углу поворота сечения балки (первые два компонента вектора решения) и моменту и перерезываюшей силе в сечениях по длине балки (третий и четвертый компоненты вектора решения): > р1ое((-ИТ[1],-ИТ[2]],х 0..11, со1ог=Ь1ас)с, Сььсхссеаа=З, 11пеасу1е [1,4],п1с1е="Прогиб и угол поворота") Глава 1З.
Метод начальных параметров в расчете балок Прмаб а угаа поворота ое о.г .о.г -0,4 > р1ос([ХТ[З],ИТ[4]],х=0..11, со1ог=)>1аск, С)11скпеяя=З, 11пеясу1е=(1,4],с111е=аноиент и перереяывапшая сила"); МОмент а аараразаюающая хааа 3 В результате разработки алгоритма модифицированного метода начальных параметров нами решена задача изгиба защемленной на обоих концах балки длиной 3 м, нагруженной распределенной гидростатической нагрузкой [)=х и сечение которой изменяется по следующему закону: > Р1ос (К, х=О ..
11, 0 .. 1, со1ог=)>1асХ, СП1скпеЯЯ=З, 14 пеЯСУ1е=1, с1С1е.=вселение балки" ); Сачанаа бюан 1 0.0 0.0 0.4 0.2 0 1 2 3 4 б б х Давайте теперь увеличим длину балки до 6 м и рассчитаем ее с теми же параметрами нагружения и нарисуем графики прогиба и поворота сечения. Для этого следует снова выполнить программы примеров 13.1 и 13.2 с заменой оператора 11:=3 на оператор 11с=б и отобразить требуемые графики КОМаНдОй р1ос (): > р1СС( [ — ИТ(1), -Ит(2] ], х=0 .. 11, со1ог=ЫасХ, С)11скпеяя=з, 11пеяеу1е=[1,4],С1С1е=апрогиб и угол поворотаа); Часть (У. Механика Пропп п Ипп поппрптп -50 ноо -гоо Графики прогиба и угла поворота получились не совсем такими, как ожидалось.
Они должны быть очень похожи на графики соответствующих величин предыдущего примера, а у нас получилось, что даже угол поворота не равен нулю в точке максимума прогиба. В чем дело? А вот в этом примере и проявили себя степенные ряды, в которые мы раскладывали переменные коэффициенты уравнения. Один из коэффициентов представлен функцией 1 йх) = (1 — — х (6 — х)) Е и его ряд Маклорена сходится на открытом интервале ( — 3 тг2,3,~2 ), а поэтому его использование для расчетов по всей длине балки и привело к неверному решению. Выход из создавшегося затруднения прост — следует разбить балку на интервалы такой длины, в пределах которых используемые нами степенные ряды сходятся, а применить модифицированный метод начальных параметров на каждом из участков со "склейкой" решений на границах участков.
Так как все неизвестные функции системы дифференциальных уравнений должны быть непрерывны по всей длине балки, то склеивание решений на границе любых двух участков должно удовлетворять следуюшсму условию: В этом равенстве верхний индекс у решения тт' соответствует номеру участка, на котором оно построено, 1в обозначает длину )г-го участка разбиения. Модифицированная программа расчета представлена в примере 13.3.
Замечание В связи с тем, что на каждом участке интегрирования используется местная система координат с началом в точке левой границы участка, то на каждом участке необходимо преобразовывать все переменные коэффициенты дифференциального уравнения с учетом такого сдвига начала системы координат. Глава 13. Метод начальнык параметров а расчете балок 505 > гезсагс:н1ГЬ(11па10)з $ Задание количества участков и параметра в функции момента $ инерции сечения, Тхгб и из=2: а1риаз=0.5: $ Количество удерживаемых членов в разложении решения п:=-20: $ Задание параметров на участках разбиения $ ЯТ1з=(0,0,0,0]: ЯТ2:=[0,0,0,0)з Е[1]:=1з Е[2):=1: $ Иодуль упругости з([1]з=х: з)[2]:=хт3з $ Распределенная нагрузка 1[1]з=3: 1[2):=Зз $ Длины участков К[1]з=(1-4*а1р)за/б"2*х*(б-х))з $ Осевые моменты инерции сечения К[2]:=(1-4*а1риа/б"2*(х+1.5)*(6-1.5-х)): 11:= 1[1]+1[2) $ Длина балки $ Матрица система и вектор свободных членов на участках разбиения бог 1 агою 1 Го и ц бо А) ) з.:= аггау (1 ..
4, 1 .. 4, [ ( О, 1, О, 0), (О, О, 1/ (Е [з.] *К [1) ), О], [О, О, О, 1 ], [О, О, О, 0) ] ): В))з.:=аггау(1..4,[0,0,0,с)[з))); еиб без $ цикл по участкам разбиения гог з бгои 1 Го и ц бо $ Разложение матрицы системы и вектора свободных членов в ряды Ат)(1з=зпар( гау1ог,А))1,х=О,и+1)з АТ))!.:=зпар(соичегс,АТ))з.,ро1уиопз)з ВТ))з:=пер(сау1ог,В)[1,х=О,пт1)з ВТ))1з=зьар(сопчегг,Вт))!.,ро1упоп0 4 бог 3 бголз 0 Го и бо Н))1[3):=[Н))1[3, 1),Н))з[3,2),н)[з[3,3],Н))з.[3,4))з епс( с)оз НТ) )1з=зипз('Х) )з[3]*(х 3) ' '3'=О..п) З $ Вычисление правой части диффзеренциального уравнения Рл еча1и(АТ))1 а* НТ))1+ВТ))1)З $ Определение коэффициентов при степенях независимой переменной $ в разложении правой части (ках~цый н))1[3! — вектор размерности 4) бог 3 Тгои 0 Го п бо н))1[3]:=зьар(соебб,1„х,ф)з еиб бо' $ Приравнивание коэффициентов при одинаковых степенях независимой $ переменной после подстановки рядов в дифференциальное уравнение бог с Егозв 1 Го 4 бо Часть Л[.