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

__-III ╨шёєэюъ 1.14
26 ├ыртр 1. ╫шёыют√х ьрёёшт√ т ёшёЄхьх MATLAB
╥ръшь юсЁрчюь, ёшёЄхьр MATLAB ЁрёяючэрхЄ лухюьхЄЁш■╗ ¤Єюую юфэюьхЁэюую ьрёёштр ш эруы фэю юЄюсЁрцрхЄ хую, Ёрёяюырур  ¤ыхьхэЄ√ ьрёёштр b фы  яюърчр т ётюхь юъэх тхЁЄшъры№эю.
╧юыєўхээє■ Ёрэхх ьрЄЁшЎє р ЁрчьхЁюь 3x2 (яхЁт√ь єърч√трхЄё  ўшёыю ёЄЁюъ, тЄюЁ√ь - ўшёыю ёЄюысЎют) ьюцэю ёЇюЁьшЁютрЄ№ Єръцх тхЁЄшъры№эющ ъюэърЄхэрЎшхщ тхъЄюЁ-ёЄЁюъ:
р = [ [1 2]; [3 4]; [5 с] ] шыш уюЁшчюэЄры№эющ ъюэърЄхэрЎшхщ тхъЄюЁ-ёЄюысЎют:
р = [ [1; 3; 5] , [2; 4; 6] ]
┬хЁЄшъры№эє■ ш уюЁшчюэЄры№эє■ ъюэърЄхэрЎшш ьюцэю Єръцх юёє∙хёЄтшЄ№ ё яюью∙№■ ЇєэъЎшш cat. ─ы  тхЁЄшъры№эющ ъюэърЄхэрЎшш хх яхЁт√щ ярЁрьхЄЁ Ёртхэ 1:
р = cat( 1, [1 2], [3 4], [5 с] ) р фы  уюЁшчюэЄры№эющ ъюэърЄхэрЎшш юэ Ёртхэ 2:
р = cat( 2, [1; 3; 5], [2; 4; с] )
╫Єюс√ єчэрЄ№ ЁрчьхЁ√ фтєьхЁэюую ьрёёштр ш лухюьхЄЁш■╗ тхъЄюЁют (тхъЄюЁ-ёЄюысЎ√ шыш тхъЄюЁ-ёЄЁюъш), эєцэю шёяюы№чютрЄ№ ЇєэъЎш■ size. ─ы  ЁрёёьюЄЁхээюую т√°х фтєьхЁэюую ьрёёштр р яюыєўрхЄё  ёыхфє■∙шщ Ёхчєы№ЄрЄ:
size( a ) ans = 3 2
уфх яхЁт√ь яюърч√трхЄё  ўшёыю ёЄЁюъ, р тЄюЁ√ь - ўшёыю ёЄюысЎют.
╥хяхЁ№ яЁшьхэшь ¤Єє ЇєэъЎш■ ъ юфэюьхЁэ√ь ьрёёштрь. ┬юЄ ўЄю шч ¤Єюую яюыєўрхЄё  фы  ёЇюЁьшЁютрээюую т√°х тхъЄюЁ-ёЄюысЎр ▄, ёюёЄю ∙хую шч ЄЁхї ёЄЁюъ ш юфэюую ёЄюысЎр:
size( b )
ans = 3 1
═ръюэхЎ, яюяЁюсєхь яЁшьхэшЄ№ ¤Єє ЇєэъЎш■ ъ яхЁхьхээющ, ёюёЄю ∙хщ шч хфшэёЄтхээюую ўшёыютюую чэрўхэш , Єю хёЄ№ ъ ёъры Ёє:
var = 5; size( var ) ans = 1 1
MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 27
╬Єё■фр тшфэю, ўЄю ёшёЄхьр MATLAB ЄЁръЄєхЄ фрцх ёъры Ёэ√х яю ёє∙хёЄтє тхышўшэ√ ъръ фтєьхЁэ√х ьрёёшт√ ЁрчьхЁюь 1x1. ┬хъЄюЁ√ ЁрёёьрЄЁштр■Єё  ъръ ьрЄЁшЎ√, ЁрчьхЁ ъюЄюЁ√ї яю юфэюьє шч эряЁртыхэшщ Ёртхэ хфшэшЎх.
┬ ёшёЄхьх MATLAB ёє∙хёЄтєхЄ Єръцх яєёЄющ ьрёёшт, Єю хёЄ№ ьрёёшт, эх ёюфхЁцр∙шщ фрээ√ї. ╬э юсючэрўрхЄё  ътрфЁрЄэ√ьш ёъюсърьш [ ] (ьхцфє ъюЄюЁ√ьш эхЄ юяхЁрэфют) ш ЄЁръЄєхЄё  ъръ ьрЄЁшЎр ЁрчьхЁюь 0x0.
╧ю¤Єюьє фы  Ёрэхх ёючфрээ√ї яхЁхьхээ√ї a, b, var. ш яєёЄюую ьрёёштр [ ] ЇєэъЎш  ndims тючтЁрЄшЄ ўшёыю 2 {ЁрчьхЁэюёЄ№ ьрёёштр).
╤ЄЁєъЄєЁє ёючфрээ√ї ьрёёштют ьюцэю Єръцх єчэрЄ№ ё яюью∙№■ ъюьрэф√ whos, ъюЄюЁр  ЁрсюЄрхЄ ёю тёхьш яхЁхьхээ√ьш шч Єхъє∙хую Ёрсюўхую яЁюёЄЁрэёЄтр ёшёЄхь√ MATLAB (ёь. Ёшё. 1.15). ,
-╙ MATLAB Command Window
File Edit Window Help
╗whos |
Name Size Bytes Class 'Х
I
a 3x2 4 8 double array i
ans 1x2 16 double array |
b 3x1 24 double array !
var lxl 8 double array i;
Grand totai is 12 elements using 96 bytes A
Jj___'Д_______________....._..............__.........JifiJ ╨шёєэюъ 1.15
╚Єръ, тёх, ё ўхь ЁрсюЄрхЄ MATLAB,  ты хЄё  ьрёёштрьш Ёрчышўэющ ЁрчьхЁэю-,ёЄш ш ЁрчьхЁют. ╬ёэютэ√ь юс·хъЄюь тёЄЁюхээюую т ¤Єє ёшёЄхьє ╠- ч√ър  ты хЄё  ьрёёшт. ╨рчьхЁэюёЄ№ ьрёёштр ьюцэю єчэрЄ№ ЇєэъЎшхщ ndims, р ЁрчьхЁ√-ЇєэъЎшхщ size. ╥шя ьрёёштр юяЁхфхы хЄё  Єшяюь хую ¤ыхьхэЄют. ╠√ яюър ЁрсюЄрхь ё ўшёыют√ьш ьрёёштрьш Єшяр double, ¤ыхьхэЄрьш ъюЄюЁ√ї ёыєцрЄ тх∙хёЄтхээ√х шыш ъюьяыхъёэ√х ўшёыр (Єюўэхх, шї яЁшсышцхээ√х ьр°шээ√х яЁхфёЄртыхэш ).
╧Ёюфюыцшь ЁрёёьюЄЁхэшх ёяюёюсют ёючфрэш  фтєьхЁэ√ї ўшёыют√ї ьрёёштют (ьрЄЁшЎ). ╩ръ ш ЁрёёьюЄЁхээ√х Ёрэхх юфэюьхЁэ√х ьрёёшт√ (тхъЄюЁ√), фтєьхЁэ√х ьрёёшт√ ьюцэю ёючфрЄ№ ё яюью∙№■ юяхЁрЎшш шэфхъёрЎшш, яЁюяшё√тр  яю юЄфхы№эюёЄш хую ¤ыхьхэЄ√ эхюсїюфшь√ьш ўшёыют√ьш чэрўхэш ьш. ═ряЁшьхЁ, ЁрёёьюЄЁхээ√щ Ёрэхх ьрёёшт р ьюцэю ёючфрЄ№ ёыхфє■∙шь юсЁрчюь:
р(1,1) = 1; р(1,2) = 2; р(2,1) = 3; р(2,2) = 4; р(3,1) = 5; р(3,2) = 6;
28 ├ыртр 1. ╫шёыют√х ьрёёшт√ т ёшёЄхьх MATLAB
уфх фы  фюёЄєяр (ляю ўЄхэш■╗) ъ юЄфхы№э√ь ¤ыхьхэЄрь шёяюы№чє■Єё  ъЁєуы√х ёъюсъш (юяхЁрЎш  шэфхъёрЎшш), тэєЄЁш ъюЄюЁ√ї ўхЁхч чря Єє■ яхЁхўшёы ■Єё  шэфхъё√. ╧хЁт√ь єърч√трхЄё  эюьхЁ ёЄЁюъш, тЄюЁ√ь - эюьхЁ ёЄюысЎр.
╩ръ ш т ёыєўрх юфэюьхЁэ√ї ьрёёштют, ¤Єю Ёх°хэшх  ты хЄё  эх¤ЇЇхъЄштэ√ь, Єръ ъръ яю ьхЁх яЁшётрштрэшщ ёшёЄхьх MATLAB яЁшїюфшЄё  яхЁхёЄЁрштрЄ№ ёЄЁєъЄєЁє ьрёёштр. ╧Ёюсыхьр ыхуъю яЁхюфюыхтрхЄё , хёыш яЁшётрштрэшх
р(3,2) = с;
яюьхёЄшЄ№ яхЁт√ь. ╩Ёюьх Єюую, ьюцэю ёЁрчє ёючфрЄ№ фтєьхЁэ√щ ьрёёёшт эєцэюую ЁрчьхЁр ЇєэъЎш ьш ones шыш zeros:
ones( 3, 2 ) шыш zeros ( 3, 2 )
р чрЄхь юёє∙хёЄтшЄ№ яЁшётрштрэш  юЄфхы№э√ь ¤ыхьхэЄрь эєцэ√ї чэрўхэшщ (яЁшўхь яюЁ фюъ яЁшётрштрэшщ т ¤Єюь ёыєўрх єцх эх шьххЄ чэрўхэш ). ╙ ¤Єшї ЇєэъЎшщ яхЁт√щ ярЁрьхЄЁ чрфрхЄ ўшёыю ёЄЁюъ, р тЄюЁющ - ўшёыю ёЄюысЎют.
╚ эръюэхЎ, хёыш яюёых ЇюЁьшЁютрэш  ьрёёштр X яюЄЁхсєхЄё , эх шчьхэ   ¤ыхьхэЄют ьрёёштр, шчьхэшЄ№ хую ЁрчьхЁ√, ьюцэю тюёяюы№чютрЄ№ё  ЇєэъЎшхщ
reshape( X, ╠, N )
уфх ╠ ш N - эют√х ЁрчьхЁ√ ьрёёштр X (╠ - ўшёыю ёЄЁюъ, N - ўшёыю ёЄюысЎют). ┬ючэшъэхЄ ю°шсюўэр  ёшЄєрЎш , хёыш ъюышўхёЄтю ¤ыхьхэЄют т ьрёёштх X эх Ёртэю яЁюшчтхфхэш■ ╠ эр N.
╩ яЁшьхЁє, хёыш ЄЁхсєхЄё  Ёрэхх ёЇюЁьшЁютрээє■ ьрЄЁшЎє р ЁрчьхЁюь 3x2 яЁхтЁрЄшЄ№ т ьрЄЁшЎє ЁрчьхЁюь 2 ї 3, Єю т√ч√трхь ЇєэъЎш■ reshape:
reshape! a, 2, 3 ) ans =
1 5 4
3 2 6