Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Моделирование функционирования изделий и технологических процессов в системах компьютерной математики

..pdf
Скачиваний:
1
Добавлен:
12.11.2023
Размер:
1.6 Mб
Скачать

Рис. 19. Параметрическое решение уравнения определения максимальной скорости с помощью функции root

Контрольные вопросы и задания

1.Какие объекты являются аргументами функции lsolve?

2.Какие объекты являются аргументами функции Find?

3.Какие объекты являются аргументами функции root?

4.Опишите технику и процедуру использования функции

lsolve.

51

5. Опишите технику и процедуру использования функции

Find.

6.Опишите технику и процедуру использованияфункции root.

7.Приведите примеры задач, которые можно решить с помощью нелинейных уравнений.

8.Приведите примеры задач, решение которых сводится к решению систем уравнений.

9.Какие из изученных функций решения уравнений в СКМ MathCAD требуют задания начальных приближений искомых переменных?

10.При использовании какой функции необходимы инструменты панели «Логическая» и управляющее слово Given?

11.Процесс распространения теплоты Q мгновенного сосредоточенного источника (например, при лазерной прошивке отверстий), выделившейся на поверхности полубесконечного тела, можно описать уравнением

 

2Q

 

R

 

 

 

 

T (R,t) =

 

 

e 4at ,

 

3

 

 

 

 

 

cγ(4πat)2

где R – вертикальная координата; Т – температура; t – время; a – температуропроводность материала,

a = cλγ ,

где c – удельная массовая теплоёмкость; γ – плотность материала; λ – теплопроводность материала.

Построить график этой зависимости для обработки детали, выполненной из алюминия. Определить время, за которое при выделившемся количестве тепла 20 000 Дж температура на глубине 10 мм достигает величины 800 °С.

12. Определение корней характеристического уравнения позволяет выяснить, как влияет увеличение коэффициента усиления на относительную устойчивость управляющей системы. Поскольку по-

52

ложительные действительные части корней характеристического уравнения системы соответствуют экспоненциальному развитию переходных процессов, то их следует избегать любой ценой. Для системы регулирования, показанной на рис. 20, характеристическое уравнение имеет вид:

12D3 + 7D2 + D + K = 0.

Определить корни характеристического уравнения, при которых переходный процесс будет устойчивым.

 

 

E

 

K

 

1

 

 

1

 

 

 

V

 

 

 

 

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

4D +1

 

 

 

3D +1

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 20. Схема системы регулирования (обозначения: V – входной сигнал, С – выходной сигнал, В – сигнал рассогласования, Е – сравнивающий элемент)

13. Для электрической схемы, представленной на рис. 21, исследовать зависимости токов в ветвях от сопротивления R2. Результат представить графически.

Рис. 21. Электрическая схема

53

14. Требуется определить величину критической силы для стержня круглого сечения диаметром 0,15 м и длиной 1,5 м, один конец которого защемлён, а другой может перемещаться в вертикальном направлении, как показано на рис. 22.

P

L

Рис. 22. Схема работы стержня

Критическая сила в этом случае определяется уравнением

 

P

 

 

P

 

tg

L

=

L,

 

 

 

EI

 

 

EI

 

 

 

где Р – критическая сила; L – длина стержня; E – модуль Юнга, E = 210 109 Па; I – момент сопротивления сечения.

54

РАЗДЕЛ 4. РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ И СИСТЕМ УРАВНЕНИЙ C ИСПОЛЬЗОВАНИЕМ СИСТЕМЫ MathCAD

4.1.Функции решения дифференциальных уравнений

иих аргументы

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

Рассмотрим функции решения ДУ в СКМ MathCAD.

Для решения дифференциальных уравнений используется функция odesolve (x, b, steps), которая возвращает решение дифференциальных уравнений, описанных в блоке Given, при заданных начальных условиях и конце интервала интегрирования b. Эта функция имеет ряд особенностей. Если указано число шагов steps, то решение выполняется с фиксированным шагом, иначе решение выполняется адаптивным методом. Хотя аналитическое выражение для этой функции не выводится, с ней можно выполнять математические преобразования, например дифференцировать.

