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

MATHCAD_ИНОСТР_НОВАЯ2

.pdf
Скачиваний:
57
Добавлен:
02.02.2015
Размер:
1 Мб
Скачать
☆

Решение уравнения 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]