Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 сем_Лабор практ_ЭВМ в инж расч.doc
Скачиваний:
8
Добавлен:
01.03.2025
Размер:
6 Мб
Скачать
☆

Порядок решения системы уравнений в системе Mathcad

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

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

2. наберите ключевое слово Given. Это слово указывает Mathcad, что далее следует система уравнений. Убедитесь, что Вы не находитесь в текстовой области.

3. введите уравнения и неравенства в любом порядке ниже ключевого слово Given; (при вводе знака равенства в уравнении используйте сtrl= при этьом равенство выделяется жирным);

4. Введите выражение, которое включает Find(z1, z2, . . .). Эта функция возвращает решение системы уравнений. Число аргументов, должно быть равно числу неизвестных.

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

Для решения матричным способом задаются матрица коэффициентов системы уравнений а = () и матрица свободных членов b = (). Далее используется функция lsolve (a, b) Она выдает решение.

Задание 1. Решить систему линейных уравнений:

  • используя функции Find;

  • матричным способом, используя функцию lsolve.

 

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

Номер

варианта

Система линейных

уравнений

Номер

варианта

Система линейных

Уравнений

1

9

2

10

3

11

4

12

5

13

6

14

7

15

8

 

 

Задание 2.  Решить систему нелинейных уравнений, используя функцию Minerr.

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

Номер

варианта

Система нелинейных

уравнений

Номер

варианта

Система нелинейных

уравнений

1

9

2

10

3

11

4

12

5

13

6

14

7

15

8

 

 

Задание 3. Символьно решить системы уравнений:

 

Практическое занятие № 3-2 (продолжение). Решение систем линейных уравнений. Аппроксимация и интерполяция.

Аппроксимация и интерполяция функций в системе Mathcad

Аппроксимация функций

Аппроксимация функций заключается в приближенной замене заданной функции f(x) некоторой функцией Φ(x) так, чтобы отклонение функции Φ(x) от f(x) в заданной области было наименьшим. Функция Φ(х) при этом называется аппроксимирующей. Типичной задачей аппроксимации функций является задача интерполяции. Таблично заданная функция – эта функция, аналитический вид которой неизвестен, а ее значения известны лишь при некоторых дискретных значениях аргумента. Эта ситуация довольно часто встречается, например, при экспериментальном исследовании зависимости одной величины от другой (или нескольких других). В этом случае проводятся измерения зависимой переменной (значения функции) при некотором наборе фиксированных условий (независимой переменной). Таблично заданная функция F (или функция, заданная на сетке), таким образом, может быть представлена в виде таблицы значений зависимой переменной Y при дискретных значениях независимой переменной X (x1, x2, …,  xn) :

yi = F(xi)

X 

Y 

x1

y1

x2

y2

...

...

xn

yn

Совокупность значений независимой переменной {x1., x2, …,  xn} называют сеткой, на которой задана функция, отдельные значения независимой переменной называют узлами сетки. Обычно предполагается, что узлы упорядочены по возрастанию:

x1  <  x2  <  …  < xn

Узлы могут располагаться на произвольном расстоянии друг от друга, либо на одинаковом, в последнем случае сетка называется равномерной, а расстояние между узлами – шагом сетки h

xi+1  -  xi   = h  для всех  i = 1, 2, …, n-1

Задачей интерполирования является получение значений зависимой переменной в любой точке x на отрезке [x1,  xn], не совпадающей с узлами сетки. Решение этой задачи сводится к отысканию некоторой приближающей функции f(x), которая в некотором смысле близка к F(x), и для которой известно аналитическое выражение. При решении задачи интерполяции требуется, чтобы во всех узлах сетки значения таблично заданной и приближающей функции строго совпадали:

f(xi) = F(xi) = yi     для всех  i = 1, 2, …, n-1

Таким образом, задача интерполяции заключается в следующем. Для заданных n + 1 точек xi = х0, х1, . . ., хn, которые называются узлами интерполяции, и значений в этих точках некоторой функции f(xi) = y0, y1, . . ., yn построить полином Φ(х) (интерполяционный полином) степени n вида

(1),

принимающий в узлах интерполяции хi те же значения yi, что и функция f(xi):

\ (2).

