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

на главную

Жанры

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

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

Шрифт:

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

map(fcn, expr, arg2, ..., argn)

map2(fcn, arg1, expr, arg3,..., argn)

Здесь fcn — процедура или имя, expr — любое выражение, argi — необязательные дополнительные аргументы для fcn.

Первая из этих функций позволяет приложить fcn к операндам выражения expr. Приведенные ниже примеры иллюстрируют использование функции map:

> f:=х->х^2;

f: = х→х²

> map(f, [1,2,3]);

[1, 4, 9]

> map(f,[x,y,z]);

[x², y², z²]

> map(х->х^n, [1,2,3]);

[1, 2n, 3n]

> L:=[1,2,3,4];

L:=[1, 2, 3, 4]

> map(proc(x,y) x*y+1 end,[1, 2, 3, 4], 2);

[3, 5, 7, 9]

> map(int,L,x);

[x, 2x, 3x, 4x]

> map(F, [1, 2, 3], x, y, z);

[F(3, x, y, z), F(3, x, y, z), F(3, x,
у, z)]

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

Функции map2 отличается иным расположением параметров. Ее действие наглядно поясняют следующие примеры:

> map2(w, g, {а,b,с});

{w(g, a), w(g, b), w(g, с)}

> map2(op,1,[a+b+i,c+d+k, e+f+j]);

[а, с, е]

> map2(ор,3,[a+b+i,c+d+k,e+f+j]);

[i, k, j]

> map2(diff,[sin(х),cos(х),x^n],х);

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

> е := <х^2, -sqrt(16-х^2), 5>;

Примеры на работу с выражениями, имеющими множители Лагранжа можно найти в файле демонстрационным L4lagra.mse.

3.6.3. Подстановки с помощью функций add, mul и seq

Заметим, что операции, подобные описанным выше, Maple реализует и с рядом других функций. Ограничимся примерами на подстановки с помощью функций сложения add, умножения mul и создания последовательностей seq:

> add(i,i=[a,b,c]);

a + b + c

> addi=[a,b,c]);

a² + b² + c²

> add(i^2,i=[1,2,3]);

14

> mul(x-i,i=0..4);

x(x - 1)(x - 2)(x - 3)(x - 4)

> mul(х^i,i=0..4);

x10

> seq(w(i),i={a,b,c});

w(a), w(b), w(c)

> seq(w(x, y, z), i={1,2,3});

w(x, y, z), w(x, y, z), w(x, y, z)

> seq(int(x^i,x),i={1,2,3,4});

3.6.4. Подстановки с помощью функций subs и subsop

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

• subs(x=a,e) — в выражении е заменяет подвыражение х на подвыражение а;

• subs(s1,…,sn,e) — в выражении е заменяет одни подвыражения на другие, выбирая их из списков s1, sn вида х=а;

• subsop(eq1, eq2, …, eqi, …, eqn, e) — в выражении e заменяет указанные в eqi операнды другими, указанными в правой части равенств eqi вида ni=ei, где ni — номер операнда, ei — выражение для замены.

Все эти функции возвращают измененное после подстановки выражение. Ниже показаны примеры применения функций подстановок:

> subs(а=b,b^2-2*а*b-b^2);

– 2 b²

> subs (а=2,b=1,b^2-2*а*b-b^2);

> normal(%);

a-b

> subs(a=x,b=y,c=z,[a,b,с]);

[x, y, z]

> subs({x=y,y=x),[x,y]);

[y, х]

> subs(a=sin(x),b=cos(x),а^2+b*b);

sin(x)² + cos(x)²

> simplify(%);

1

> subsop(1=x,a+b+c);

x + b + c

> subsop(2=x,a+b+c);

a + x + c

> subsop(3=x,a+b+c);

a + b + x

> subsop(3=x,a+b/c);

Error, improper op or subscript selector

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

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

(1 +cos(x))sin(x)
Поделиться:
Популярные книги

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

Кронос Александр
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
рейтинг книги
Мой любимый (не) медведь