"Вычисления, визуализация и программирование в среде MATLAB 5.x" - читать интересную книгу автора (Мартынов Н. Н., Иванов А. П.)

MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх
169
-J MATLAB Command Window
Eiie |dit Window Help
╗ syiubVl = ╗ whos Nnme Size
symbVl lxl symbVZ lxl
; syiubV2 = syiii('3*y'); Hytes Class
130 sym object 130 syni object
Grand total is 8 elements using 260 bytes
-lM ╨шёєэюъ 5.10
╬Єё■фр тшфэю, ўЄю юс·хъЄ√ (яхЁхьхээ√х) Єшяр sym чрэшьр■Є т ярь Єш 130 срщЄ. ╚Єръ, ь√ шьххь фтх яхЁхьхээ√х Єшяр sym. ─ы  Єръшї яхЁхьхээ√ї юяхЁрЎш  ёыюцхэш  т√яюыэ хЄё  эх ўшёыхээю, р яю чръюэрь рыухсЁ√:
symbRes = symbVl + symbV2;
symbRes =
x+4*y
╟рфрфшьё  тюяЁюёюь, ъръюх шь  сєфхЄ эршсюыхх єфрўэ√ь фы  ёшьтюы№эющ яхЁхьхээющ ёю чэрўхэшхь ї? ═ртхЁэюх, Єръющ яхЁхьхээющ ыєў°х тёхую яЁшётюшЄ№ шь  ї:
ї = sym( 'x' );
┬ Ёхчєы№ЄрЄх яюыєўрхЄё  т√Ёрцхэшх эхёъюы№ъю, эр яхЁт√щ тчуы ф, ёЄЁрээюую тшфр, эю ь√ Єюы№ъю ўЄю юс· ёэшыш хую яЁюшёїюцфхэшх, Єръ ўЄю фры№°х эхфюЁрчєьхэшщ тючэшърЄ№ эх фюыцэю.
┬ Ёрьърї яръхЄр Ёрё°шЁхэш  Symbolic Math Toolbox шьххЄё  тючьюцэюёЄ№ юёє∙хёЄты Є№ эрф яхЁхьхээ√ьш Єшяр sym ушурэЄёъюх ъюышўхёЄтю юяхЁрЎшщ ш яЁшьхэ Є№ ъ эшь ьэюцхёЄтю шэЄхЁхёэ√ї ЇєэъЎшщ. ═р°х яюёюсшх яюёт ∙хэю юсчюЁє тёхї тючьюцэюёЄхщ яръхЄр MATLAB, яю¤Єюьє ь√ чфхё№ эх ьюцхь ЁрёёьрЄЁштрЄ№ рэрышЄшўхёъшх яЁхюсЁрчютрэш  ёыш°ъюь яюфЁюсэю. ┬ъЁрЄЎх юяш°хь ыш°№ юёэютэ√х тючьюцэюёЄш.
╘єэъЎш  simplify юёє∙хёЄты хЄ єяЁю∙хэшх ёшьтюы№э√ї т√Ёрцхэшщ:
symX = sym('xA2-2*x*y+yA2'); symY = sym('x-y'); simplify( symX/symY) ans = x-y
170
├ыртр 5. ╚эЄхЁръЄштэ√щ Ёхцшь ЁрсюЄ√ ш хую ртЄюьрЄшчрЎш  ё яюью°№■ ёЎхэрЁшхт
╘єэъЎш  expand яЁшчтрэр ЁрёъЁ√трЄ№ рыухсЁршўхёъшх ш ЇєэъЎшюэры№э√х т√Ёрцхэш :
└ = sym('sin(x+y)');
expand( a )
ans =
sin(x)*cos(y)+cos(x)*sin(y)
▀ёэю, ўЄю Єръ ьюцэю чряЁр°штрЄ№ яюфёърчъш яю чрс√Є√ь ЇюЁьєырь рыухсЁ√ шыш ЄЁшуюэюьхЄЁшш. ╠юцэю яЁюёЄю яхЁхьэюцрЄ№ ьэюуюўыхэ√:
└ = sym('(ї+є)*(ї-є)*(2*ї-3*є)') ; expand( р ) ans = 2*ї╦3-3*ї╦2*є-2*є╦2*ї+3*є╦3
╤ яюью∙№■ ЇєэъЎшш factor ьюцэю Ёрёъырф√трЄ№ ьэюуюўыхэ√ эр яЁюёЄ√х ьэюцшЄхыш, р Ўхы√х ўшёыр - т яЁюшчтхфхэшх яЁюёЄ√ї ўшёхы:
factor(sym('xA5 - 1')) ans = (ї-1)*(ї╦4+ї╦3+ї╦2+ї+1)
factor(sym('123456789')) ans = (3)ы2*(3803)*(3607)
╘єэъЎш  subs юёє∙хёЄты хЄ яюфёЄрэютъє эют√ї т√Ёрцхэшщ фы  єърчрээ√ї ёшьтюы№э√ї яхЁхьхээ√ї:
syms ї є a b
subs(x*y,[x,y],[a+b,a-b])
ans =
(р+▄)*(р-▄)
┬ яюёыхфэхь яЁшьхЁх ь√ яЁшьхэшыш ЇєэъЎш■ syms фы  ъЁрЄъющ чряшёш Ўхыюую эрсюЁр ¤ътштрыхэЄэ√ї т√Ёрцхэшщ:
x=sym('x'); y=sym(' є') ;a=sym('a') ;b=sym('b');
╟рЄхь ь√ ё яюью∙№■ ЇєэъЎшш subs рэрышЄшўхёъш яюфёЄртшыш т т√Ёрцхэшх ї*є тьхёЄю ї т√Ёрцхэшх р+b, р тьхёЄю є - т√Ёрцхэшх р-▄.
╘єэъЎш  det, юяхЁшЁє  ёшьтюы№э√ьш ьрЄЁшЎрьш, рэрышЄшўхёъш т√ўшёы хЄ фхЄхЁьшэрэЄ (юяЁхфхышЄхы№) ¤Єющ ьрЄЁшЎ√:
syms ї є a b det([x,y;a,b]) ans = x*b-y*a
MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 171
└эрышЄшўхёъш ьюцэю эрщЄш ш юсЁрЄэє■ ьрЄЁшЎє:
syms ї є р ▄ inv([x,y;a,b])
ans =
[ -b/(-x*b+y*a), y/(-x*b+y*a)]
[ a/(-x*b+y*a), -x/(-x*b+y*a)]
┬ююс∙х, шьххЄё  сюы№°юх ъюышўхёЄтю ЇєэъЎшщ, юёє∙хёЄты ■∙шї рэрышЄшўхёъшх юяхЁрЎшш ышэхщэющ рыухсЁ√. ╬ эшї тёхуфр ьюцэю ёяЁртшЄ№ё  яю тёЄЁюхээющ т яръхЄ Symbolic Math Toolbox фюъєьхэЄрЎшш, ёюёЁхфюЄюўхээющ т Їрщых \help\pdf_doc\symbolic\symbolic_tb.pdf.
╬ёюсхээю т√шуЁ√°э√ьш ё ¤ьюЎшюэры№эющ Єюўъш чЁхэш  ърцєЄё  ьэюушь юяхЁрЎшш ёшьтюы№эюую фшЇЇхЁхэЎшЁютрЄ№ ш ёшьтюы№эюую шэЄхуЁшЁютрэш . ╧хЁтр  шч эшї т√яюыэ хЄё  ЇєэъЎшхщ dif f, р тЄюЁр  - ЇєэъЎшхщ int. ┬юЄ ёююЄтхЄёЄтє■∙шх яЁшьхЁ√: