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

МЕТОДИЧКА ПО MAPLE и MATHCAD

.pdf
Скачиваний:
342
Добавлен:
10.05.2015
Размер:
8.75 Mб
Скачать

 

 

 

 

 

 

 

 

131

 

 

1

 

 

 

 

 

 

 

 

 

 

начальные условия

 

 

y: 3

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

y1

 

 

 

 

 

 

 

y2

 

 

 

D(t,y):

 

 

 

 

 

 

exp(2 t) 6 y

2

8 y

0

12 y

 

 

 

 

 

 

 

1

 

z:=rkfixed(y,a,b,n,D)

 

 

 

 

 

u:=z<1>

 

 

извлекаем из матрицы z столбец, содержащий

i:=1..n

 

 

решение системы уравнений x1

 

 

задаем дискретный аргумент

 

h:

b a

 

задаем шаг изменения аргумента t

 

 

n

 

 

 

 

 

 

 

 

задаем дискретные значения точного решения уравнения

Ui exp(2 i h) (i 6h)3 1 i h (i h)3

относительные погрешности численного решения уравнения

di : ui Ui , Ui

ORIGIN:=OLDORIGIN восстанавливаем старое значение График относительной погрешности численного решения

В качестве еще одного примера рассмотрим решение следующей системы уравнений:

2 d x d y 3 x 0

dt

dt

d2

 

d

 

x

 

y 2 y exp(2 t)

dt2

 

 

dt

x(0) 0.25,x (0) 10.092,y(0)

132

2 d x d y 3 x 0

dt

dt

d2

x

d

y 2 y exp(2 t)

dt2

dt

 

 

x(0) 0.25,x (0) 10.092,y(0) 4.921

Точное решение этой системы уравнений при заданных начальных условиях имеет вид:

 

1

 

23

 

 

t

 

 

 

 

 

x(t)

 

exp 2 t 4 sin

 

t

 

exp

 

 

4

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

exp 2 t

 

 

 

 

 

 

 

 

 

 

 

23

 

 

 

23

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y(t)

 

 

 

 

 

 

23 cos

 

t

7 sin

 

t

exp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Текст программы:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n:=100 число точек, в которых ищется решение уравнения

 

a:=0

 

 

 

 

 

 

начальная точка интервала

 

 

 

 

 

 

b:=1

 

 

 

 

 

 

конечная точка интервала

 

 

 

 

 

 

 

 

 

 

 

 

 

0.25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

начальные условия

 

 

 

 

 

 

 

 

x: 10.092

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.921

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введем обозначения:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x x

 

,

d

x

 

x ,

 

 

x

 

 

 

= y,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

0

 

 

dt

 

 

 

0

1

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

3 x

 

 

2 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

2

 

 

 

 

 

 

 

0

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

x

 

exp 2 t 2 x

 

 

d

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

 

 

 

 

 

 

 

 

 

 

dt 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

или, учитывая, что

d

x

 

3 x

 

2 x ,

 

 

 

 

 

 

dt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

0

 

 

1

 

 

 

 

 

 

окончательно получим: d

dt x0 x1

d

dt x1 exp(2 t) 2 x2 3 x0 2 x1

d

dt x2 3 x0 2 x1

 

 

 

 

133

С учетом принятых обозначений

 

 

 

x1

 

 

 

 

 

 

D(t,x): exp(2 t) 2 x1 3 x0

2 x1

 

 

 

3 x0 2 x1

 

 

 

 

 

z:=rkfixed(x,a,b,n,D)

 

u:=z<1>

извлекаем из матрицы z столбцы, содержащие

v:=z<3>

решение системы уравнений x,y

 

 

i:=1..n

задаем дискретный аргумент

h:

b a

 

задаем шаг изменения аргумента t

n

 

 

 

задаем дискретные значения точных решений системы уравнений

 

23

 

i h

 

 

 

 

exp

 

 

Xi 0.25 exp(2 i h) 4 sin

2

 

i h

2

 

 

 

 

 

Yi : 0.125exp(2 i h) 23 cos 223 i h 7 sin 223 i h exp i2h

относительные погрешности численного решения уравнения

d

i

:

ui Xi

,d1 :

vi Yi

 

 

 

 

Xi

i

Yi

 

 

 

 

График относительных погрешностей численного решения

4 10 5

 

 

 

 

3 10 5

 

 

 

 

2 10 5

 

 

 

 

1 10 5

 

 

 

 

0 0

0.25

0.5

0.75

1

 

d

 

 

 

 

d1

 

 

 

Программирование

Если Mathcad не содержит необходимых для решения задачи функций, и в силу сложности решаемой задачи самостоятельно написать соответствующую функцию невозможно, то возникает необходимость в написании программы. Преимуществом программы является то, что в ней можно использовать необходимое количество

134

функций и операторов, как встроенных, так и написанных пользователем. Следует отметить, что, хотя для написания программ Mathcad предоставляет в распоряжение пользователя небольшое количество операторов, сложность программ, с учетом встроенных функций и операторов Mathcad, может быть очень большой. Для вызова операторов программирования следует нажать иконку на лицевой панели, после чего откроется палитра операторов

Процесс написания программы

Введем название программы после, если это необходимо, в скобках укажем перечень параметров передаваемых программе. Затем нажмем клавишу двоеточие (: ) и в палитре операторов кнопку (Add Line) в результате на экране появится, например, следующее изображение

Summ(a,b,c)

в черные квадраты вводятся переменные, операторы и функции. Для того чтобы переменной присвоить некоторое значение следует нажать в палитре операторов кнопку ( ). Положим, например, что программа Summ(a,b,c) - программа суммирования трех чисел a, b, c, тогда получим

Summ(a,b,c)

 

d

 

a

 

 

 

b

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

Summ d

Summ(1,2,3) = 6

Если в тест программы необходимо ввести дополнительные операторы, то следует выделить строку, после которой необходимо ввести оператор и нажать кнопку (Add Line).

В качестве примера рассмотрим текст программы, предназначенной для решения системы уравнений с треугольной матрицей

135

TRS(Y,T ,n)

 

j

 

1

 

 

 

for i 1.. n bi

break

 

 

if

Tn,n

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bn

 

 

Yn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T

n,n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

while

 

j<n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

break

 

 

if Tn

 

 

 

j,n

 

 

j

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y

 

 

 

 

 

j

 

 

1

 

T

 

 

 

 

 

 

.b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

j

 

 

 

 

 

 

 

n

 

 

j,n

 

i n

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bn

 

 

j

 

 

 

 

 

 

 

 

 

 

 

i = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tn

 

 

j,n

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j j 1

TRS b

Свойства операторов Операторы цикла

while - этот оператор аналогичен соответствующему оператору из зыков Pascl и Си. Цикл выполняется до тех пор, пока истинно некоторое условие, т.е. число циклов в данном случае заранее может быть не определено. Структура оператора имеет вид

while условие

тело

цикла

for - этот оператор аналогичен соответствующему оператору из языков Pascl и Си. Цикл выполняется заранее заданное число раз. Структура оператора имеет вид

for i 1.. n

тело

цикла

где i дискретный аргумент

Оператор прерывания исполнения программы

136

break - этот оператор позволяет прекратить выполнение программы (цикла) если выполняется некоторое условие. Структура оператора имеет вид

break if условие_выхода

Условный оператор if - этот оператор позволяет изменить порядок выполнения программы, если выполняется некоторое условие. Структура оператора имеет вид

F(x): x2 1

if -2

x -1.3

F(x)

-F(x)

if -1.3 x 0

f (x):

if 0

x 1.4

F(x)2

x otherwise

Построение графиков

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

Для создания графика следует войти в меню Insert подменю

Graph

X-Y Plot

график одной переменной

Polar Plot

график в полярной системе координат

Surface Plot

график поверхности

Contour Plot

график линей равного уровня

3D

Scatter Plot точечный график

3D

Bar Chart

трехмерная гистограмма

 

137

Vector Filed Plot график векторных полей

Или - нажать иконку

и войти в палитру графиков

и нажать кнопку соответствующего графика.

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

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

Построение графика функции заданной аналитически. Зададим аналитическое выражение для функции

f (x): exp 0.1 x2 sin(x),

щелкнем левой кнопкой мышки по свободному месту и нажмем указателем мышки по иконке в палитре Graph. В результате этих действий в окне появится заготовка графика одной переменной

1

2

где в положении маркера 1 вводится обозначение для функции, а в положении 2 обозначение для аргумента (вводить значение аргумента не обязательно). В результате получим следующий рисунок

138

 

1

 

 

 

 

 

0.5

 

 

 

 

f(x)

0

 

 

 

 

 

0.5

 

 

 

 

 

1

5

0

5

10

 

10

x

Пределы изменения функции и аргумента можно изменить для этого щелкните левой кнопкой мышки по полю графика

1

0.814

0.5

f(x) 0

0.5

0.814

1

 

 

 

 

 

 

 

 

5

0

5

10

10

 

10

 

 

x

 

10

 

выделенные на рисунке кружками цифры щелкнув по ним указателем мышки можно менять, меняя тем самым интервалы изменения аргумента и функции. Ниже на рисунке интервал изменения функции изменен с [-1,1] на [-2, 2], интервал изменения аргумента с [-10, 10] на [- 8, 8]

 

2

 

 

 

1

 

 

f(x)

0

 

 

 

1

 

 

 

2

0

5

 

5

 

 

x

 

139

Построим теперь график функции, задав массивы аргумента и функции, вначале создадим массивы

ORIGIN:=-100

f (x): exp( 0.1 x2) sin(x) n:=100

i:=-n..n h:=0.1 xi : i h

Fi : f (xi)

Затем вставим в соответствующие маркеры заготовки графика xi и Fi или f (xi) получим

 

1

 

 

 

 

 

0.5

 

 

 

 

f xi

0

 

 

 

 

0.5

 

 

 

 

 

1

5

0

5

10

 

10

 

 

 

xi

 

 

На одном и том же графике можно построить несколько функций одного и того же аргумента для этого после ввода в положении маркера f (xi) нужно нажать клавишу запятая после этого появится новый маркер куда нужно будет ввести следующую функцию на одном графике можно отобразить до 16 различных функций

 

 

 

 

1

 

 

 

 

f xi

 

 

 

0.5

 

 

 

 

 

 

 

 

 

 

 

 

sin xi

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0.1

 

x

2

 

 

 

 

exp

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

0.5

 

 

 

 

 

 

 

 

1

5

0

5

10

 

 

 

 

10

 

 

 

 

 

 

xi

 

 

Редактирование графиков. Щелкнем дважды левой кнопкой мышки по полю графика

140

в результате откроется окно Formatting Currently Selected X-Y Plot.

На вкладке X-Y Axes можно менять масштаб по осям пропорциональный, либо Логарифмический (Log scale). Задавать координатную сетку (Grid lines). Задавать нумерацию по осям (Numbered). Отображать маркеры (Show markers). Устанавливать шаг координатной сетки в автоматическом режиме или в ручную (Auto grid). При установки сетки в ручную шаг сетки вводится в позиции Number of grids:. На этой же закладке можно менять стиль отображения системы координат (Axis Stile) и менять масштаб изображения (Equal scales).

На вкладке Trace можно задавать

название графиков ( Legend label), стиль лини графика. Ниже приве-