На рис. 23 показан пример применения функции odesolve. Как видно на рис. 23, функция odesolve используется в составе вычислительного блока, открывающегося директивой Given. В нём перед функцией должно быть задано само уравнение и начальные условия. Уравнения задаются с помощью инструментов панелей «Исчисление» и «Логическая». Для задания символов производных применяется последовательность клавиш [Ctrl] [F7]. В такой форме решение дифференциальных уравнений выглядит достаточно логично и привычно.

Функция rkfixed (y, x1, x2, n, F) возвращает матрицу решений методом Рунге–Кутты системы обыкновенных дифференциальных уравнений с начальными условиями в векторе у, правые части кото-

55

рых записаны в символьном векторе F, на интервале от х1 до х2 при фиксированном числе шагов n. На рис. 24 проиллюстрирована техника решения дифференциального уравнения второго порядка, решение представлено в виде фазового портрета колебаний, которые описывает рассматриваемое уравнение. Выполнено решение уравнения

m

d 2 x(t)

+ γ

dx(t)

2

dt2

dt

+ ω x(t) = 0

 

 

0

при заданных начальных условиях:

 

 

 

 

 

 

x(0) = 4,

dx(t)

 

= −1.

 

 

 

 

 

 

 

Given

 

 

 

 

 

 

 

dt

 

t =0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d2

y(x) + x

2

 

d

y(x) + x y(x)

 

 

 

exp(x) cos(x)

 

 

 

 

 

 

 

 

dx2

 

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y(0)

 

8

 

 

y'(1)

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y := odesolve(x , 5 , 100)

z(x) := ddx y(x)

 

8

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

y(x)

0

 

 

 

 

 

 

 

 

 

 

 

z(x)

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

10

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

 

 

 

 

 

 

 

x

 

 

 

 

 

Рис. 23. Применение функции odesolve для решения нелинейного дифференциального уравнения

56

Обратим внимание на некоторые аргументы rkfixed.

Вектор начальных условий y содержит значения искомой функции и её производных в начальной точке интервала интегрирования, составленные в последовательности от нулевого значения (значение самой функции) до значения производной, порядок которой на 1 меньше порядка решаемого уравнения.

 

 

 

init_cond :=

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

init_t := 0

final_t := 10

nsteps := 5000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ω0 := 3

 

γ := 0.8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D(t , x) :=

−ω02

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x − γ x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

S := rkfixed(init_cond, init_t , final_t, nsteps, D)

 

 

 

 

 

 

 

 

 

 

 

 

i := 0 .. nsteps

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

S

1

)

i

0

 

 

 

 

 

 

 

 

(S

2

)i

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4 0

2

 

(

4

 

6

)

8

10

 

 

10

3

2

1

 

0

1

2

3

4

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S

i

 

 

 

 

 

 

 

(S

1

 

)i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 24. Применение функции rkfixed для решения нелинейного дифференциального уравнения

Вектор F является формой записи исходного дифференциального уравнения в форме системы ДУ, если порядок превышает 1 (см. подразд. 1.4). В его структуру входят производные, порядок которых обозначается матричными индексами (задаются с панели ин-

57

струментов «Матрица»), и само дифференциальное уравнение, являющееся последним элементом вектора, записанное в форме, содержащей в левой части только старшую производную. Первым элементом вектора является первая производная, последующими – производные более высоких порядков, предпоследним – производная, порядок которой на 1 меньше порядка самого ДУ, последним элементом – старшая производная, записанная в форме правой части ДУ. Например, если имеется функцияf(t), котораяподчиняетсяуравнению

m d

3

f (t)

d

2

f (t)

+ k df (t)

5 f (t) = e

x

 

 

2

,

 

dt3

 

dt2

dt

 

 

 

где m и k – постоянные параметры, то уравнение нужно разрешить относительно старшей производной:

d3 f (t)

 

1

 

x

 

d 2 f (t)

 

df (t)

 

 

 

 

 

 

 

dt

3

=

 

e

2

+

dt

2

k

dt

+ 5 f (t)

,

 

 

 

m

 

 

 

 

 

 

 

