Лабораторная работа по информатике и ИКТ

  • docx
  • 29.05.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала ЛАБОРАТОРНАЯ РАБОТА №5 РАБОТА С ПАКЕТОМ MATHCAD.docx

ЛАБОРАТОРНАЯ РАБОТА №5 РАБОТА С ПАКЕТОМ MATHCAD. ЧИСЛЕННОЕ РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ И ОБРАБОТКА ДАННЫХ

 

 

 

 


ЦЕЛЬ РАБОТЫ

 

Познакомится с возможностями пакета MathCAD.

 

 


КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

 

Для поиска функции, удовлетворяющей обыкновенному дифференциальному уравнению (ОДУ) в заданном диапазоне значений, можно использовать блоки решения.

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь выходная функция рассчитана в диапазоне 0 ≤ x ≤ 20:


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При использовании ОДУ в блоках решения необходимо учитывать следующие ограничения.

 

·        Для решения ОДУ в блоках решения используйте оператор "равно". Не используйте операторы сравнения или неравенства. Для определения


производных используйте оператор производной или оператор штриха.

 

·        Начальные и граничные условия. Для одного ОДУ n-го порядка должно быть задано n независимых ограничений в форме равенства: Конечные точки, используемые в граничных условиях, должны

 

соответствовать конечным точкам, указанным в команде odesolve. PTC Mathcad проверяет правильность типа и количества условий и возвращает ошибку при обнаружении несоответствия.

 

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

 

 

 

 

 

Неявным аргументом для этих функций является переменная интегрирования:

 

 

 

 

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

 

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

 

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

 

·        interp — интерполяция в заданной точке выходных данных функций cspline, lspline, pspline, bspline или loess.

 

·        bspline, Spline2, Binterp, DWS — интерполяция B-сплайном с заданными пользователем узлами.

 

·        cspline, pspline, lspline, Bicubic2D — интерполяция кубическим сплайном в одном и двух измерениях с кубическими, параболическими и линейными условиями на концах.

 

·        linterp — линейная интерполяция.

 

·        predict — линейный прогноз.


·        polyint, polycoeff, polyinter — полиномиальная интерполяция.

 

·        rationalint — интерполяция рациональной функцией.

 

·        Thielecoeff, Thiele — непрерывная дробная интерполяция Тиле. linterp(vx, vy, x): возвращает полученное линейной интерполяцией

 

значение в точке x для векторов данных vx и vy.

 

Функция linterp выполняет линейную интерполяцию в запрошенной точке x, рассчитывая промежуточные значения между соседними точками данных линии наилучшего приближения. Для значений x вне диапазона данных функция linterp экстраполирует прямую линию между двумя первыми или последними точками.

 

Аргументы

 

·        vx является вектором значений вещественных данных в порядке возрастания.

 

·        vy является вектором значений вещественных или комплексных данных, имеющих то же количество элементов, что и vx.

 

·        x является значением независимой переменной, для которого интерполируется результат. Для получения наилучших результатов переменная x должна располагаться в интервале между значениями vx.

 

Пример использования функции linterp, чтобы выполнить линейную интерполяцию.

 

Определяется набор значений y.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

Определяется вектор значений x, для которых нужно интерполировать кривую.


 

 

 

Вызывается функция linterp, чтобы выполнить линейную интерполяцию между точками данных.

 

 

 

График для точек данных и интерполированной кривой.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Функция linterp выглядит как прямая линия между наборами точек данных. Интерполяция подразумевает, что функция последней аппроксимации, рассчитанная между последними двумя точками, остается истинной для всех других точек на этом конце диапазона. Допущения редко бывают приемлемы. Существуют различные методы прогнозирования значений за пределами диапазона данных.

 

Функция interp в интерполяции и регрессии используется для интерполяции в данной точке выходных данных одной из следующих функций: cspline, lspline, pspline, bspline или loess. interp(vs, vx, vy, x) или interp(vs, Mxy, Mz, X): возвращает интерполированное значение в точке x из коэффициентов вектора vs и исходные данные в vx и vy. При подгонке поверхности X является двухэлементным вектором, для которого рассчитываются интерполированные значения z.

 

Аргументы