Различают глобальную и локальную интерполяцию. Простейшим видом глобальной интерполяции является параболическая интерполяция, когда, используя описанные выше условия (2), для отыскания неизвестных n + 1 коэффициентов а0, а1, . . ., аn выражения (1) получают систему из n + 1 уравнений

(3).

Для интерполяции используют интерполяционную формулу Лагранжа (4).

Для построения интерполяционной формулы Лагранжа в MathCAD используют функцию if, записанной в виде if(cond, tval, fval) - возвращает значение tval, если cond отличен от 0 (истина); возвращает значение fval, если cond равен 0 (ложь).

Интерполяция при большом числе узлов приводит к необходимости работать с многочленами высокой степени, 50-й или 100-й. Это приводит к проблемам при вычислениях. Поэтому часто используют интерполяцию кусочными многочленами (локальная интерполяция).

При локальной интерполяции между различными узлами выбираются различные многочлены невысокой степени. В MathCAD есть для этого следующие возможности: средства линейной интерполяции (функция linterp) и интерполяции сплайном (функция interp) – линейным (lspline), параболическим (pspline) и кубическим (cspline).

Интерполирование функций полиномами

Классическим методом интерполяции таблично заданных функций является интерполяция полиномами Lm(x):

Старшая степень переменной x определяет степень полинома. Очевидно, что полином степени m полностью определяется m+1 параметром ai. Поэтому для интерполяции функции, заданной в n узлах можно использовать полином степени m = n - 1. Сравнивая выражение для Lm(x) и общее определение для математической модели, линейной по отношению к параметрам, получим, что:

,   ... ,   ,   ...    ,  

Система линейных уравнений в матричной форме примет вид

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

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

Задание по теме № 3-2. (продолжение) Решение систем линейных уравнений. Аппроксимация и интерполяция.

Ответы на задачи необходимо предоставить с точностью до шести значащих цифр.

При выполнении задания используйте методы решения систем линейных уравнений и задачи, которые к ним сводятся – интерполяция функциями и полиномами, задачи о составе смесей (в лекциях рассмотрены).

1.  Зависимость теплоемкости метана от температуры описывается уравнением

Найдите значение констант a, b, c, d  и вычислите теплоемкость метана при 300 °С и 400 °С, если известно, что

Т, К

400

600

700

900

СР, Дж/(моль·К)

40,74

52,5

58,05

67,27

2.  Даны четыре емкости с растворами кислоты различной концентрации. Если смешать растворы в определенном массовом соотношении, то получится кислота заданной процентной концентрации:

Соотношение

Концентрация кислоты, %

1:1:1:1

25

4:3:2:1

20

4:1:1:4

25

4:1:4:1

22

Определите, какова концентрация кислоты в каждом из четырех сосудов.

3.  Зависимость теплоемкости некоторого  вещества от температуры описывается уравнением

 

Найдя значение констант a, b, c, d, e,  вычислите теплоемкость метана при 300 K  и 420 K, если известно, что

Т, К

270

320

400

480

600

СР, Дж/(моль·К)

34,2

39,5

43,2

48,3

56,1

4.  Состав равновесного пара над жидкой смесью бензол-толуол в зависимости от ее состава был исследован экспериментально

% Бензола в жидкости

% Бензола в равновесном паре

0

0

20

37.23

50

71.374

80

91.254

100

100

Аппроксимируйте экспериментальные данные полиномом максимальной степени и вычислите состав пара при содержании бензола в жидкости в 40% и 75%.

5.  Экспериментально определенные температуры кипения смеси бензол-толуол в зависимости от состава приведены в таблице:

% Бензола в жидкости

t, °С

0

110.05

30

98

50

92.3

70

87.29

80

84.99

100

80.13

Опишите экспериментальные данные полиномом максимальной степени и вычислите температуру кипения при содержании бензола в жидкости в 40% и 60%.

6.   Экспериментально определенные температуры кипения смеси бензол-толуол в зависимости от состава приведены в таблице:

% Бензола в жидкости

t, °С

0.001

110.05

10

105.31

20

101.46

40

95.05

60

89.74

Аппроксимируйте экспериментальные данные следующей функцией

(ω –процентная доля бензола в жидкости) и вычислите температуру кипения при содержании бензола в жидкости в 15% и 45%.

7.  Зависимость теплоемкости некоторого  вещества от температуры описывается уравнением

 

