Волгоградского государственного технического университета кафедра «информатика»



бет2/3
Дата28.06.2016
өлшемі1.1 Mb.
#163118
түріМетодические указания
1   2   3

Линейная интерполяция

При линейной интерполяции аппроксимирующая функция соединяет опытные точки отрезками прямых линий. Для линейной интерполяции используется встро­енная функция linterp.

Обращение к функции: linterp(x. у, t), где:

х — вектор опытных значений аргумента;

у — вектор опытных значений функции;

t — значение аргумента, при котором вычисляется интерполирующее значение функции.

Иногда достаточно знать одно интерполирующее значение функции, но чаще оп­ределяется ряд значений функции, тогда t - вектор значений, а результат расчета — массив интерполирующих значений. Еще чаще t - просто переменная (аргумент интерполирующей функции), тогда результат расчета - функция, которую можно далее интегрировать, дифференцировать и т. д.

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



Кубическая сплайн-интерполяция

В большинстве случаев желательно соединять экспериментальные точки не лома­ной линией, а гладкой кривой, для чего используется сплайн-интерполяция. Ку­бическая сплайн-интерполяция позволяет провести кривую через набор точек та­ким образом, что первые и вторые производные кривой будут непрерывны в каждой точке. Эта кривая образуется путем создания ряда кубических полиномов, прохо­дящих через наборы из трех соседних точек. Кубические полиномы затем состы­ковываются друг с другом так, чтобы образовать единую кривую. Для кубической сплайн-интерполяции используется встроенная функция interp.

Обращение к функции: interp(vs, x, y).

Здесь: vs - вектор вторых производных, созданный функцией lspline(x, y), pspline(x, y) или cspline(x, y);

x —вектор опытных значений аргумента, расположенных в порядке возрастания;

y — вектор опытных значений функции;

t — значение аргумента, при котором вычисляется интерполирующее значение функции.

Сплайн-интерполяция реализована в Mathcad несколько сложнее, чем линейная. Перед применением функции interp необходимо определить первый из ее аргу­ментов — вектор vs. Делается это при помощи одной из трех встроенных функций тех же аргументов (x, y):

lspline(x, y) — создает вектор коэффициентов кривой, которая приближается к прямой линии в опорным точках;

pspline(x, y) — создает вектор коэффициентов кривой, которая приближается к квадратичной параболе в граничных точках;

cspline(x, y) — создает вектор коэффициентов кривой, которая приближается к кубической параболе в граничных точках.

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


Индивидуальное задание. Взять значения х и у, соответствующие вашему варианту, и подставить их в исходные данные (простым копированием), провести расчет.

Порядок выполнения задания.

Исходные данные



определение длины вектора х

число точек интерполяции

переменная, для интерполяции

определение х при интерполяции

Построение интерполирующих функций (согласно описания)







График функции (рис. 6):

Рис. 6.








Таблица 3



Вектор х

Вариант задания

1

2

3

4

5

6

7

8

9

1

2

1.1

0.5

1

2

1.1

0.5

1.4

2.5

4.5

2.3

1.5

2.5

4.5

2.2

1.5

2.2

4

6

5

3

4

6

5

3

4.8

5.1

7.1

5.8

4.1

5.2

7.7

5.3

4.1

5.3

6

8

7

5

6

8

7

5

7

Вектор у

Вариант задания

1

2

3

4

5

6

7

8

9

7.1

2.1

4.1

2.1

4.1

2.1

4.1

2.1

4.3

4.4

3.5

5.4

3.4

5.8

3.3

5.4

3.4

5.1

8

6

7

6.3

7

6.6

7

6.8

7

3.8

3.6

4.8

3.4

4.4

3.3

4.4

3.1

4.9

7

5

8

9

8

9

8

9

8



Лабораторная работа № 3

Решение уравнений и операции с матрицами
3.1. Решим уравнение: =0.

Щелкните по кнопке решений уравнений solve в панели символьных вычислений Symbolic Keyword Toolbar.

Введите в помеченной позиции слева от ключевого слова solve (решить) выражение для левой части уравнения, а в позиции справа от solve – имя переменной, относительно которой нужно решить уравнение.