·        vs является вектором, созданным одной из следующих функций: cspline(vx, vy), lspline(vx, vy), pspline(vx, vy) и др.

 

·        vx и vy являются векторами одинаковой длины, состоящими из вещественных значений.

 

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

 

·        Mxy — массив n x 2 независимых вещественных данных, задающих координаты x и y относительно диагональной или прямоугольной сетки. Поэтому необходимо иметь одинаковое число значений x и y в точках независимых данных.

 

·        Mz — массив n x n вещественных данных. Это значения z, соответствующие значениям x и y в Mxy.

 

·        X является вещественным двухэлементным вектором значений, для которого требуется рассчитать поверхность интерполяции.

 

При  осуществлении  аппроксимации  кривой  проводится  подгонка

 

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

 

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

 

Линейная и медиан-медианная регрессия

 

·        line, slope, intercept, stderr — линейная регрессия по методу наименьших квадратов для данных и среднеквадратическая ошибка, связанная с линейной регрессией.

 

·        medfit — медиан-медианная линейная регрессия для данных. Полиномиальная регрессия и регрессия рациональной функции

 

·        loess — локализованная полиномиальная регрессия.

 

·        rationalfit, rationalfitnp — регрессия рациональной функции по методу наименьших квадратов.

 

·        polyfit, polyfitc, polyfitstat — многомерная полиномиальная регрессия. Нелинейная регрессия

 

·        genfit — нелинейная регрессия по методу наименьших квадратов для произвольных функций подгонки.


·        expfit — экспоненциальная регрессия по методу наименьших квадратов.

 

·        lnfit, logfit — логарифмическая регрессия по методу наименьших квадратов.

 

·        lgsfit — регрессия логистической кривой по методу наименьших квадратов.

 

·        pwrfit — регрессия кривой мощности по методу наименьших квадратов.

 

·        sinfit — синусоидальная регрессия по методу наименьших квадратов.

 

Довольно часто используется линейная регрессия, при которой аппроксимирующая функция y(x) имеет вид y(x) = a + bx , для определения коэффициентов которой в MathCAD служат следующие встроенные функции:

 

·        intercept(VX, VY) – возвращает значение параметра a (величины отрезка, отсекаемого линией регрессии на оси OY);

 

·        slope (VX, VY) – возвращает значение параметра b (тангенса угла наклона линии регрессии).


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

polyfit(X, Y, n) определяет функцию, описывающую поверхность многомерной полиномиальной регрессии, которая подгоняет результаты, записанные в матрице Y, к данным, найденным в матрице X. Уравнение полиномиальной регрессии можно определить, задав степень полинома n.

 

Например, функция полиномиальной регрессии p:

 

p := polyfit(X, Y ,1)


p(v) = 1.075

 

Функция p берет векторный аргумент v, указывающий значение для каждой независимой переменной p, как описывается матрицей X. Каждая переменная вектора v должна иметь единицы, совместимые с соответствующим столбцом матрицы X. Единицы измерения, возвращаемые аппроксимирующей функцией p, совместимы с единицами измерения матрицы Y.

 

Аргументы

 

·        X — матрица плана или матрица, в которой каждый столбец представляет независимую переменную. Каждый столбец X должен иметь совместимые единицы измерения.

 

·        Y — вектор или матрица с результатами измерений или моделирования, где каждая строка содержит результаты отдельного выполнения или точку данных, определенную в X. Если строки содержат неодинаковое число реплик, необходимо заполнить пустые элементы Y значениями NaN. Элементы матрицы Y должны иметь совместимые единицы измерения.

 

·        n — целое число, задающее степень полинома. Оно должно быть меньше общего числа точек данных: 1 ≤ n ≤ length(Y) − 1. В противном случае задача недостаточно ограничена и не имеет уникального решения.

 

 


ЗАДАНИЕ

 

Упражнение     1.      Найти     численное    решение    дифференциального

уравнения в MathCAD на интервале x[0, 20]. Построить график решения.

 

Вариант

f(x)

Вариант

f(x)

 

01, 26, 51,

  ′′ − 4  + 3   = 0

14, 39,

  ′′ − 3  + 4   = 0

 

76

  (0) = 6,  (0) = 10

64, 89

  (0) = 3,  (0) = 4

 

02, 27, 52,

′′ + 4  + 29   = 0