Найдя значение констант a, b, c, d, e,  вычислите теплоемкость метана при 300оС и 400оС, если известно, что

Т, К

 270

320

400

480

600

СР, Дж/(моль·К)

34,2

39,5

43,2

48,3

56,1

8.    Экспериментальная зависимость теплоемкости некоторого  вещества от температуры приведена в таблице

Т, К

270

320

400

480

600

700

СР, Дж/(моль·К)

34,2

39,5

43,2

48,3

56,1

59,1

Аппроксимируйте зависимость полиномом наибольшей степени и найдите теплоемкость при температурах 300 и 520 К.

9.  Рассчитайте коэффициенты полинома четвертой степени, проходящего через следующие точки: (0,1), (2,2), (4,3), (5, -1), (6.-3). Постройте график данной зависимости на отрезке от 0 до 6. Найдите значение полинома при x=3.

ещество

Пик с массой

12

13

14

15

16

24

25

26

27

28

29

30

СH4

1

3

12

100

35

   

 

 

 

 

 

 

Этан

  

 

2

80

  

3

4

13

37

24

100

70

С2H4

4

7

48

13

  

2

7

21

18

100

  

 

C2H2

5

23

57

2

  

40

45

100

  

 

 

 

Задачи для самостоятельного решения по теме 3-2  "Решение систем нелинейных уравнений"

  1. Найдите решение системы уравнений в окрестности точки x0=y0=z0=0.5 с точностью до пяти значащих цифр:

  1. Найдите решение системы уравнений с точностью до пяти значащих цифр:

  1. Найдите решение системы уравнений в окрестности точки x0=y0=z0=1 с точностью до пяти значащих цифр:

  1. Уравнение Ван-дер-Ваальса имеет вид

Определите константы Ван-дер-Ваальса (a и b) для этана, исходя из определенных экспериментально значений молярных объемов при двух значениях давления. Если входящие в уравнение величины имеют размерность литр, атмосфера, моль и градус Кельвина, то универсальная газовая постоянная R будет равна 0,08206 л∙атм/(моль∙К).

Экспериментальные данные для 1 моль (n = 1) этана при 400К:

р  = 3,2486 атм при V = 10 л р = 29,577 атм при V =  1 л.

  1. Найдите решение системы уравнений:

  1. Найдите минимум функции и ее минимальное значение в окрестности точки (x0,y0,z0)= (1,1,1) с точностью до 4-х значащих цифр:

  1. Найдите решение системы уравнений с точностью до пяти значащих цифр:

  1. Найдите решение системы уравнений с точностью до пяти значащих цифр:

  1. Найдите решение системы уравнений с точностью до пяти значащих цифр:

  1. Уравнение состояния реального газа Бертло для 1 моль газа имеет вид

Определите константы уравнения (a и b), исходя из определенных экспериментально значений молярных объемов при двух значениях давления.

Если входящие в уравнение величины имеют размерность литр, атмосфера, моль и градус Кельвина, то универсальная газовая постоянная R будет равна 0,08206 л∙атм/(моль∙К).

Экспериментальные данные при 400К: р  = 3,2486 атм при V = 10 л

р = 29,577 атм при V =  1 л.

  1. Найдите решение системы уравнений с точностью до шести значащих цифр:

  1. Найдите минимум функции и ее минимальное значение  с точностью до 6-ти значащих цифр:

 

  1. Найдите решение системы уравнений с точностью до шести значащих цифр:

 

  1. Найдите максимум функции и ее максиимальное значение  с точностью до 6-ти значащих цифр:

 

  1. Найдите минимум функции и ее минимальное значение  с точностью до 6-ти значащих цифр:

 

  1. Найдите решение системы уравнений с точностью до шести значащих цифр:

 

  1. Найдите решение системы уравнений с точностью до шести значащих цифр:

 

  1. Найдите решение системы уравнений с точностью до шести значащих цифр:

 

  1. Найдите решение системы уравнений с точностью до шести значащих цифр:

 

  1. Найдите минимум функции и ее минимальное значение  с точностью до 6-ти значащих цифр:

  ,         

  1. Найдите минимум функции и ее минимальное значение  с точностью до 6-ти значащих цифр:

  ,         

Практическая работа №4. Численное интегрирование в системе Mathcad.

Численное интегрирование и дифференцирование

Наиболее распространенным подходом к численному вычислению интеграла

