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

Основы компьютерной математики. Задачи системного анализа и управления. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
1. Основы работы с системой Mathcad
31
X- / Y- / Y2-Value. Если установлен флажок Track Data Points, как это пока­зано на рисунке 1.36, то линии трассировки следуют точно вдоль графика. При отсутствии флажка они могут перемещаться по всей области графика.
Рис. 1.36. Трассировка графика
Для анализа результатов экспериментов, например, в физике, теории управления, метрологии на полученных графиках принято откладывать погрешность эксперимента. Делается это, в частности, с помощью верти­кальных отрезков, проводимых, как правило, с равным расстоянием между ними. Откладываются они, исходя из физического смысла погреш­ности. Абсолютная погрешность – это отклонение измеренного значения от действительного, она может быть как положительной, если измеренное значение меньше действительного, так и отрицательной, в противном слу­чае. Поэтому на графике границы отрезков, обозначающих погрешность, располагаются как выше, так и ниже экспериментальной кривой. Длина отрезков определяется величиной погрешности. В Mathcad’е существует возможность построения графика с отложенными ошибками подобного типа.
Пример 1.14. Построить график с отложенной погрешностью.
Построение: зададим исходные данные T, t, f(t), погрешность измерений Δ, функции f
lower
, f
top
, которые определяют нижнюю и верхнюю ошибку.
Строим график: определяем в маркере функций все три ряда данных, меняем тип отображения функций f
lower
, f
top
с Lines на Error. В результате получим
график, изображенный на рисунке 1.37.
Построить только верхнюю или только нижнюю ошибку нельзя: тип отображения Error, в отличие от всех остальных, требует задания двух рядов данных.
10− 5− 0 5
5
10
e
t
1
t
−
sinh t( )
32
1. Основы работы с системой Mathcad
Далее рассмотрим особенности создания трехмерных графиков (3D-
графиков).
Рис. 1.37. График с отложенной погрешностью
Тема трехмерных графиков очень объемная и довольно сложная, она
содержит множество методик, специальных функций и параметров. В данном разделе рассмотрим только вопросы создания трехмерных графиков, исходя из функции двух переменных или множества парамет­рических функций, а также некоторые аспекты форматирования графи­ков.
На рисунке 1.38 приведены два 3D-графика со специальным форматиро-
ванием. 3D-график слева представляет поверхность, заданную функцией двух независимых переменных. График справа представляет параметриче­скую поверхность, заданную тремя функциями двух независимых парамет­ров, определяющими декартовы x, y и z координаты. Обратите внимание, что в местозаполнитель графической области вводится только имя функции без последующей скобки и аргументов.
T 30s=
t 0s 4s 2T=
1=
f t( ) 4cos
t
T

5sin
t
T

−=
f
lower
t( ) f t( ) −=
f
top
t( ) f t( ) +=
0 20 40 60
10−
5−
5
10
f t( ) f
top
t( )
f
lower
t( )
t
1. Основы работы с системой Mathcad
33
Рис. 1.38. 3D-графики
При построении поверхности Mathcad по умолчанию определяет перемен- ные на промежутках [-5, 5] и число узлов сетки равным двадцати. Чтобы изме- нить диапазоны переменных, необходимо вызвать окно форматирования 3-D Plot Format и на вкладке QuickPlot Data изменить стартовое и конечное значения каждой переменной, а также число узлов сетки (рис. 1.39).
Пример 1.15. Построить верхнюю полусферу единичного радиуса с цен- тром в начале координат.
Рис. 1.39. Диалоговое окно форматирования
Построение: функции X(u, v), Y(u, v), Z(u, v), определяют параметрическое зада- ние сферы единичного радиуса, промежуток изменения переменной u установим
от 0 до 2π, переменной v – от 0 до
 
, окрасим поверхность – вкладка Appearance.
Получим поверхность, изображенную на рисунке 1.40.
Fx u v( ) u sin v( )=
f x y( ) x2y2+=
Fy u v( ) u cos v( )=
Fz u v( ) u sin u( )
6
=
f
Fx Fy Fz( )
34
1. Основы работы с системой Mathcad
Рис. 1.40. Верхняя полусфера
Рассмотрим далее построение графиков кривых в пространстве. Пример 1.16. Построить три витка винтовой линии, если параметриче-
ские уравнения этой кривой задаются следующими формулами:
 
   
  
 
Построение: определим функции X(u, v), Y(u, v), Z(u, v), создадим трех­мерный точечный график – 3D Scatter Plot, зададим диапазон изменения пе­ременной t (Range 1) от 0 до 6π = 18,85 и число узлов сетки равным 80, на вкладке Appearance в группе Line Options установим свойство Lines. Полу­чим кривую, изображенную на рисунке 1.41.
Рис. 1.41. Винтовая линия
X t( ) cos t( )=
Y t( ) sin t( )=
Z t( ) 0.1t=
X Y Z( )
X u v( ) cos u( ) cos v( )=
Y u v( ) sin u( ) cos v( )=
Z u v( ) sin v( )=
X Y Z( )
1. Основы работы с системой Mathcad
35
Следующий пример демонстрирует применение матричной функции
CreateMesh, которая возвращает упакованный массив, содержащий основ­ные параметры будущего графика.
Пример 1.17. Построить график функции:
󰇛 󰇜

 
      