и определение вектора F в MathCAD будет выглядеть следующим образом:

 

 

 

 

 

 

 

 

f1

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

F(t, x) :=

 

 

 

 

 

 

f2

 

 

 

 

.

m

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

2 + f

2

k

f

+ 5 f

0

 

 

 

 

 

 

 

 

 

 

1

 

 

 

Функция rkadapt (у, х1, х2, асс, F, k, s) возвращает матрицу, содержащую таблицу значений решения задачи Коши на интервале от х1 до х2 для системы обыкновенных дифференциальных уравнений, вычисленную методом Рунге–Кутты с переменным шагом и начальными условиями в векторе у. Правые части системы записаны в векторе F, acc – точность решения, k – максимальное число промежуточных точек решения (число шагов) и s – минимально допустимый интервал между соседними точками (узлами), определяемый минимально допустимой разностью решений в соседних точках, т.е. если шаг решения меньше s, то полученные значения не записываются в итоговую

58

матрицу. Векторы y и F определяются так же, как и в функции

rkfixed. На рис. 25 проиллюстрирована техника применения функции

rkadapt для решения линейного ДУ второго порядка

 

 

 

 

 

 

 

m

d 2 x(t)

+ γ

dx(t)

= mg

 

 

 

 

 

 

 

 

dt2

dt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

при начальных условиях:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x(0) = 0,

dx(t)

 

 

= 0.

 

 

 

 

 

 

 

 

 

 

 

 

dt

t=0

 

 

 

 

 

 

init_cond :=

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

init_t := 0

final_t := 20

nsteps := 8000

 

 

 

 

 

 

ω0 := 3

 

γ := 0.2

 

g := 9.81

m := 0.020

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

D(t , x) :=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m g − γ x1

 

 

 

 

 

 

 

 

 

 

 

acc := 105

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Nmax := 5000

save_int := 0.0001

 

 

 

 

 

 

 

 

 

S := rkadapt(init_cond, init_t , final_t, acc , D , Nmax, save_int)

 

 

 

i := 0 .. nsteps

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

0.8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(S 2 )

 

0.6

 

 

 

 

 

 

(S

1

)

10

 

 

 

 

i

 

 

 

 

 

 

i

 

 

 

 

 

0.4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0

 

5

10

15

20

 

 

 

0 0

5

10

15

20

 

 

 

 

(S

0 )

i

 

 

 

 

 

(S

0 )

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 25. Применение функции rkadapt для решения линейного

 

 

 

 

дифференциального уравнения

 

 

 

 

59

Функции rkadapt и rkfixed возвращают матрицы, первый столбец которых содержит аргумент, второй столбец – значения искомой функции в узлах решения, последующие столбцы содержат значения соответствующих производных, начиная с первой и заканчивая производной, порядоккоторойна 1 меньшепорядкарешаемогоДУ.

В MathCAD системы дифференциальных уравнений решаются также с помощью тех же функций, что и одиночные уравнения. При этом индексы в символьном векторе F правых частей определяют порядок производных и сами функции.

Для решения «жёстких» ДУ в последних версиях MathCAD существуют функции stiffb, stiffr и radau [6, 7]. С аргументами этих функций и технологией их использования студентам предлагается разобраться самостоятельно.

4.2. Примеры решения обыкновенных дифференциальных уравнений

Приведём примеры решения задач с помощью рассмотренных функций:

1. Кусок металла с температурой 0 °С помещён в печь, температура которой в течение часа равномерно повышается от 0 °С до 1000 °С. При разности температур печи и металла в Т градусов металл нагревается со скоростью градусов в минуту (скорость изменения температуры пропорциональна разности температур тела и окружающей среды). Найти зависимость температуры металла от времени, построить график этой зависимости. Коэффициент пропорциональности k = 0,04.

Очевидно, процесс подчиняется уравнению первого порядка:

dT (t) = k [TF (t) T (t)], dt 60

где TF(t) – зависимость от времени температуры печи (считаем, что в течение часа температура равномерно возрастает до 1000 °С, а далее остаётся постоянной).

На рис. 26 представлено решение данной задачи. На графиках показаны зависимости температуры печи и температуры металла от времени.

60

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