(1)

(1)

является разбиение отрезка [a, b] на n равных частей а = х0 < х1< . . . < хn = b c шагом h = , интерполирование функции y = f(x) на отрезке [a, b] (получение интерполяционного многочлена Φ(x)) и замена в (1) интеграла интегральной суммой:

(2)

(2)

Соотношения вида (2) называют квадратурными формулами.

Численное интегрирование с помощью ортогональных полиномов

Численное дифференцирование аналитически или таблично заданной функции f(x) на отрезке [a, b] в точке х = Х заключается в замене f(x) интерполяционным полиномом ϕ(x), который можно найти аналитически с помощью соответствующих формул

(7).

Для численного вычисления интеграла

(5)

отрезок [a, b] разбивают на n равных частей а = х0 < х1< . . . < хn = b c шагом

h = . Интерполирование функции y = f(x) на отрезке [a, b] (получение интерполяционного многочлена ϕ(x)) и замена в (5) интеграла интегральной суммой (квадратурная формула)

(6).

В простейших случаях в качестве интерполяционного многочлена ϕ(x) берут ступенчатую, кусочно-линейную или кусочно-параболическую функции, а также полином степени k = n (ϕ(x) = xk).

Рис. 2. Численное дифференцирование и интегрирование

Разные методы интегрирования

формула прямоугольников

In

(3)

формула трапеций

(4)

формула Симпсона (n – четное число)

In

мМетод неопределенных коэффициентов состоит в вычислении определенного и интеграла (1) с помощью формулы (2), коэффициенты Аi, которой находятся в

результате решения следующей системы уравнений:

Г где , k = 0, 1, . . ., n.

(6)

(5)

Символьное интегрирование и дифференцирование

Для вычисления интегралов (или нахождения первообразных) аналитически заданной функции используется команда Symbolic → Integrate on Variable (Интегрировать по переменной). Она возвращает символьное значение неопределенного интеграла по указанной маркером ввода переменной. Выражение, в состав которого входит переменная, является подынтегральной функцией.

Команда Symbolic→ Differentiate on Variable (Дифференцировать по переменной) возвращает символьное значение производной выражения по той переменной, которая указана курсором. Для вычисления производных высшего порядка нужно повторить вычисление необходимое число раз.

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

γ – константа Эйлера,

Дифференцирование

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

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

Для того чтобы продифференцировать функцию f(x) необходимо:

  1. Если вычисляется производная функции в точке, то указывается значение этой точки, например x:=1.

  2. Ввести оператор дифференцирования нажатием кнопки Производная (Derivative) на панели Матанализ (Calculus) или ввести с клавиатуры вопросительный знак.

  3. В появившихся местозаполнителях ввести функцию, зависящую от аргумента x, т.е. f(x), и имя самого аргумента x.

  4. Ввести знак равенства (=) для численного вывода результата или знак символьного равенства () для получения результата в символьном виде.

Пример

Вычислить дифференциалы функций:

  1. в точке x=0,01;

  2. в точке x=0,1;

  3. s(x)=sin x;

  4. q(x)=sin x в точке x=3 (символьное значение).

Порядок ввода:

Производные высших порядков

Mathcad позволяет численно определять производные высших порядков до 5-го включительно. Чтобы вычислить производную функции f(x) N-го порядка в точке x, нужно проделать те же самые действия, что и при взятии первой производной, за тем исключением, что вместо оператора производной необходимо применить оператор N-й производной (Nth Derivative). Этот оператор вводится с той же панели Матанализ (Calculus) либо с клавиатуры нажатием клавиш [Ctrl]+[?] и содержит еще два местозаполнителя, в которые следует поместить число N. В полном соответствии с математическим смыслом оператора, определение порядка производной в одном из местозаполнителей приводит к автоматическому появлению того же числа в другом из них. Чтобы вычислить производную более чем пятого порядка (т.е. N>5), нужно воспользоваться оператором N-й производной несколько раз.

Пример

1) Вычислить производную второго порядка в точке х=0,1:

2) Вычислить производную седьмого порядка:

3

a=8, b=8

) Вычислить производную шестого порядка:

Задание по теме «Дифференцирование в системе Mathcad»

I.

Задание 1. Определить функцию f(x) таблично, вычислив значения уi = f(xi) в точках хi = a + h i, i = 0, 1, ..., 8,