15, 40,

′′+4  +2  =0

 

77

  (0) = 6,  (0) = 15

65, 90

  (0) = 6,  (0) = 1

 

03, 28, 53,

′′ + 4  +  = 0

16, 41,

′′ + 2  +  = 0

 

78

  (0) = 2,  (0) = 0

66, 91

  (0) = 1,  (0) = 0

 

04, 29, 54,

′′′ = −4 

17, 42,

′′′ = −4  + 1

 

  (0) = 2,  (0) = 0

  (0) = 2,  (0) = 1

 

79

67, 92

 

  ′′(0) = −1

  ′′(0) = −1

 

 

 

 

05, 30, 55,

′′′ + 2  ′′ + 2  −2   = 0

18, 43,

′′′ + 2  ′′ + 2  −   = 0

 

  (0) = 2,  (0) = 1

  (0) = 1,  (0) = 2

 

80

68, 93

 

  ′′(0) = 1

  ′′(0) = 1

 

 

 

 

06, 31, 56,

′′′ =3(2− 2)

19, 44,

′′′ =2(3− 2)

 

  (0) = 1,  (0) = 1

  (0) = 1,  (0) = 2

 

81

69, 94

 

  ′′(0) = 1

  ′′(0) = 1

 

 

 

 


Вариант

f(x)

Вариант

f(x)

 

07, 32, 57,

′′′ + 9  = 0

20, 45,

′′′ + 3  = 0

 

  (0) = 3,

(0) = 1

  (0) = 2,

(0) = 1

 

82

70, 95

 

′′(0) = −1

′′(0) = −1

 

 

 

 

08, 33, 58,

′′+ −2  =0

21, 46,

′′+2  −2  =0

 

83

  (0) = 0,

(0) = 1

71, 96

  (0) = 0,

(0) = 2

 

09, 34, 59,

′′′+2  ′′+1=0

22, 47,

′′′+2  ′′−1=0

 

  (0) = 2,

(0) = 1

  (0) = 2,

(0) = 1

 

84

72, 97

 

′′(0) = 0

′′(0) = 0

 

 

 

 

10, 35, 60,

′′ − 20  + 25   = 0

23, 48,

′′ − 25  + 20   = 0

 

85

  (0) = 4,

(0) = 0

73, 98

  (0) = 5,

(0) = 0

 

11, 36, 61,

  ′′′′ +   ′′ +  = 0

24, 49,

′′′′+ ′′+  +1=0

 

  (0) = 3,

(0) = 2

  (0) = 3,

(0) = 3

 

86

74, 99

 

′′(0) = 1,

  ′′′(0) = 0

′′(0) = 1,

  ′′′(0) = 0

 

 

 

 

12, 37, 62,

′′′+ ′′+ +  =

25, 50,

′′′ + 2  ′′ + 2   =

 

  (0) = 0,  (0) = −2

  (0) = 1,  (0) = −2

 

87

75, 00

 

′′(0) = 0

′′(0) = 0

 

 

 

 

13, 38, 63,

′′′+2  ′′+ −1=0

 

′′′+2  ′′+ −2=0

 

  (0) = −2,

(0) = 3

 

  (0) = −2,

(0) = 3

 

88

 

 

′′(0) = 1

 

′′(0) = 2

 

 

 

 

 

Упражнение 2. Выполнить в MathCAD заданного вида интерполяцию табличных данных y = f (x). Построить графики.

 

Аппроксимировать таблично заданную зависимость y = f (x) указанной функцией с помощью регрессионного анализа. Построить графики.

 

Вариант

f(x)

Вариант

f(x)

 

 

х = [1 2 3 4 5 6 7 8 9]

 

х = [1 2 3 4 5 6 7 8 9]

 

 

y = [12,5 10 13,6 17,4 21,5 20,5

 

y = [12,5 10 13,6 17,4 21,5 20,5

 

01, 26, 51,

29,3 27,6 31,2]

14, 39,

29,3 27,6 31,2]

 

Вид интерполяции – Кусочно-

Вид интерполяции – Сплайновая

 

76

64, 89

 

линейная

Модель регрессионного анализа

 

 

 

 

 

Модель регрессионного

 

– Полином 3 степени

 

 