Щелкните по свободному месту в рабочем документе. Результат – значение корня уравнения – будет отображен в рабочем документе справа от стрелки.



Символьное решение этого уравнения в Mathcad занимает одну строчку:


3.2. Решим систему уравнений:

=0

=0

=0

Введите с клавиатуры ключевое слово Given (дано).

Затем правее и ниже ключевого слова – левую часть первого уравнения системы, далее – символьный знак равенства (комбинация клавиш ctrl+=) и правую часть уравнения ноль.

Аналогично введите остальные два уравнения системы.





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



.Затем в панели символьных вычислений Symbolic Keyword Toolbar щелкните по кнопке .

Вычисленное решение системы будет отображено после щелчка мышью вне выделяющейся рамки в рабочем документе справа от стрелки в виде матрицы, каждый столбец которой содержит одно из решений системы. В приведенном выше фрагменте рабочего документа найдены два решения системы: x=0, y=2, z=0 и x=1, y=3, z=1.



Фрагмент рабочего документа Mathcad с соответствующими вычислениями приведен ниже.










3.3. Операции с матрицами в Mathcad
Для того чтобы определить матрицу, введите с клавиатуры имя матрицы и знак присваивания, например: А:=. Затем на панели математических инструментов Math Toolbar щелкните по кнопке, открывающей панель операций с векторами и матрицами Vector and Matrix Toolbar.

Откройте щелчком по кнопке Matrix or Vector окно диалога, определите число строк (Rows),число столбцов (Columns) и закройте окно диалога щелкнув по кнопке ОК.

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

Основные функции при работе с матрицами:

Функции определения матриц и операции с блоками матриц:

matrix (m, n, f)-создает и заполняет матрицу размерности mxn, элемент которой, расположенный в i-ой строке, j-м столбце, равен значению f(i, j) функции f(x, y);

dial (v) – создает диагональную матрицу, элементы главной диагонали которой хранятся в векторе v;

identity (n) – создает единичную матрицу порядка n;

augment (A, B) – формирует матрицу, в первых столбцах которой содержится матрица А, а в последних матрица В (матрицы А и В должны иметь одинаковое число строк);

stack (A, B) – формирует матрицу, в первых строках которой содержится матрица А, а в последних матрица В (матрицы А и В должны иметь одинаковое число столбцов);

submatrix (A, ir, jr, ic, jc) – формирует матрицу, которая является блоком матрицы А, расположенным в строках с ir по jr и в столбцах ic jc, ir  jr, ic  jc

Номер первой строки (столбца) матрицы или первой компоненты хранится в Mathcad в переменной ORIGIN. По умолчанию ORIGIN:=0, но в нашем случае будем использовать ORIGIN:=1.

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











Далее рассмотрим порядок решения систем уравнений матричным способом.

Пусть имеется система n алгебраических уравнений с n неизвестными:



a11 x1 + a 12 x2 + … + a 1n xn = b1

a 21 x1 + a 22 x2 + … + a 2n xn = b2

………………………………….



a n1 x1+ a n2 x2 + … + a n n xn = bn

В матричном виде эта система будет выглядеть так:



AX = B, откуда X = A-1B, где
; ; .

Таким образов, можно ввести коэффициенты a и b, и решив уравнение X = A-1B, получить значения x.


Для вычисления обратной и транспонированной матриц необходимо использовать соответствующие команды панели инструментов Matrix (Матрицы). Команда возведения в степень для скаляров (^) здесь неприемлема и работать не будет.
3.4. Индивидуальное задание. Самостоятельно решить систему трех уравнений с тремя неизвестными. Значения коэффициентов уравнения приведены в таблице 4. Эти значения можно перенести в Mathcad простым копированием.
Таблица 4

Вариант

Матрица А

Вектор В




Вариант

Матрица А

Вектор В

1

4

5

2

10




6

3

2

3

6

3

2

3

12




2

4

7

4

2

5

4

14




7

4

2

1

2

6

4

2

10




7

3

2

3

3

3

2

3

12




2

4

7

5

2

4

6

14




3

4

5

1

3

6

4

2

14




8

3

2

3

3

3

2

3

18




5

4

3

5

2

4

6

10




3

4

5

6

4

