Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы вычислений в MathCAD. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Контрольные вопросы
1. Какой алгоритм реализует root с четырьмя аргументами?
2. Поясните метод уточнения корня для root с двумя аргументами.
3. Чем отличаются функции find и minerr?
4. Как реализовать в документе решение по методу Крамера?
5. Как найти локальный экстремум?
6. Как уточнить корни полинома?
7. Как применять функцию polyroots?
8. В чем особенность решения уравнений с параметром?
9. Какова структура блока решения алгебраических уравнений?
10. Как задать погрешность при решении уравнений?
Тема 4. Решение дифференциальных уравнений
В соответствии с вариантом задания с погрешностью 0.001 и ша­гом h = 0.1 найти решение дифференциального уравнения (системы уравнений) двумя способами: с помощью встроенной функции rkfixed и с использованием блока решения given – odesolve. Количество узлов –
10, не считая первого узла, заданного в начальных условиях. Ниже при-
ведены варианты дифференциальных уравнений:
1. dy/dx = - z + y, dz/dx = exp(x) - z, y(0) = 1, z(0) = 3.
2. dx/dt = - y - x3, dy/dt = - x - y3, x(0) = 1, y(0) = 1.
3. y′′(x)+18sin(y)cos3(y), y(0) = 0.1, dy/dx (0) = 0.
4. y′′(t)+y(t)=cos(t), y(0) = 1, dy/dt (0) = 1.
5. y′′+0.1*y′+y = 0, y(0) = 0.1, y′(0) = 0.
6. y′′ - 2*y′+y = 2et, y(0) = 0.2, dy/dt (0) = 10.
7. dy/dx = - y + z, dz/dx = 2y - z, y(0) = 0, z(0) = 1.
8. dy/dx = 3y - 2z, dz/dx = 2y - z, y(0) = 1, z(0) = 2.
9. dy/dx = y + z, dz/dx = x + y + z, y(0) = 1, z(0) = 1.
10. dx/dt = x, dy/dt = 2y, x(0) = 1, y(0) = 1.
11. x′′+2x′+x = 0, x(0) = 1, dx/dt (0) = 0.
12. dx/dt = 2x - ycos(y), dy/dt = 3x - 2y - xy2, x(0) = 1, y(0) = 1.
13. dy/dx = z - 2y - xz2, dz/dx = -7y - 2z - 7zy2, y(0) = 1, z(0) = 1.
14. dx/dt = sin(y) - 2x, dy/dt = 5(ex - 1) - y, x(0) = 1, y(0) = 1.
61
15. dy/dx = y3 + z, dz/dx = y - z3, y(0) = 0, z(0) = 1.
16. dy/dx – y2z3 + z = 0, dz/dx = y – y3z2, y(0) = 0, z(0) = 1.
17. dx/dt = x + 2y, dy/dt = - 5x - y, x(0) = 0, y(0) = 1.
18. dx/dt = 2y - x, dy/dt = - 2x - y, x(0) = 0, y(0) = 1.
19. dx/dt = x - 2y, dy/dt = 3x - 4y, x(0) = 0, y(0) = 1.
20. dx/dt = x + 2y, dy/dt = 2x + y, x(0) = 0, y(0) = 1.
21. dy/dx = 2y - zcos(z), dz/dx = 3y - 2z - yz2, y(0) = 1, z(0) = 1.
22. y′′(t)+2 y′(t)/t+y(t) = 0, dy/dt (0) = 0, y(0) = 1.
23. dx/dt = 2x - y, dy/dt = x + 2y, x(1) = 1, y(1) = 1.
24. dx/dt = y, dy/dt = - x, x(0) = 1, y(0) = 1.
Ниже приведен пример реализации действий сначала с использо-
ванием блока решения ОДУ.
Решаем задачу с помощью встроенной функции rkfixed.
62
Контрольные вопросы
1. Сделайте постановку задачи Коши.
2. Какова структура блока решения ОДУ?
3. Поясните параметры, используемые функцией rkfixed.
4. В чём суть метода Эйлера?
5. Как из ОДУ n-го порядка получить систему из n уравнений пер-
вого порядка?
6. Реализуйте для своего варианта задания решение модифициро-
ванным методом Эйлера.
7. Чем отличаются функции rkfixed и Rkadapt?
8. Как выбрать метод решения, реализуемый Odesolve?
9. Решите свой вариант задания, реализовав в документе метод
Рунге − Кутта четвертого порядка.
10. Что является решением системы ОДУ?
63

