- •Вычислительная математика
- •Оглавление
- •3. Численное интегрирование…………………………………………………...51
- •4. Уравнения в частных производных…………………………………………65
- •5. Численные методы линейной алгебры……………………………………...73
- •1. Численные методы решения обыкновенных дифференциальных уравнений Основные понятия
- •Элементы теории погрешностей
- •Численное дифференцирование. Аппроксимационные формулы
- •Задача Коши для обыкновенного дифференциального уравнения 1-го порядка. Метод Эйлера
- •Задача Коши для обыкновенных дифференциальных уравнений 1-го порядка. Методы Рунге-Кутта
- •Краевые задачи для обыкновенного дифференциального уравнения 2-го порядка
- •Метод Галеркина для обыкновенных дифференциальных уравнений 2-го порядка
- •2. Аппроксимация функций Интерполяционный многочлен Лагранжа
- •Многочлены Чебышева
- •Минимизация погрешности интерполяции полинома Лагранжа
- •Интерполяция с равноотстоящими узлами
- •Кусочная аппроксимация
- •Сплайн- интерполяция
- •Метод наименьших квадратов
- •Ортогональные полиномы
- •3. Численное интегрирование Простейшие квадратурные формулы
- •Квадратурные формулы Ньютона-Котеса
- •Экстраполяция по Ричардсону
- •Квадратурные формулы Гаусса, Чебышева
- •Метод Монте-Карло
- •4. Уравнения в частных производных
- •5. Численные методы линейной алгебры
- •Матрицы и действия над ними
- •Клеточные матрицы
- •Разложение матрицы на произведение двух треугольных матриц
- •Итерационные методы
- •Метод Якоби
- •Метод Зейделя
- •Практикум по вычислительной математике Лабораторные работы для Mathcad 2001i Professional Лабораторная работа № 1 Обращение матриц
- •Лабораторная работа №2 Решение системы нелинейных уравнений
- •Лабораторная работа №3 Построение уравнений регрессии
- •Лабораторная работа № 4 Разложение функций в ряд Фурье пополиномам Лежандра
- •Лабораторная работа № 5 Решение дифференциального уравнения второго порядка
- •Лабораторная работа № 6 «Аппроксимации»
- •Лабораторная работа № 7 Решение слау с помощью lu разложения
- •Лабораторная работа № 11 Метод прогонки
- •Синтаксис среды Maple
- •Данные множественного типа
- •Решение дифференциальных уравнений в среде Maple Примеры решения уравнений встроенными функциями
- •Примеры численного решения оду
- •Лабораторная работа №1 Решение оду различными методами
- •Задания для самостоятельного решения
- •Лабораторная работа № 2 Интерполяция функции полиномами Лежандра
- •Лабораторная работа № 3 Метод наименьших квадратов
- •Лабораторная работа № 4 Применение системы Maple в сопротивлении материалов
- •Эпюра q
- •Эпюра q
- •Эпюра q
- •Эпюра q Лабораторная работа № 5 Решение системы методом прогонки
- •Библиографический список
Лабораторная работа № 4 Применение системы Maple в сопротивлении материалов
Балка нагружена следующим образом.
Необходимо определить реакции опоры, построить эпюры внутренних силовых факторов. Отменим все определения, т. к. нам потребуется построение графиков, то заранее подключим пакет plots.
Определение реакций опор.
> restart: with(plots):
Зададим значения внешней нагрузки
q:=20;
M:=30;
l:=5;
Вычислим суммы моментов
SumM[A]:=q*l^2/2+M-R[B]*2*l=0;
SumM[B]:=-q*l*(l+l/2)+M+R[A]*2*l=0;
Получим значения реакций опор:
R[A]:=solve(SumM[B],R[A]);
R[B]:=solve(SumM[A],R[B]);
Проверим полученные значения:
R[A]+R[B]-q*l;
Теперь обозначим
процедуру, значения которой будут
повторять значения эпюры поперечной
нагрузки. На первом участке
,
на втором участке:
.
> Qx:=proc(x)
if (x>=0) and (x<l) then R[A]-q*x
else if (x<2*l) then R[A]-q*l
fi fi
end proc:
plot(Qx,0..2*l,color=red,title="Эпюра Q",thickness=3);
Способ построения графиков с помощью процедур удобен, когда известны интервалы построения и функция внутри каждого интервала. Если количество интервалов изменяется, то в процедуру приходится добавлять условия, то есть переписывать сначала. Более удобный способ построения – построение с помощью функции display. Сначала задаётся набор переменных со значениями графиков на интервалах. Затем через запятую они все указываются в качестве параметров функции. Рисуем вертикальную штриховку. Для этого определяем количество шагов разбиения n. Вычисляем шаг h. Затем заполняем переменные xs[i] и ys[i] значениями функции в точках разбиения.
n:=25:
h:=2*l/n:
xs[1]:=0:
ys[1]:=Qx(0):
for j from 2 to n do
xs[j]:=xs[j-1]+h;
ys[j]:=Qx(xs[j]):
od:
Строим график вертикальных линий штриховки, используя оператор перечисления $.
pl:=plot([[[xs[i],0],[xs[i],ys[i]]]$i=1..n],color=red,thickness=1):
Задаем функции, отражающие значения эпюры поперечных сил на каждом участке.
qx[1]:=x->R[A]-q*x;
qx[2]:=x->R[A]-q*l;
Строим график на каждом интервале:
p[1]:=plot(qx[1](x),x=0..l):
p[2]:=plot(qx[2](x),x=l..2*l):
p[22]:=plot([[2*l,R[A]-q*l],[2*l,0]]): – вертикальная линия в конце эпюры Отображаем на общем графике:
display(p[1],p[2],p[22],pl,thickness=3,title="Эпюра Q");
Эпюра q
Эпюра q
Аналогичные операции производим и с эпюрой изгибающих моментов, если известно, что:
> my[1]:=x->R[A]*x-q*x^2/2;
my[2]:=x->R[A]*x-q*l*(l/2+(x-l));
my[3]:=x->R[A]*x-q*l*(l/2+(x-l))+M;
My:=proc(x)
if (x>=0) and (x<l) then my[1](x)
else if (x<(l+l/2)) then my[2](x)
else if (x<2*l) then my[3](x)
fi fi fi
end proc:
plot(My,0..2*l,color=red,title="Эпюра M",thickness=3);
n:=25:
h:=2*l/n:
xs[1]:=0:
ys[1]:=My(0):
for j from 2 to n do
xs[j]:=xs[j-1]+h;
ys[j]:=My(xs[j]):
od:
pl:=plot([[[xs[i],0],[xs[i],ys[i]]]$i=1..n],color=red,thickness=1):
p[1]:=plot(my[1](x),x=0..l):
p[2]:=plot(my[2](x),x=l..3*l/2):
В месте разрыва строим вертикальную линию, соединяющую точки разрыва.
mp:=3*l/2:
p[22]:=plot([[mp,R[A]*mp-q*l*(l/2+(mp-l))],[mp,R[A]*mp-q*l*(l/2+(mp-l))+M]]):
p[3]:=plot(my[3](x),x=3*l/2..2*l):
display(p[1],p[2],p[22],p[3],pl,title="Эпюра M",thickness=3);
