Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Maple 9.5/10 Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, Ρ„ΠΈΠ·ΠΈΠΊΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 39

Автор Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π”ΡŒΡΠΊΠΎΠ½ΠΎΠ²

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ type(object,t) ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, относится Π»ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ‚ΠΈΠΏΡƒ t, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

> type(2+3,integer);

true

> type(sin(Ρ…),function);

true

> type(hello,string);

false

> type("hello",string);

true

> type(1/3,fraction);

true

ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ соотвСтствии Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ (Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€), функция type Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС β€” false.

Для Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ функция hastype(expr, t), Π³Π΄Π΅ expr β€” любоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ t β€” Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π­Ρ‚Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° содСрТится Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ expr. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ примСнСния этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π°Π½Ρ‹ Π½ΠΈΠΆΠ΅ (Ρ„Π°ΠΉΠ» control):

> hastype(2+3,integer);

true

> hastype(2+3/4,integer);

false

> hastype(2*sin(x),function);

true

> hastype(a+b-c/d,`+`);

true

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° функция β€” has(f,x) β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ… содСрТится Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ f, ΠΈ false Π² ΠΈΠ½ΠΎΠΌ случаС:

> has(2*sin(Ρ…),2);

true

> has(2*sin(x), `/`);

false

> has(2*sin(x),3-1);

true

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ соотвСтствиС ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° выраТСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ понимаСтся Π² матСматичСском смыслС. Π’Π°ΠΊ, Π² послСднСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Β«3-1Β», Ссли ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ, Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 2*sin(x) Π½Π΅ содСрТится, Π½ΠΎ Maple-язык ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ соотвСтствиС 3-1=2, ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ функция has Π² послСднСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true.

Ѐункция has ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для выявлСния Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ матСматичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Однако Π½Π°Π΄ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ has оцСниваСтся ΠΈ исполняСтся. Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

> has(2*sin(2),sin);

true

> has(2*sin(2),'sin');

true

> has(2*sin(2.), 'sin');

false

Π—Π΄Π΅ΡΡŒ Π½Π°Π΄ΠΎ ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 2*sin(2) послС ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΈ исполнСния Π½Π΅ мСняСтся, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Maple, ΠΏΡ€ΠΈ цСлочислСнном Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ синуса, Π½Π΅ вычисляСт Π΅Π΅ ΠΈ вычислСнноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ совпадаСт с исходным ΠΈ содСрТит Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ синуса. Однако sin(2.) ΡƒΠΆΠ΅ вычисляСтся ΠΈ становится числом. ИмСнно поэтому Π² послСднСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ функция sin ΡƒΠΆΠ΅ Π½Π΅ обнаруТиваСтся. ПодобноС ΠΈΠΌΠ΅Π΅Ρ‚ мСсто ΠΈ Π² рядС Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ интСгрирования:

> has('int(Ρ…^2,Ρ…)',int);

true

> has(int(Ρ…^2,Ρ…),int);

false

> int(Ρ…^2,Ρ…);

> has(int(Ρ…^2,Ρ…), Ρ…^3/3);rue

Π‘Ρ‚ΠΎΠ»ΡŒ ΠΆΠ΅ ΠΏΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ интСгрирования. Π’Π°ΠΊ, has(int(Ρ…^2, Ρ…), int); Π΄Π°Π΅Ρ‚ false, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π» оцСниваСтся ΠΈ вычисляСтся, Ρ‡Ρ‚ΠΎ Π²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠΎΠ΄ΠΌΠ΅Π½Π΅ выраТСния Π½Π° Ρ…^3/3 ΡƒΠΆΠ΅ Π½Π΅ содСрТащСго ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² интСгрирования. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΡΡΠ½ΡΡŽΡ‚ Π΄Π²Π° послСдних ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… вычислСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° ΠΈ функция has Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true для значСния ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π°. Π’ Ρ‚ΠΎΠΆΠ΅ врСмя Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ int(x^2,x) Π² апострофы позволяСт Π½Π°ΠΉΡ‚ΠΈ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ интСгрирования int, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ исходноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² этом случаС прСдставлСно Π² нСисполняСмой Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ содСрТит ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΈΠ½ΠΎΠ³Π΄Π° полСзная функция контроля Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ depends(f,x) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, Ссли Ρ… Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² f ΠΈ false Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС. ΠŸΡ€ΠΈ этом Π½Π°Π΄ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ функция (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅) оцСниваСтся ΠΈ исполняСтся. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ сказанноС:

> depends(2+2*sin(x),Ρ…);

true

> depends(int(Ρ…^2,Ρ…),Ρ…);

true

> depends(int(Ρ…^2,Ρ…=0..1), Ρ…)

false

Π’ послСднСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ вычислСнноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ это ΡƒΠΆΠ΅ просто число, Π² Π½Π΅ΠΌ Ρ… Π½Π΅ содСрТится, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false.

3.6. Π Π°Π±ΠΎΡ‚Π° с подстановками

3.6.1. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ прСобразования ΠΏΠΎΠ΄Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

НСрСдко Π±Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ΄Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΡ‚ этого подвыраТСния, Ρ‚.Π΅. ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ подстановку. БрСдства для обСспСчСния подстановок Π΅ΡΡ‚ΡŒ Π²ΠΎ всСх БКМ. Π’Π°ΠΊ, для этого Π² Maple 9.5 ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ applyop:

β€’ applyop(f, i, Π΅) β€” примСняСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ f ΠΊ i-ΠΌΡƒ ΠΏΠΎΠ΄Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ выраТСния Π΅;

β€’ applyop(f, i, С…, xk,…) β€” примСняСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ f ΠΊ i-ΠΌΡƒ ΠΏΠΎΠ΄Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ выраТСния Π΅ с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² xk.

НиТС Π΄Π°Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ примСнСния этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (здСсь ΠΈ Π΄Π°Π»Π΅Π΅ см. Ρ„Π°ΠΉΠ» subs):

> restart;applyop(sin,2,a+x);

a + sin(x)

> applyop(f,1,g,2,a+b);

f(g, 2, a + b)

> applyop(f,{2,3},a+x+b);

a+f(x)+f(b)

> applyop(f,{1,2},x/y+z);

> Ρ€:=Ρƒ^2-2*Ρƒ-3;

p:= yΒ²-2y -3

> applyop (f, 2,p);

p:= yΒ² -2y -3

> applyop{f,[2, 3 ], p);

yΒ²+f(-2y)-3

> applyop(f,{[2,1],3},p);

yΒ² + f(-2y) + f(-3)

> applyop(abs,{[2,1],3},p);

yΒ²+2y+3

3.6.2. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ прСобразования элСмСнтов списков

Π•Ρ‰Π΅ Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ подстановки, ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π½ΠΈΠΆΠ΅:

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);