анализа – Полином 4 степени

 

 

 

 

X=[510152025303540]

 

X=[510152025303540]

 

 

y = [99,1 50,6 23,5 20,1 45,7 51,1

 

 

 

 

y = [99,1 50,6 23,5 20,1 45,7 51,1

 

 

76,0 110,1]

 

 

02, 27, 52,

15, 40,

76,0 110,1]

 

Вид интерполяции – Кусочно-

 

77

65, 90

Вид интерполяции – Сплайновая

 

линейная

 

 

 

Модель регрессионного анализа

 

 

Модель регрессионного

 

 

 

 

– Полином 2 степени

 

 

анализа – Линейная

 

 

 

 

 

 

 

x = [0,5 0,7 1,0 1,1 1,5 1,8 1,9 2,2

 

x = [0,5 0,7 1,0 1,1 1,5 1,8 1,9 2,2

 

 

2,3]

 

2,3]

 

 

y = [14,5 10,1 9,6 5,5 3,6 0,5 -0,3

 

y = [14,5 10,1 9,6 5,5 3,6 0,5 -0,3 -

 

03, 28, 53,

-7,6 -8,0]

16, 41,

7,6 -8,0]

 

78

Вид интерполяции – Кусочно-

66, 91

Вид интерполяции – Сплайновая

 

 

линейная

 

Модель регрессионного анализа

 

 

Модель регрессионного

 

– Полином 4 степени

 

 

анализа – Полином 3 степени

 

 

 

04, 29, 54,

x = [0 3 4 5 7 8 11 14 17]

17, 42,

x = [0 3 4 5 7 8 11 14 17]

 


Вариант

f(x)

Вариант

f(x)

 

79

y = [-3 0 2 10 9 14 21 25 31]

67, 92

y = [-3 0 2 10 9 14 21 25 31]

 

 

Вид интерполяции – Кусочно-

 

Вид интерполяции – Сплайновая

 

 

линейная

 

Модель регрессионного анализа

 

 

Модель регрессионного

 

– Полином 3 степени

 

 

анализа – Полином 2 степени

 

 

 

 

x = [-10 -9 -8 -7 -6 -5 - 4]

 

x = [-10 -9 -8 -7 -6 -5 - 4]

 

 

y = [12 23 33 41 47 56 59]

 

y = [12 23 33 41 47 56 59]

 

05, 30, 55,

Вид интерполяции – Кусочно-

18, 43,

Вид интерполяции – Сплайновая

 

80

линейная

68, 93

Модель регрессионного анализа

 

 

Модель регрессионного

 

– Полином 4 степени

 

 

анализа – Полином 2 степени

 

 

 

 

x = [3,7 5,1 6 7,2 8 8,3 8,9 9,4 9,6]

 

x = [3,7 5,1 6 7,2 8 8,3 8,9 9,4 9,6]

 

 

y=[14 16 12 12 10,3 9 7 8,9 5 1]

 

y=[14 16 12 12 10,3 9 7 8,9 5 1]

 

06, 31, 56,

Вид интерполяции – Кусочно-

19, 44,

Вид интерполяции – Сплайновая

 

81

линейная

69, 94

Модель регрессионного анализа

 

 

Модель регрессионного

 

– Полином 2 степени

 

 

анализа – Линейная

 

 

 

 

x = [1,3 1,5 2,0 3,4 6,1 7,0 9,3

 

x = [1,3 1,5 2,0 3,4 6,1 7,0 9,3 10,2

 

 

10,2 11]

 

11]

 

 

y = [120 115 100 99 81 72 64 55

 

y = [120 115 100 99 81 72 64 55

 

07, 32, 57,

48]

20, 45,

48]

 

82

Вид интерполяции – Кусочно-

70, 95

Вид интерполяции – Сплайновая

 

 

линейная

 

Модель регрессионного анализа

 

 

Модель регрессионного

 

– Полином 2 степени

 

 

анализа – Полином 3 степени

 

 

 

 

x = [100 111 120 124 128 131

 

x = [100 111 120 124 128 131 156

 

 

156 163 170]

 

163 170]

 

 

y = [315 299 250 266 270 111 91

 

y = [315 299 250 266 270 111 91

 

08, 33, 58,

100 78]

21, 46,

100 78]

 