h = (b – a)/8 на отрезке [a, b].

 

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

 

Номер

варианта

f(x)

[a, b]

[c, d]

1

[0.4, 0.8]

[2, 2.1]

2

[0.8, 1.6]

[-1, - 0.9]

3

[0.18, 0.98]

[0.5, 0.6]

4

[0.8, 1.6]

[2, 2.1]

5

[0, 0.4]

[1.5, 1.6]

6

[0.8, 1.6]

[1, 1.1]

7

[0.4, 1.2]

[2, 2.1]

8

[0.8, 1.2]

[1, 1.1]

9

(x + 1) sin x

[1, 5]

[1, 1.1]

10

5x + x lg x

[0.2, 1]

[1.3, 1.4]

11

(2x + 3) sin x

[0.4, 1.2]

[0.5, 0.6]

12

[0.4, 1.2]

[1, 1.1]

13

1/(1 + x + x2)

[0, 4]

[2, 2.1]

14

(1+x)/(2+x)

[0.4, 0.8]

[1.5, 1.6]

15

[0.4, 1.2]

[0.5, 0.6]

II. Вычислить производную функции y(x):

  1. y(x)=x2+3x+1

  2. y(x)=arcsin2x

  3. y(x)=

III. Вычислить производную функции y(x) в точке x0:

  1. y(x)=x-cosx, x0=-3

  2. y(x)=sinx2+x2, x0=2

  3. y(x)=0,5xcosx , x0=3

  4. y(x)=5(sinx-cos5x), x0=-2

  5. y(x)=sin(3/x+3)+2x , x0=3

IV. Вычислить производную старшего порядка функции y(x) в точке x0:

  1. y(x)=x2 – cosx, x0=-3, второго порядка

  2. y(x)=e -2x + x3 , x0=2, третьего порядка

  3. y(x)=ex + x4/3 , x0=0,5, шестого порядка

Вычисление интегралов

Существует несколько методов вычисления определенных интегралов: метод прямоугольников, метод трапеции, метод касательных и метод Симпсона, которые дают разную точность при вычислении интеграла [*]. Для вычисления определенных интегралов численными методами необходимо:

  1. Указать подинтегральную функцию.

  2. Указать верхний и нижний пределы интегрирования.

  3. Указать количество точек, на которые разбивается отрезок интегрирования.

  4. Вычислить шаг интегрирования.

  5. Написать формулу интегрирования.

Для каждого метода интегрирования в алгоритме будет меняться только формула интегрирования, т.е. пункт 5.

Пример

Вычислить , .

Рассмотрим вычисление определенного интеграла с помощью метода прямоугольников.

Порядок ввода:

– подинтегральная функция

a:= 0 – нижний предел интегрирования

b:=  – верхний предел интегрирования

t:= 40 – количество точек разбиения отрезка интегрирования

– шаг интегрирования

x:= a, a + h..b

i:=1..t

S=3.943

Построим график функции f(x) и установим для него следующие параметры: вспомогательные линии по обеим осям (вкладка Оси X-Y) и тип представления ряда данных – bar (прямоугольник) на вкладке След (рис. 11).

Рис. 11. Вычисление определенного интеграла методом прямоугольников

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

Порядок набора данных:

  1. Ввести интегрируемую функцию.

  2. Указать пределы интегрирования.

  3. Ввести знак интеграла с помощью соответствующей кнопки на панели Матанализ (Calculus) или вводом с клавиатуры сочетания клавиш [Shift]+[F7].

  4. Нажать [=].

Пример

Вычислить определенный интеграл , где , a=0, b=2.

Порядок ввода:

С помощью панели Матанализ (Calculus) можно вычислять двойные интегралы.

Пример

Задание по теме 4 «Численное интегрирование в системе Mathcad»

  1. Вычислить интегралы:

  1. Вычислить определенный интеграл функции f(x)=sinx на отрезке [1;3], используя метод прямоугольников для t=10, 50, 100, 500, 1000, 1500.

III. Вычислить интеграл :

  • с помощью встроенного оператора интегрирования;

  • по формуле прямоугольников;

  • по формуле Симпсона;

  • с помощью встроенного оператора интегрирования и интерполяцией табличной функции кубическим сплайном (функции cspline и interp);

  • методом неопределенных коэффициентов для численного интегрирования.