1

4

3

14




9

3

2

3

2

3

2

3

18




5

4

3

4

3

4

1

10




3

8

5

6

5

1

4

3

8




10

3

2

3

2

3

2

3

6




5

8

3

6

3

4

1

4




7

4

2

8



Лабораторная работа № 4

Использование средств Mathcad для решения электротехнических задач методом комплексных токов

В данном разделе методических указаний использованы реальные задачи из курса «Теоретические основы электротехники» (ТОЭ), изучаемого студентами направления «Электроснабжение». Порядок их решения соответствует аналогичным задачам из расчетно – графических работ по соответствующей дисциплине.

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

Для примера возьмем следующие исходные данные:

Uл = 380 В Rab = 8 Ом Rbc = 8 Ом Rca = 8 Ом

Xab = 6 Ом Xbc = 6 Ом Xca = 6 Ом



Рис. 7.


Порядок выполнения задания.

Введем значение мнимой единицы:



Введем значения полных сопротивлений для каждой из ветвей:

(Ом)

(Ом)

(Ом)

Введем значение действующего напряжения:

(В)

Находим фазные напряжения

(В)

(В)

(В)

(В)

(В)

(В)

Далее находим значения фазных токов

(А)

(А) -ток фазы ab

(А)

(А) -ток фазы bc

(А)

(А) -ток фазы ca
Найдем значения линейных токов

(А)

(А)

(А)

(А)

(А)

(А)

Далее находим мощности ветвей, при этом сопряженные токи будут равны

(А)

(А)

(А)



(ВА)

(ВА) - полная мощность ветви ab



(Ват) - активная мощность ветви ab



(ВАР) - реактивная мощность ветви ab

(носит емкостной характер, поскольку значение отрицательно)



(ВА)

(ВА) -полная мощность ветви bc



(Ват) - активная мощность ветви bc



(ВАР) - реактивная мощность ветви bc

(носит емкостной характер, поскольку значение отрицательно)

(ВА)

(ВА) - полная мощность ветви ca

(Ват) -активная мощность ветви ca



(ВАР) -реактивная мощность ветви ca

(носит индуктивный характер, поскольку значение положительно)



(ВА) - полная мощность всей цепи (Ват)

(ВА) - активная мощность всей цепи



(ВАР) - реактивная мощность всей цепи
Таблица 5

Параметр

Обозначение

Вариант задания

1

2

3

4

5

6

7

8

9

Напряжение

Uл (В)

380

220

380

220

380

220

380

220

380

Активное сопротивление цепей

Rab (Ом)

8

8

10

10

8

8

12

12

12

Rbc (Ом)

8

8

10

10

8

8

12

12

12

Rca (Ом)

8

8

10

10

8

8

12

12

12

Реактивное сопротивление цепей

Xab (Ом)

6

6

6

6

4

4

8

8

6

Xbc (Ом)

6

6

6

6

4

4

8

8

6

Xca (Ом)

6

6

6

6

4

4

8

8

6


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

Рис. 8.


Найти: ток через цепь I, напряжения на участках U1, U2, полную P, активную S и реактивную Q мощности. Выполнить расчеты для схемы включения, указанной на рис. 8 и для встречного включения (рис. 9).
Порядок выполнения задания.

Введем значение мнимой единицы:

Исходные данные:



(Ом) (Ом) (В)

(Ом) (Ом) (Ом)

Определим значения полных сопротивлений для каждого участка:

(Ом)

(Ом)

Полное сопротивление всей цепи:

(Ом)

Найдем значение тока через цепь:

(А)

(А)

Найдем значения напряжений для каждого участка:

(В)

(В)

(В)

(В)

Найдем значение сопряженного тока:

(А)

Далее находим полные, активные и реактивные мощности на участках:

(ВА)

(ВА) - полная мощность участка 1

(Вт) -активная мощность участка 1

(ВАР) – реактивная мощность участка 1

(ВА)

(ВА) - полная мощность участка 2

(Вт) - активная мощность участка 2

(ВАР) – реактивная мощность участка 2

(ВА)

(ВА) - полная мощность всей цепи

(Вт) - активная мощность всей цепи

