MATHCAD_ИНОСТР_НОВАЯ2
.pdf
Решение уравнения y' = x2y3sin3(x+y)
ORIGIN : 1
y1 : 1 |
|
|
|
|
|
Задание начального значения |
|||
D x,y |
: x |
2 |
y1 |
3 |
sin x y1 |
3 |
Определение функции, |
||
|
|
|
задающей производную |
||||||
|
|
|
|
|
|
|
|
||
Первая точка интервала |
Последняя точка интервала |
Число шагов |
|||||||
x1 |
: 0 |
|
|
|
|
|
x2 : 3 |
N : 20 |
|
Вычисление решения в двадцати промежуточных точках на отрезке [ 0, 3 ]
Z : rkfixed y,x1,x2,N,D
|
|
1 |
2 |
|
|
|
1 |
0 |
1 |
|
|
|
2 |
0.15 |
1.001 |
|
|
|
3 |
0.3 |
1.008 |
|
|
|
4 |
0.45 |
1.029 |
|
|
|
5 |
0.6 |
1.077 |
|
|
|
6 |
0.75 |
1.166 |
|
|
Z |
7 |
0.9 |
1.296 |
|
|
8 |
1.05 |
1.427 |
|
|
|
|
9 |
1.2 |
1.511 |
|
|
|
10 |
1.35 |
1.543 |
x : Z 1 |
y : Z 2 |
|
11 |
1.5 |
1.549 |
||
|
12 |
1.65 |
1.549 |
|
|
|
13 |
1.8 |
1.544 |
|
|
|
14 |
1.95 |
1.509 |
|
|
|
15 |
2.1 |
1.426 |
|
|
|
16 |
2.25 |
... |
|
|
|
|
|
|
|
|
1.6 |
|
|
|
1.4 |
|
|
|
1.2 |
|
|
|
y |
|
|
|
1 |
|
|
Построение графика |
|
|
|
|
0.8 |
|
|
решения |
0.6 |
1 |
2 |
3 |
0 |
|||
|
|
x |
|
|
|
|
71 |
Системы дифференциальных уравнений первого порядка
Для того, чтобы решить систему ОДУ первого порядка, необходимо:
определить вектор, содержащий начальные значения для каждой неизвестной функции
определить функцию, возвращающую значение в виде вектора из n элементов, которые содержат первые производные каждой из неизвестных функций
выбрать точки, в которых нужно найти приближенное решение
передать всю эту информацию в функцию rkfixed.
Задача 3
Решить численно систему дифференциальных уравнений
|
' |
y2 |
y1(0) 0 |
|
y1 |
||||
|
|
e x y1 |
с начальными условиями |
(0) 0 |
y |
' |
y2 |
||
|
2 |
|
|
|
на отрезке [0, 3 |
] |
|
||
Решение вычислить с шагом 0.1 |
|
|||
72
Решение системы диф. уравнений
ORIGIN : 1
Первая точка интервала Последняя точка интервала Число шагов
x1 : 0 |
x2 : 3 |
N : 30 |
Начальные значения функций |
Правые части диф. уравнений |
|
|
|
y : |
0 |
|
|
|
|
|
|
|
|
y2 |
|
|||||
|
|
|
|
|
|
|
|
|
D x,y : |
|
|
|||||||
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
exp x y1 |
||||
Z : |
rkfixed y,x1,x2,N,D |
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
2 |
3 |
|
|
|
|
|
|
|
|
||||
|
|
1 |
|
|
|
0 |
0 |
0 |
|
|
|
|
|
|
|
|
||
|
|
2 |
|
|
|
0.1 |
5·10-3 |
0.1 |
|
|
|
|
|
|
|
|
||
|
|
3 |
|
|
|
0.2 |
0.02 |
0.2 |
|
|
|
|
|
|
|
|
||
|
|
4 |
|
|
|
0.3 |
0.045 |
0.299 |
|
|
|
|
|
|
|
|
||
|
|
5 |
|
|
|
0.4 |
0.08 |
0.397 |
|
|
|
|
|
|
|
|
||
|
|
6 |
|
|
|
0.5 |
0.124 |
0.492 |
|
|
|
|
|
|
|
|
||
Z |
7 |
|
|
|
0.6 |
0.178 |
0.584 |
|
|
|
|
|
|
|
|
|||
8 |
|
|
|
0.7 |
0.241 |
0.672 |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x : Z 1 |
|
|
|
|
9 |
|
|
|
0.8 |
0.312 |
0.753 |
|
|
|
|
|
|||||
|
|
10 |
|
|
|
0.9 |
0.391 |
0.827 |
|
|
|
|
|
y1 : Z 2 |
|
|
||
|
|
11 |
|
|
|
1 |
0.477 |
0.893 |
|
|
|
|
|
|
|
|||
|
|
12 |
|
|
|
1.1 |
0.57 |
0.951 |
|
|
|
|
|
y2 : Z 3 |
|
|
||
|
|
13 |
|
|
|
1.2 |
0.667 |
1 |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
14 |
|
|
|
1.3 |
0.769 |
1.041 |
|
|
|
|
|
|
|
|
||
|
|
15 |
|
|
|
1.4 |
0.875 |
1.074 |
|
|
|
|
|
|
|
|
||
|
|
16 |
|
|
|
1.5 |
0.984 |
... |
|
|
|
|
|
|
|
|
||
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
y1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
1 |
2 |
|
3 |
4 |
|
|
|||||||
|
|
0 |
|
|
|
|
||||||||||||
x
73
Пояснение:
Переменной N (число шагов) присваиваем значение, равное
N x2 x1 3 0 30 h 0.1
Компонентам вектора y присваиваем значение в начальной точке. D(x,y) – это вектор-столбец правых частей.
Решение, вычисленное функцией rkfixed(y,x1,x2,N,D) присвойте матрице с именем Z.
Матрица с именем Z содержит три столбца: первый столбец содержит значения x, второй – значения y1, третий – значения y2.
Варианты задач приведены в табл. 11.1.
Таблица 11.1. Варианты задач
№ |
|
|
|
|
|
|
|
|
|
|
|
Задача |
||||||
варианта |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант |
Решить дифференциальное уравнение первого порядка |
|||||||||||||||||
1 |
y' |
3 |
y= |
2 |
|
в интервале 1 x 4 |
||||||||||||
|
|
x3 |
||||||||||||||||
|
|
|
x |
|
|
y 1 1 |
|
|
|
|
|
|||||||
|
начальное условие: |
|
|
|
|
|
||||||||||||
|
Построить график зависимости y f (x) |
|||||||||||||||||
|
|
|
|
|
||||||||||||||
Вариант |
Решить дифференциальное уравнение первого порядка |
|||||||||||||||||
2 |
y' y tgx cos2 x |
в интервале |
|
x |
||||||||||||||
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|||
|
начальное условие: |
y |
|
|
|
|
|
|
|
|
||||||||
|
|
2 |
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
||
|
Построить график зависимости y f (x) |
|||||||||||||||||
|
|
|||||||||||||||||
Вариант |
Решить дифференциальное уравнение первого порядка |
|||||||||||||||||
3 |
y' |
1 |
y x2 |
4x 5 |
|
|
в интервале 1 x 3 |
|||||||||||
|
|
|
|
|||||||||||||||
|
|
|
x 2 |
|
|
|
|
y 1 |
3 |
|
|
|
|
|||||
|
начальное условие: |
|
||||||||||||||||
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
Построить график зависимости y f (x) |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74
Окончание табл. 11.1
№ вар. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Задача |
|
|
|
|||||
Вариант |
Решить дифференциальное уравнение первого порядка |
|||||||||||||||||||||||||
4 |
|
x2(y3 5)dx (x3 5)y2dy 0 |
|
|
в интервале 0 x 4 |
|||||||||||||||||||||
|
начальное условие: |
y 0 2 |
|
|
|
|
|
|||||||||||||||||||
|
Построить график зависимости y f (x) |
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
Вариант |
Решить дифференциальное уравнение первого порядка |
|||||||||||||||||||||||||
5 |
|
dy |
3y 0 |
|
|
|
|
|
в интервале 0 x 4 |
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
dx |
|
|
|
|
|
|
|
y 0 4 |
|
|
|
|
|
|||||||||||
|
начальное условие: |
|
|
|
|
|
||||||||||||||||||||
|
Построить график зависимости y f (x) |
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
Вариант |
Решить дифференциальное уравнение первого порядка |
|||||||||||||||||||||||||
6 |
tgydx xln xdy 0 |
в интервале |
|
x |
|
|||||||||||||||||||||
|
|
8 |
2 |
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
начальное условие: y |
|
|
e |
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
Построить график зависимости y f (x) |
|
|
|||||||||||||||||||||||
Вариант |
Решить дифференциальное уравнение первого порядка |
|||||||||||||||||||||||||
7 |
|
y' 4x |
|
y |
|
y 2 |
в интервале1 x 4 |
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
x |
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
x |
y 1 2 |
|
|
|
|
|
|
|
|
|||||||||
|
начальное условие: |
|
|
|
|
|
|
|
|
|||||||||||||||||
|
Построить график зависимости y f (x) |
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
Вариант |
Решить дифференциальное уравнение первого порядка |
|||||||||||||||||||||||||
8 |
(x4 6x2y2 |
y4)dx 4x2y(x2 |
y2)dy 0 |
в интервале1 x 4 |
||||||||||||||||||||||
|
начальное условие: |
y 1 2 |
|
|
|
|
|
|
|
|
||||||||||||||||
|
Построить график зависимости y f (x) |
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||
Вариант |
Решить дифференциальное уравнение первого порядка |
|||||||||||||||||||||||||
9 |
|
|
|
y |
|
|
в интервале 2 x 7 |
|
|
|||||||||||||||||
|
xy'=y 1+ln |
|
|
|
|
|
|
|
||||||||||||||||||
|
x |
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|||||||||
|
начальное условие: |
y 1 |
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
e |
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Построить график зависимости y f (x) |
|
|
|||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
Вариант |
Решить дифференциальное уравнение первого порядка |
|||||||||||||||||||||||||
10 |
|
|
|
|
|
|
|
|
x |
2 |
|
|
|
в интервале 1 x 3 |
|
|
||||||||||
|
y'=5 y+1+ |
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
3y2 |
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
y 1 2 |
|
|
|
|
|
|
|
|
||||||
|
начальное условие: |
|
|
|
|
|
|
|
|
|||||||||||||||||
|
Построить график зависимости y f (x) |
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75
Тема 12 Программные операторы.
12.1. Краткие теоретические сведения
Программные Назначение программных операторов операторы
Add Line создает и при необходимости расширяет жирную вертикальную линию, справа от которой в шаблонах задается запись программного блока;
символ локального присваивания (в теле модуля);
if |
оператор условного выражения; |
|
|
for |
оператор задания цикла с фиксированным числом |
|
повторений; |
|
|
while |
оператор задания цикла типа "пока" (цикл |
|
выполняется, пока выполняется некоторое |
|
условие); |
|
|
otherwise |
оператор иного выбора (обычно применяется сif); |
break |
оператор прерывания; |
|
|
continue |
оператор продолжения; |
|
|
return |
оператор возврата; |
|
|
onerror |
оператор обработкиошибок. |
ОператорAddLine
Оператор Add Line выполняет функции расширения программного блока. Расширение фиксируется удлинением вертикальной черты программных блоков или их древовидным расширением. Благодаря этому в принципе можно создавать сколь угодно большие программы.
76
Оператор
Оператор выполняет функции внутреннего локального присваивания. Например,выражениех 123 присваивает переменной х значение 123. Локальный характер присваивания означает, что такое значение х сохраняет только в теле программы. За пределами тела программы значение переменной х может быть неопределенным либо равным значению, которое задается операторами локального := и глобального присваивания вне программного блока.
Оператор if
Оператор if является оператором условного выражения. Он задается в виде:
Выражениеif Условие
Если Условие выполняется, то возвращается значение Выражения. Совместно с этим оператором часто используются оператор прерывания breakи оператор иного выбора otherwise.
Оператор for
Оператор for служит для организациициклов с заданным числом повторений. Он записывается в виде:
for Var Nmin .. Nmax
■
Эта запись означает, что если переменная Var меняется с шагом +1 от значения Nmin до значения Nmax, то выражение, помещенное в шаблон, будет выполняться. Переменную счетчика Var можно использовать в выражениях программы.
Операторwhile
Операторwhile служит для организации циклов, действующих до тех пор, пока выполняется некоторое Условие. Этот оператор записывается в виде:
while Условие
■
77
Выполняемое выражение записывается на место шаблона.
Оператор otherwise
Оператор иного выбора otherwise обычно используется совместно с оператором if. Это поясняет следующая программная конструкция:
Оператор break
Оператор break вызывает прерывание работы программы всякий раз, когда он встречается. Чаще всего он используется совместно с оператором условного выражения if и операторами циклов while и for, обеспечивая переход в конец тела цикла.
Оператор continue
Оператор continue используется для продолжения работы после прерывания программы. Обычно он применяется совместно с операторами задания циклов while и for, обеспечивая после прерывания возврат в начало цикла.
Оператор return
Оператор return прерывает выполнение программы и возвращает значение своего операнда, стоящего следом за ним. Например, в приведенном ниже случае
return 0 if x<0
будет возвращаться значение 0 при любом х < 0.
78
Оператор on error
Оператор on error является оператором обработки ошибок, позволяющим создавать конструкции обработчиков ошибок. Этот оператор задается в виде:
Выражение_1 on error Выражение_2
Если при выполнении Выражения_1 возникает ошибка, то выполняется Выражение_2. С оператором on error связана функция error, которая обычно используется для возврата текстового сообщения об ошибке.
Примеры программирования
Листинг 12.1. Применение условного оператора if в программном блоке.
Возвращает –x, если x<0; возвращает x, во всех иных случаях.
Листинг 12.2
79
Листинг 12.3
Пояснение |
|
x=0 (жирное равно) |
< Ctrl > + < = > |
Листинг 12.4. Вычислить
(a x b c) 2 |
при x>1 |
|
|
|
при x=1 |
y a x cos(x) |
||
|
|
при x<1 |
a x b |
|
|
При a 0,5; |
b 1,2; |
c 15,1 |
|
|
|
|
|
|
80