83

Вид интерполяции – Кусочно-

71, 96

Вид интерполяции – Сплайновая

 

 

линейная

 

Модель регрессионного анализа

 

 

Модель регрессионного

 

– Полином 3 степени

 

 

анализа – Полином 2 степени

 

 

 

 

x =[0,5 0,7 1,0 1,1 1,5 1,8 1,9 2,2

 

x =[0,5 0,7 1,0 1,1 1,5 1,8 1,9 2,2

 

 

2,3]

 

2,3]

 

 

y = [14,5 10,1 9,6 5,5 3,6 0,5 -0,3

 

y = [14,5 10,1 9,6 5,5 3,6 0,5 -0,3 -

 

09, 34, 59,

-7,6 -8,0]

22, 47,

7,6 -8,0]

 

84

Вид интерполяции – Кусочно-

72, 97

Вид интерполяции – Сплайновая

 

 

линейная

 

Модель регрессионного анализа

 

 

Модель регрессионного

 

– Полином 3 степени

 

 

анализа – Полином 4 степени

 

 

 

 

x = [5 10 15 20 25 30 35 40 45 50]

 

x = [5 10 15 20 25 30 35 40 45 50]

 

 

y = [99,1 50,6 23,5 20,1 45,7 51,1

 

y = [99,1 50,6 23,5 20,1 45,7 51,1

 

10, 35, 60,

76 110,1 156,1 176,2]

23, 48,

76 110,1 156,1 176,2]

 

Вид интерполяции – Кусочно-

Вид интерполяции – Сплайновая

 

85

73, 98

 

линейная

Модель регрессионного анализа

 

 

 

 

 

Модель регрессионного

 

– Полином 4 степени

 

 

анализа – Линейная

 

 

 


Вариант

f(x)

Вариант

f(x)

 

 

x = [0 3 4 5 7 8 11 14 17]

 

x = [0 3 4 5 7 8 11 14 17]

 

 

y = [-3 0 2 10 9 14 21 25 31]

 

y = [-3 0 2 10 9 14 21 25 31]

 

11, 36, 61,

Вид интерполяции – Кусочно-

24, 49,

Вид интерполяции – Сплайновая

 

86

линейная

74, 99

Модель регрессионного анализа

 

 

Модель регрессионного

 

– Полином 4 степени

 

 

анализа – Полином 3 степени

 

 

 

 

x = [1 2 3 4 5 6 7 8]

 

x = [1 2 3 4 5 6 7 8]

 

 

y = [12,5 10 13,6 17,4 21,5 20,5

 

y = [12,5 10 13,6 17,4 21,5 20,5

 

12, 37, 62,

29,3 27,6]

25, 50,

29,3 27,6]

 

Вид интерполяции – Кусочно-

Вид интерполяции – Сплайновая

 

87

75, 00

 

линейная

Модель регрессионного анализа

 

 

 

 

 

Модель регрессионного

 

– Полином 2 степени

 

 

анализа – Полином 2 степени

 

 

 

 

x = [2 4 6 8 10 12 14 16]

 

x = [2 4 6 8 10 12 14 16]

 

 

y = [1 1,5 1,2 3 4,1 7,2 5,5 3,4]

 

y = [1 1,5 1,2 3 4,1 7,2 5,5 3,4]

 

13, 38, 63,

Вид интерполяции – Кусочно-

 

Вид интерполяции – Сплайновая

 

88

линейная

 

Модель регрессионного анализа

 

 

Модель регрессионного

 

– Полином 4 степени

 

 

анализа – Полином 4 степени

 

 

 

 

Упражнение 3. Определить количество тепла необходимое чтобы нагреть 2 литра воды на 50 °С. Решить задачу используя встроенные размерности.

 

Упражнение 4. Мяч бросается со скоростью 100 м/с под углом к горизонту 45 градусов. На мяч действует только сила тяжести. Необходимо построить траекторию полета мяча и определить координаты максимально высокой точки. Решить задачу используя встроенные размерности.

 

 


КОНТРОЛЬНЫЕ ВОПРОСЫ

 

1.     Назовите способы решения дифференциальных уравнений в MathCAD.

 

2.     Назовите методы интерполяции и регрессионного анализа, используемые в MathCAD.