(ВАР) – реактивная мощность всей цепи
Аналогичным образом проведем расчет цепи для случая встречного включения (рис. 9):

Рис. 9.


(В)

(Ом)

(А)

(А)

(В)

(В)

(В)

(В)

(А)

(ВА)

(ВА)

(Вт)

(ВАР)

(ВА)

(ВА)

(Вт)

(ВАР)

(ВА)

(ВА)

(Вт)

(ВАР)

Таблица 6



Параметр

Обозначение

Вариант задания

1

2

3

4

5

6

7

8

9

Напряжение

U (В)

220

380

220

380

220

380

220

380

220

Активное сопротивление цепей

R1 (Ом)

2

4

6

8

2

4

6

8

10

R2 (Ом)

6

6

4

4

4

8

8

10

12

Реактивное сопротивление цепей

X1 (Ом)

14

12

10

14

12

10

14

12

10

X2 (Ом)

8

6

10

8

6

10

8

6

10

XM (Ом)

i2

i4

i2

i2

i4

i2

i4

i2

i4


Лабораторная работа № 5

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

Для написания программ используется панель инструментов, которая вызывается соответствующей кнопкой панели Math.



Как видно, всего имеется 10 операторов, из которых и строится программа (рис. 10).



Рис. 10.
Программные строки создаются кнопкой Add Line, операторы вводятся соответствующей кнопкой. Обратите внимание, что программах мы не пользуемся оператором присваивания :=, а вместо него пишем оператор локального присваивания .

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

Все переменные, определённые в программе, теряют своё значение при выходе из неё.

5.1. Рассмотрим программу определения максимальной координаты вектора и её позиции.

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

В случае матрицы, в программу добавляется еще одна переменная, кроме k, и еще один цикл, например, по j.
5.2. Рассмотрим задачу вычисления несобственного интеграла (один из пределов равен бесконечности). Несложно убедиться, что попытка подставить бесконечный предел интегрирования не увенчается успехом.

Алгоритм работает, но выбран не самый удачный, поскольку приходится многократно пересчитывать интегральные суммы на одном и том же диапазоне. Более удачный алгоритм получится, если мы будем продолжать интегрирование от той точки, на которой закончили предыдущее интегрирование.



Получили тот же результат, что и не удивительно, но алгоритм работает быстрее.


5.3. Самостоятельно разработать следующую программу:

Имеются вектора значений допустимых нагрузок для провода соответствующие им значения площади поперечного сечения (таблица 7).


Таблица 7

Вектор допустимых значений тока, I



Вариант задания

1

2

3

4

5

6

7

8

9

5

6

4

7

4

8

6

7

4

10

12

9

14

10

16

12

14

9

18

17

16

20

16

24

17

20

16

22

24

20

26

21

32

24

26

20

28

29

24

32

26

38

29

32

24

34

37

30

38

32

44

37

38

30

42

44

38

46

40

50

44

46

38

50

55

46

52

48

56

55

52

46

Вектор значений площади поперечного сечения, s

Вариант задания

1

2

3

4

5

6

7

8

9

0.22

0.24

0.21

0.27

0.2

0.25

0.19

0.25

0.21

0.31

0.35

0.3

0.35

0.3

0.36

0.31

0.37

0.31

0.4

0.42

0.41

0.44

0.41

0.42

0.4

0.44

0.42

0.48

0.5

0.47

0.5

0.48

0.51

0.46

0.51

0.48

0.56

0.58

0.56

0.58

0.55

0.58

0.56

0.57

0.57

0.64

0.66

0.65

0.66

0.64

0.66

0.64

0.66

0.64

0.71

0.73

0.71

0.73

0.7

0.73

0.71

0.73

0.72

0.85

0.89

0.85

0.89

0.85

0.89

0.85

0.89

0.85

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

Рекомендации по выполнению задания.

1. Значения векторов тока и площади можно непосредственно скопировать в Mathcad.

2. Для нахождения соответствующего табличного значения следует использовать цикл с предусловием while.

3. Затем, используйте функцию linterp для линейной интерполяции.

4. Далее найдите ближайшее к нему значение s из таблицы (его можно определить в цикле, п.2).




Достарыңызбен бөлісу:
1   2   3




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет