Чтение онлайн

на главную - закладки

Жанры

Maple 9.5/10 в математике, физике и образовании

Дьяконов Владимир Павлович

Шрифт:

> subsop(1=sin(x),2=sin(x),(1+cos(x))/b);

sin(x)²

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

Одним из важных применений подстановок является проверка правильности решений уравнений и систем уравнений. Ниже дан пример такой проверки:

> eqs:={x+y+z=6,y/x=z-1,z-x=2};

> res:=solve(eqs,{х,у,z});

res: = {z = -2,
у = 12, x = -4}, {y = 2, z = 3, x = 1}

> subs(res,eqs);

{2 = 2, 6 = 6, -3 = -3}

> subs(c=a-b,(а^2-2*а*b+b^2)/с);

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

3.6.5. Подстановки правил и подвыражений

Для применения некоторого правила или списка правил rule к некоторому выражению expr используется функция applyrule(rule, expr). Применение этой функции достаточно очевидно:

> restart:applyrule(f(а::integer*х)=a*f(х),f(2*х)+g(х)-p*f(х));

2f(x)+g(x)-pf(x)

> applyrule(х^2=у,f(x^2,ln(cos(x)+2*x^2)));

f(y, ln(cos(x) + 2y))

> applyrule(b+c=x,f(a+b+c+d));

f(x + a + d)

Эта функция более мощная, чем subs, но она не выполняет математические вычисления, подобно тому, как это делает функция algsubs(a=b, f, v, options) с необязательными двумя последними параметрами. Проанализируйте следующие примеры

> algsubs(а^2=0, ехр(2-а+а^2/2-а^3/6));

e(2-a)

> applyrule(а^2=0, ехр(2-a+a^2/2-a^3/6));

e(2-a-1/6a³)

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

3.6.6. Функции сортировки и селекции

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

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

sort(L)

sort(L, F)

sort(A)

sort(A, V)

Здесь L — список сортируемых значений, F — необязательная булева процедура с двумя аргументами, А — алгебраическое выражение, V — необязательные дополнительные переменные.

Примеры применения этих функций (файл sortsel)

> restart;

> sort([у, s,f,a,c,i] ); t([2,5,1,7,3,8]);

[a, c, f, i, s, y]
t([2, 5,1,7, 3, 8])

> sort([y,s,f,a,c,i]);

[a, c, f, i, s, y]

> sort([у,s,f,а,с,i],lexorder);

[a, c, f, i, s, y]

> sort(1+х^4-х^2+х);

x4– x2 + x + 1

> sort(у*х^2+х*у+у-х^2+х^4*у^5);

x4 y5 + x2y - x2 + xy + у

> sort((y+z+x)/(y-x-z),{x, y})
;

> names:= ["Peter","Anna","Vladimir", "Ivan"];

names := ["Peter", "Anna", "Vladimir", "Ivan"]

> sort(names);

["Anna", "Ivan", "Peter", "Vladimir"]

> integers:=[$10..30];

integers := [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]

Если функция сортировки меняет порядок расположения членов в выражении (или порядок расположения выражений), то другая функция — select — служит для выделения требуемого выражения:

select(f, е)

select(f, е, b1, ..., bn)

Как бы обратной ей по действию служит функция remove, устраняющая заданные выражения:

remove(f, е)

remove(f, е, b1,.... bn)

В этих функциях f — процедура, возвращающая логическое значение, е — список, множество, сумма, произведение или функция, b1, …, bn — необязательные дополнительные аргументы.

Ниже даны примеры применения этих функций (файл sortsel):

> integers := [$10..30]:

> select(isprime,integers);

[11, 13, 17, 19, 23, 29]

> remove(isprime,integers);

[10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30]

> f:=2*ln(a*x)*exp(x)*ln(y);

f: = 2 ln(ax)ex ln(y)

> select(has,f,x);

ln(ax)ex

> remove(has,f,x);

2 ln(y)

> f:=indets(f);

f: = {a, x, y, ex, ln(y), ln(ax)}

> select(type,f,name);

{a, x, y}

> remove(type,f,name);

x, ln(y), ln(ах)}
Поделиться:
Популярные книги

Возвышение Меркурия

Кронос Александр
1. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия

Смертник из рода Валевских. Книга 1

Маханенко Василий Михайлович
1. Смертник из рода Валевских
Фантастика:
фэнтези
рпг
аниме
5.40
рейтинг книги
Смертник из рода Валевских. Книга 1

Начальник милиции

Дамиров Рафаэль
1. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции

Счастливый торт Шарлотты

Гринерс Эва
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Счастливый торт Шарлотты

Я снова не князь! Книга XVII

Дрейк Сириус
17. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я снова не князь! Книга XVII

Вечный Данж VI

Матисов Павел
6. Вечный Данж
Фантастика:
фэнтези
7.40
рейтинг книги
Вечный Данж VI

Последний попаданец 3

Зубов Константин
3. Последний попаданец
Фантастика:
фэнтези
юмористическое фэнтези
рпг
5.00
рейтинг книги
Последний попаданец 3

Не грози Дубровскому!

Панарин Антон
1. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому!

Возвышение Меркурия. Книга 12

Кронос Александр
12. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 12

Найди меня Шерхан

Тоцка Тала
3. Ямпольские-Демидовы
Любовные романы:
современные любовные романы
короткие любовные романы
7.70
рейтинг книги
Найди меня Шерхан

Ваше Сиятельство 2

Моури Эрли
2. Ваше Сиятельство
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Ваше Сиятельство 2

Адепт: Обучение. Каникулы [СИ]

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.15
рейтинг книги
Адепт: Обучение. Каникулы [СИ]

Комбинация

Ланцов Михаил Алексеевич
2. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Комбинация

Мой любимый (не) медведь

Юнина Наталья
Любовные романы:
современные любовные романы
7.90
рейтинг книги
Мой любимый (не) медведь