Тема 5. Обработка данных

1. Для проведения интерполяции сформировать два вектора ис-
ходных данных на основе соответствующего варианта задания и ре­зультатов его выполнения по теме 1. Вектор x состоит из 10 равномерно отстоящих друг от друга отсчетов аргумента t на интервале от нуля до момента окончания сигнала, а вектор y – из стольких же отсчетов функ­ции s(t).
2. Произвести линейную интерполяцию и сплайн-интерполяцию
данных.
3. Аппроксимировать данные, представленные в таблице ниже,
линейной и полиномиальной зависимостью. Степень аппроксимирую-
щего полинома для четных вариантов задания принять равной трём, а
для остальных вариантов задания – четырём. Оценить степень близости
аппроксимирующих зависимостей к исходным данным. Найти с помо-
щью встроенных функций пакета среднее значение, дисперсию, средне-
квадратическое отклонение от среднего для заданных величин, а также
коэффициент их взаимной корреляции.
№ п/п
Вектор абсцисс узловых точек Вектор ординат узловых точек
1
1.2, 1.47, 1.88, 2.17, 2.54, 2.80,
3.31, 3.69
6.45, 7.01, 7.63, 8.12, 8.69, 9.35,
9.74, 10.22
2
3.14, 3.46, 3.69, 3.92, 4.25, 4.48,
4.77, 4.91, 5.36, 5.57
3.42, 3.81, 4.52, 4.89, 5.11, 5.02,
4.76, 4.47, 4.08, 3.55
3
0.61, 0.89, 1.17, 1.52, 1.83, 2.09,
2.45, 2.7, 3.01
0.071, 0.05, 0.033, 0.018, 0.012,
0.007, 0.004, 0.003, 0.002
4
0.16, 0.29, 0.45, 0.58, 0.74, 0.91,
1.05, 1.21, 1.34
0.351, 0.263, 0.155, 0.087, 0.047,
0.031, 0.02, 0.012, 0.008, 0.005
5
2.57, 2.89, 3.36, 3.79, 4.25, 4.61,
4.98, 5.26
9.14, 8.75, 8.23, 7.42, 7.01, 7.54,
7.89, 8.66
6
5.37, 5.91, 6.37, 6.84, 7.29, 7.68,
8.25, 8.73
2.49, 3.17, 3.92, 4.68, 5.14, 5.79,
6.21, 6.75
7
0.8, 1.01, 1.20, 1.39, 1.6, 1.81,
2.00, 2.19, 2.4, 2.6
0.046, 0.037, 0.026, 0.019, 0.014,
0.009, 0.007, 0.005, 0.003, 0.002
8 1.02, 1.57, 1.93, 2.48, 2.86, 3.35, 4.56, 5.13, 5.51, 5.82, 6.14, 6.37,
64
3.81, 4.42 6.58, 6.67
9
0.5, 0.6, 0.69, 0.8, 0.9, 1.00, 1.09,
1.2
0.112, 0.083, 0.065, 0.041, 0.019,
0.006, 0.004, -0.001
10
1.05, 1.65, 2.08, 2.76, 2.99, 3.65,
4.05, 4.15, 4.39, 4.76
3.45, 6.76, 9.08, 17.98, 27.78,
40.43, 53.87, 59.96, 70.08, 85.96
11 1, 2, 3, 4, 5, 6, 7, 8
0.97, 4.13, 8.74, 15.91, 25.83,
37.01, 46.1, 67.8
12
0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8,
0.9, 1.0
-2.89, -2.72, -2.51, -2.24, -1.93,
-1.56, -1.15, -0.68, -0.17, 0.4
13
0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8,
0.9, 1.0
0.96, 1.0, 1.14, 1.35, 1.67, 2.09,
2.58, 3.16, 3.8, 4.6
14
0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8,
0.9, 1.0
1.18, 1.34, 1.46, 1.56, 1.63, 1.66,
1.67, 1.64, 1.59, 1.5
15
0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8,
0.9, 1.0
0.82, 0.67, 0.53, 0.44, 0.38, 0.34,
0.33, 0.36, 0.42, 0.5
16
0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8,
0.9, 1.0
2.93, 2.9, 2.93, 3.0, 3.13, 3.3, 3.5,
3.8, 4.13, 4.5
17
0.15, 0.3, 0.45, 0.6, 0.75, 0.9, 1.05,
1.2, 1.35, 1.5
-1.37, -1.59, -1.64, -1.54, -1.28,
-0.87, -0.29, 0.44, 1.33, 2.38
18
0.16, 0.34, 0.52, 0.66, 0.85, 1.0,
1.18, 1.37, 1.54, 1.71
4.44, 4.73, 4.89, 4.88, 4.74, 4.46,
4.03, 3.45, 2.7, 1.9
19
0.12, 0.25, 0.37, 0.49, 0.62, 0.74,
0.87, 0.99, 1.15, 1.3
2.7, 2.31, 1.84, 1.28, 0.64, -0.08,
-0.89, -1.78, -2.76, -3.83
20
0.14, 0.27, 0.43, 0.55, 0.7, 0.85,
0.98, 1.13, 1.25, 1.4
2.64, 2.44, 2.36, 2.42, 2.6, 3.0,
3.42, 4.03, 4.7, 5.66
21
0.15, 0.32, 0.49, 0.64, 0.8, 0.95,
1.11, 1.27, 1.44, 1.61
2.53, 2.16, 1.95, 2.0, 2.39, 3.22,
4.56, 6.49, 9.13, 12.54
22
0.13, 0.25, 0.4, 0.52, 0.65, 0.78,
0.92, 1.06, 1.17, 1.3
2.95, 2.82, 2.63, 2.4, 2.14, 1.89,
1.65, 1.44, 1.3, 1.22
23
0.09, 0.2, 0.31, 0.4, 0.5, 0.59, 0.7,
0.81, 0.9, 1.01
2.99, 2.96, 2.93, 2.92, 2.94, 3.0,
3.12, 3.32, 3.62, 4.0
24 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
-7, -15, -21, -22, -15, 3, 35, 84, 153
Ниже показан пример реализации предусмотренных заданием
действий. Начинаем с интерполяции данных, полученных из темы 1.
65
Из последней строки примера хорошо видно, что сплайн-интерпо-
ляция дает более точные результаты по сравнению с линейной интерпо-
ляцией.
Приступаем к аппроксимации данных.
66
Контрольные вопросы
1. Что такое интерполяция?
2. Как выполнить линейную интерполяцию данных?
3. Как осуществить сплайн-интерполяцию?
4. Как реализовать линейную регрессию?
5. Как произвести полиномиальную регрессию?
6. Реализуйте по методу наименьших квадратов кубическую ре-
грессию своего варианта данных.
7. Что возвращают функции mean, stdev, var?
8. Как оценить качество выполненной аппроксимации?
9. Чем отличается сглаживание данных от интерполяции?
67
аппроксимацию
10. Что такое аппроксимация данных?
Тема 6. Программирование
Запрограммировать решение соответствующего варианта задания.
1. Заполнить случайными целыми из диапазона [0, 2) элементы
вектора v и матрицы m. Получить вектор w как результат умножения матрицы на вектор. Найти скалярное произведение sp двух векторов; если sp ≤ 2, но не равно нулю, то вывести столбец матрицы с номером sp, иначе – вектор w. Если sp = 0, то вывести "ОШИБКА!".
2. Методом дихотомии с погрешностью 0.001 уточнить все корни
уравнений ln(x) – x + 2.1 = 0 и exp(y) – 4y2 = 0.
3. Методом касательных с погрешностью 0.001 уточнить все кор-
ни уравнений ln(x) – x + 2.3 = 0 и exp(y) – 3y2 = 0.
4. Методом простой итерации с погрешностью 0.001 уточнить все
корни уравнений ln(x) – 1.2x + 1.8 = 0 и 1.5exp(y) – 5y2 = 0.
5. Методом секущих с погрешностью 0.001 уточнить все корни
уравнений 2x2 -10x + 3 = 0 и exp(y) – y3 = 0.
6. Методом хорд с погрешностью 0.001 уточнить все корни урав-
нений 3x2 – 7x + 1 = 0 и 5exp(y) – 4y3 + 2y2 – y – 8 = 0.
7. С погрешностью 0.001 вычислить по методу прямоугольников
.
и .
8. Вывести все совершенные числа из диапазона 0 – 10000. Со-
вершенное число равно сумме своих делителей, включая единицу.
9. Вывести все простые числа из диапазона [11, 43]. Простое чис-
ло делится только на единицу и само на себя.
10. Получить вектор кодов для чисел из диапазона [13, 23].
11. Вычислить
n
для всех n ⊂ [2, 10] с погрешностью 0.001 по
формуле q(k+1)=[q(k)+n/q(k)]/2.
68
12. Вычислить программно cos(x) =
∏
∞
1n
22
2
]
)1-n2(
x4
-1[
=
π
с погрешно-
стью 0.001 для x ⊂ [0.1, 0.8] с шагом 0.1.
13. Выяснить зависимость корня уравнения ln(x) – x + p = 0 от па-
раметра p ⊂ [1.2, 2.0] с шагом 0.2, решая уравнение на отрезке [1.5, 3.5] методом дихотомии с погрешностью 0.001.
14. Построить зависимость sin(x)/x =
!)1n2(x)1-(
∑
∞
0n
n2n
=
+
на отрез-
ке [0, 1] с шагом 0.1 и погрешностью 0.001.
15. Найти скалярное произведение вектора задаваемого размера и
наибольшего по модулю столбца матрицы соответствующего размера.
Вектор и матрицу заполнить случайными целыми из диапазона [0, 2).
16. Заполнить вектор и матрицу случайными целыми из диапазона
[0, 2]. Получить вектор максимальных значений в строках матрицы.
Найти скалярное произведение двух векторов.
17. Заполнить матрицу заданного размера (не менее 3х3) случай-
ными целыми, не превосходящими трёх. Взять из неё нижнюю правую
подматрицу 2х2, которую преобразовать в вектор.
18. Создать вектор из девяти случайных целых, не превосходящих
пяти. Переписать его элементы в строки матрицы. Добавить в матрицу
четвёртый столбец, состоящий из последних элементов вектора, а затем
четвёртую строку, состоящую из первых элементов вектора.
19. Установить, является ли введенная строка текста палиндромом
(перевёртышем). Предусмотреть удаление пробелов между словами.
20. Создать матрицы m1 с элементами, равными корню квадрат­ному из суммы индексов, и m2 из случайных чисел, не превышающих 3. Если максимальный элемент m1 больше максимального в m2, то m1 преобразовать в вектор, иначе – m2.
69
21. Модифицированным методом Эйлера решить систему из двух ОДУ: dy/dx = x∙y + z, dz/dx = x + y∙z. Начальные условия: x = y = z = 1.
Количество узлов – 10, шаг 0.1.
22. Выявить числа-палиндромы из диапазона от 100 до 255, не ис-
пользуя при этом строку (массив).
23. Найти числа из диапазона [1, 1000], равные сумме факториа-
лов их цифр (например, 145 = 1! + 4! + 5!).
24. Среди чисел от 1 до 1000 найти числа, равные сумме кубов
цифр.
Ниже приведен пример реализации конкретных действий.
В примере v1 – вектор порядковых номеров символов строки s.
Возвращает программа массив из векторов v1, v2, v3 и подматрицы sm.
Контрольные вопросы
1. Как вставить дополнительную строку в программу?
2. Каким может быть аргумент цикла for?
3. Для чего используют оператор break?
4. Как просмотреть значения нескольких переменных программы?
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]