Лабораторная работа № 2. Символьные вычисления в MATLAB

СИМВОЛЬНЫЕ ВЫЧИСЛЕНИЯ В MATLAB

Цели работы:

  • 1. Знакомство с основными положениями пакета символьных вычислений Symbolic Math Toolbox.
  • 2. Работа с символьными переменными, матрицами, математическими выражениями.
  • 3. Освоение символьных аналитических вычислений - упрощение выражений, решение алгебраических уравнений и системы линейных уравнений, вычисление суммы ряда.
  • 4. Освоение символьного интегрирования и символьного дифференцирования.
  • 5. Получение практических навыков работы в диалоговом режиме.

ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ

Пакеты расширения MATLAB

В настоящее время существуют десятки официально распространяемых пакетов расширения MATLAB, которые производятся как фирмой The MathWorks Inc — производителем данного продукта,

Окно помощи в режиме просмотра информации о функции так и сторонними производителями программного обеспечения (состав MATLAB обсуждался ранее).

Пакет Symbolic Math Toolbox предназначен для выполнения символьных вычислений.

Для получения справки по командам пакета Symbolic Math Toolbox (рисунок) следует открыть соответствующий раздел справки или получить помощь по команде

Help <имя команды >

Символьные вычисления в пакете MATLAB

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

имя переменной = sym(‘ имя переменной ‘)

Например, создадим две символьные переменные х и alfa:

>> х = sym (' x')

x =

x

>> a = sym (' alpha ')

a =

alpha

Для создания одновременно трех символьных переменных а, Ь, с надо выполнить команду

>> syms а b с

Создание символьного выражения осуществляется командой

» sym (' символьное выражение ')

Например, для создания символьной переменной, содержащей выражение ах2 + Ьх + с, следует выполнить команду

>> f = sym ('а*хЛ2 + Ь*х + с')

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

» syms а b с х

» f = sym ('а*хЛ2 + Ь*х + с')

f =

а*хл2+Ь*х+с

Обращение к стандартным функциям. С помощью функции sym можно обращаться к стандартным функциям пакета. Например, создадим функцию, возвращающую значение факториала числа:

» kfac = sym (‘ к! ‘)

Для вычисления 6! или п! надо выполнить команды

» syms k п

» subs (kfac, к, 6), subs ( kfac, к, n )

ans =

720

ans =

n!

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

» syms ab с

»A = [ab c ; b с a ; c a b]

A =

[a, b, c]

[b, c, a]

[c, a, b]

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

Решение алгебраических уравнений. Для решения алгебраических уравнений используется команда solve.

Пример 2.1. Решить уравнение 2^. Z- х + + _

Решение х — 1 2 х — 1 2 —

»[x] = solve(’2*x/(x-l)-7/2 = (x+l)/(x-l) + 5/(2-2*x)')

х = 2

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

Пример 2.2. Решить систему алгебраических уравнений

Зх + 4у = 18;

2х + 5у = 19.

Решение

>> [ х, у ] = solve('3*х + 4*у = 18', '2*х + 5*у =19 ')

х = 2

у = 3

Упрощение алгебраического выражения. Для упрощения выражений используется команда simplify.

Пример 2.3.

л/ ( 4я-9^ Ґ.

Упростить выражение а--: 2а--.

Решение а а 2)

> syms х % описываем символьную переменную;

» р = (а - (4 * а - 9)) / (а - 2) / (2 * а - 2 * а / (а - 2)) % задаем символьное выражение;

» simplify (р)

ans =

-3/2/а

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

Пример 2.4. Вычислить сумму ряда у —.

Решение ?=1

syms х к

» s = symsum (1 / к Л 4, 1, inf)

  • s =
  • 1 / 90 * pi А 4

Символьное дифференцирование. Для вычисления производной функции f (х) необходимо:

задать выражение, описывающее функцию;

использовать функцию diff.

Пример 2.5. Вычислить производную функции sin (ах) по переменной х.

Решение » symax » у = sin (а * х) » diff (у)

% описываем символьные переменные

% задаем дифференцируемую функцию

% вычисляем производную в символьном виде

ans =

cos (а * х) * а

Пример 2.6. Вычислить производную функции sin (а х) по параметру а.

Решение

» symах

» у = sin (а * х)

» diff (у, а)

% описываем символьные переменные

% задаем дифференцируемую функцию

% вычисляем производную в символьном виде

ans =

cos (а * х) * х

Пример 2.7. Вычислить производную функции х”

Решение

» symxy п » у = х А п » diff (у, х)

% описываем символьные переменные

% задаем функцию хп

% вычисляем производную функции хп в символьном виде

ans =

x л n * n /х

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

int (f),

int (f, [u]),

int (f, [u , a, b ]),

где f - символьная подынтегральная функция; необязательные переменные: и - переменная интегрирования; а — нижний предел интегрирования; b — верхний предел интегрирования.

Продемонстрируем приемы вычисления интегралов в MATLAB на примерах.

Пример 2.8. Вычислить интеграл J—------— .

Решение а +

» syms а b с % задаем символьные пере

менные

>>int(l/aA2 + (b*x)A2) % вычисляем интеграл в сим

вольном виде

ans =

1/ а / b * atan (b * х / а)

Пример 2.9. а/ь

Вычислить интеграл [--

Решение а + Фх)2

» syms а b с % задаем символьные

переменные

» int (1 / а Л 2 + (Ь * х) А 2, 0, а / Ь) % вычисляем интеграл

в символьном виде

ans = l/4*pi/a/b

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

  • 1. Перечислите пакеты расширения MATLAB.
  • 2. Как получить справку по командам пакета Symbolic Math Toolbox?
  • 3. Какая функция используется для создания символьных переменных и служит для обращения к стандартным функциям?
  • 4. Какая команда используется для решения алгебраических уравнений?
  • 5. Какая команда используется для упрощения алгебраических выражений?
  • 6. Какая команда используется для вычисления сумм рядов?
  • 7. Что необходимо сделать для вычисления производной функции?
  • 8. Перечислите функции, служащие для вычисления интегралов в символьном виде.

ПРАКТИЧЕСКИЕ ЗАДАНИЯ

  • 1. Ознакомиться с теоретическим материалом и ответить на вопросы.
  • 2. В интерактивном режиме ввести данные и осуществить вычисления согласно заданию.
  • 3. Показать преподавателю протоколы выполненных заданий в MATLAB.

Методические указания

Открыть окно программы MATLAB, используя соответствую--Л MATLAB 7.0.4

щии ярлык

Выполнить задания согласно указаниям, используя при необходимости раздел справки программы MATLAB.

Задание 2.1. Решить алгебраические уравнения, используя команду solve:

.1 х + 8 1 1

а) ----+ —ч--=--1;