с числом узлов по каждой переменной равным 30.
Построение: определим функцию U(x, y), нижние и верхние пределы пе­ременных x и y, число узлов по каждой переменной (рис. 1.42). Построить Surface Plot функции U(x, y) без дополнительных настроек Mathcad не мо­жет, поскольку в точке (0; 0) она терпит разрыв. Применяем матричную функцию CreateMesh.
Рис. 1.42. Функция CreateMesh
Помимо этого, существует специальная функция CreateSpace, создаю­щая массив точек для построения пространственной кривой.
󰇛 󰇜 


x
start
50−=
x
end
50=
y
start
50−=
y
end
50=
gridx30=
gridy30=
M CreateMesh U x
start
x
end
y
start
y
end
gridx gridy
( )
=
M
36
1. Основы работы с системой Mathcad
Пример 1.18. Построение расходящейся спирали с помощью функции
CreateSpace.
Построение: определим функцию H(t), начальное и конечное значение переменной t, количество точек сетки, применяем функцию CreateSpace (рис. 1.43). На вкладке Appearance в группе Line Options установим свойство
Lines.
Рис. 1.43. Расходящаяся спираль
1.5. Основы программирования
Программирование в Mathcad позволяет решать самые различные, в том числе и довольно сложные, задачи: определение условий сравнения и ветв­ления, организация циклических расчетов, проведение итерационных расче­тов и т. д.
H t( )
t cos t( ) t sin t( )
t
 
 
=
t
start
0=
t
end
20=
gridt100=
N CreateSpace H t
start
t
end
grid
t
( )
=
N
1. Основы работы с системой Mathcad
37
Создать программный модуль можно с помощью рабочей панели Pro-
gramming, которая содержит следующие операторы:
Add Line – добавляет строку в программном блоке;
 – присваивает значение локальной переменной;
if – условный оператор (оператор ветвления); otherwise – оператор, который исполняется в случае невыполнения
условия оператора if;
for – оператор задания цикла for с фиксированным числом повторений; while – оператор задания цикла while, который выполняется, пока ис-
тинно некоторое условие;
break – оператор преждевременного завершения цикла; continue – оператор преждевременного завершения текущей итерации
цикла;
return – оператор преждевременного завершения подпрограммы-функ-
ции и возврата значения;
on error – оператор обработки ошибок. Пример 1.19. Определить следующие функции и построить их
графики:
󰇛󰇜 
  
 
 
󰇛󰇜 󰇥
      
  
Решение: для задания функции f(t) использовали оператор Add Line и условный оператор if. Поскольку функция h(t) является периодиче­ской на множестве [0; ∞) с периодом T = 1, то задать ее в Mathcad на всей вещественной прямой не получается. Поэтому определяем функ­цию h(t,k), которая совпадает с h(t) на (-∞; kT], с помощью цикла for, когда переменная-счетчик принимает значения 1, 2, …, k. Далее строим графики функций f(t) на [-1; 3] и h(t, 7) на [-3; 7], при этом график по­следней совпадает с графиком функции h(t) на указанном множестве (рис. 1.44).
38
1. Основы работы с системой Mathcad
Рис. 1.44. Создание программных модулей
Пример 1.20. Численно решить задачу Коши для дифференциального
уравнения и заданного начального условия
󰆒 󰇛󰇜  󰇛󰇜 
методом Рунге-Кутты четвертого порядка на отрезке [0; 1] с шагом интегри­рования h = 0,01. Построить график функций y(x).
f t( ) etsin 8t( ) t
8
if
0 otherwise
=
1− 0 1 2 3
20−
10−
10
f t( )
t
h t k( )
t n 1−( )−return n 1− t nif
n 1 kfor
0
=
2− 0 2 4
0.5−
0.5
1
1.5
h t 7( )
t
1. Основы работы с системой Mathcad
39
Решение: зададим функцию 󰇛 󰇜 󰇛󰇜 , начальное условие определяет   и  .
Метод Рунге-Кутты четвертого порядка является одним из самых ши­роко используемых методов для решения задачи Коши и записывается в виде совокупности формул:

  

 
   
  󰇛 󰇜
   
 
 

   
 
 

  󰇛   
󰇜
Используя приведенные выше формулы, задаем вектор x с помощью ре­куррентного соотношения, связывающего его координаты, и создаем под­программу для вычисления координат вектора y и возвращающую данный вектор.
Далее строим график решения задачи (рис. 1.45).
40
1. Основы работы с системой Mathcad
Рис. 1.45. Реализация метода Рунге-Кутты 4 порядка
f x y( ) sin x( ) y−=
x00=
y01=
h 0.01=
k 1 100=
xkx
k 1−
h+=
y
K1 h f x
k 1−yk 1−
( )
K2 h f x
k 1−
1 2
h+ y
k 1−
1 2
K1+
 
 
K3 h f x
k 1−
1 2
h+ y
k 1−
1 2
K2+
 
 
K4 h f x
k 1−
h+ y
k 1−
K3+
( )
yky
k 1−
1 6
K1 2K2+ 2K3+ K4+( )+
k 1 100for
y
=
x
T
012345678
9
000.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
...
=
y
T
012345678
010.99
0.98
0.971
0.962
0.952
0.944
0.935
...
=
0 0.5 1 1.5
0.6
0.7
0.8
0.9
1
y
x
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]