х-3 2х2-18 3-х

_ X х+1 1

б) ----+-----= ;

х-1 х + 3 х2 + 2х-3

Задание 2.2. Решить систему алгебраических уравнений, используя команду solve. Выбрать уравнение согласно своему варианту.

Варианты заданий:

Номер варианта

Система уравнений

1

у2-Злу + х2-х + у + 9 = 0;

у — х = 2

2

(2х-6)/3-(х-2)/2 = 2у;

(Зх — 6)/2 + у/2 = х

3

2х + у=1;

у2-2ху-х2 = -28

4

х2 —ху = 12—у2;

х — 2у = 6

5

(х —6)/2 — (у+1) / 3 = 1;

(2-у)4 + (х-1)/2 = 2

6

х — у = 7;

7

х22 = 9-2ху

8

< l/x-1/у = -4/5, х-у = 4

9

  • 4 / (х - у) + 12(х + у) = 3,
  • 8 / (х - у) +18(х - у) = -1

10

3 / (х - у) - 4 / (х + у) = -1, 9/(х-у)-10/(х + у) = 8

11

6 / (х - у) - 8 / (х + у) = -2, 9/(х-у)-10/(х + у) = 8

< l/x + 4/у = 4,

1/е-2/х = 10

  • 12
  • 13
  • 14
  • 15
  • 16

|2/х+1/у=4,

[1/х-3/у=9

[1/х+1/у=7/12,

[1/х-1/у=1/12

fl/x-І/у=3/8,

[х+у=12

х+у=3,

х2 +Зху+у3-х-у = 2

'Зх-у=10,

х22 =20- ху.

Задание 2.3. Упростить выражения, используя команду simplify:

а)р =

с с с2+4>(2-с)2 .

с-2 с + 2 4-е2

  • 1 1
  • б) р = і і ,
  • (х-1)(х-3) (х-3)(х-5) (х-5)(х-7)

Зх

в) л = Зх--

I х —4

6х-25 х--

х-4

Задание 2.4. Вычислить сумму ряда, используя команду symsum.

Выбрать уравнение согласно своему варианту.

Варианты заданий:

Номер варианта

Функциональный ряд

(-1)^

J=?(^4

  • *=2 2Л
  • (2fc-l)2

S ~ 2-і і

?1(36 + 1/

h 2кк

°° 1

S = ^k(2k + 1)

_ ~ к

S~hkk+^)

s = j

Й(^ + 1)(^ + 2)

_y 1

s^+w+2)^

_у к

^(k + l)(k + 2)(k + 3)

(2^-D

h(k + l)2k2

13

°° 1

14

t=2 к

15

’ 2A-1

e-

16

Й5^ + 1

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

Варианты заданий:

Номер варианта

Функция для вычисления производной

1

1пх

Хл/1 + ІПХ

2

1п2х

X

3

xexsinx

  • 4
  • 1
  • 2+9)
  • 1 ? ҐП
  • — Sin — arc sin
  • 7
  • 8
  • 9
  • 10

xx(l + lnx)

д/л2 -0,16

X

e3x + l

ex + l

ex(l + sinx)

COSX+ 1

  • 11 Sinxln(tgx)
  • 12 1
  • (х + 1)д/х2 + 1

Задание 2.6. Используя функцию int, подготовить и организовать ь вычисление определенного интеграла: у = jf(x)dx. а

Подынтегральная функция /(х) определена и непрерывна на интервале а < х < Ь. Вид подынтегральной функции/(х), а также интервал интегрирования [a, Z>] определяются номером варианта (таблица).

Номер варианта

Подынтегральная функцияДх)

а

b

1

1пх

Хл/1 + ІПХ

1

3.5

2

1п2 X

X

1

4

3

xexsinx

0

1

Окончание

Номер варианта

Подынтегральная функция fix)

a

b

4

1 7cv2+9)

0

2

5

1 (и —rsin —

1

2,5

6

. ( X ] arc sin -----

0

3

7

xx(l + lnx)

1

3

8

-Jx2 -0,16

X

1

2

9

e3*+l ex + l

0

2

10

ex(l + sinx) cosx + 1

0

1,5

11

sinx ln(tg x)

1

1,5

12

  • 1
  • (x + l)Vx2 + l

0

0,75

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >