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

фю яхЁтюую яЁюсхы№эюую ёшьтюыр (ёьюЄЁш т√°х). ╧Ёюсхы№э√х ёшьтюы√  ты ■Єё  юуЁрэшўшЄхы ьш ыхъёхь яю єьюыўрэш■. ═ряЁшьхЁ, ёыхфє■∙шщ т√чют ЇєэъЎшш strtok т√фхы хЄ шч шёїюфэющ ёЄЁюъш яхЁтюх ёыютю, юуЁрэшўхээюх яЁюсхыюь:
str = 'Very good'; wordl = strtok( str );
wordl =
Very
╠юцэю чрфрЄ№ ётюш ёюсёЄтхээ√х юуЁрэшўшЄхыш ыхъёхь, яхЁхўшёышт шї яюфЁ ф т ёЄЁюъх, яхЁхфртрхьющ ЇєэъЎшш strtok т ърўхёЄтх тЄюЁюую ярЁрьхЄЁр:
str = 'Yes,No'; a=strtok( str, ',:;!?');
a =
Yes
┼ёыш ЄЁхсєхЄё  ёЁрчє яюыєўшЄ№ ъръ ыхъёхьє, Єръ ш юёЄрЄюъ ёЄЁюъш, Єю ёыхфєхЄ шёяюы№чютрЄ№ т√чют ЇєэъЎшш strtok т трЁшрэЄх ё фтєь  тючтЁр∙рхь√ьш чэрўхэш ьш (ь√ ш Ёрэ№°х тёЄЁхўрыш ёыєўрш, ъюуфр ЇєэъЎшш ёшёЄхь√ MATLAB тючтЁр∙рыш эх юфэю, р эхёъюы№ъю чэрўхэшщ - эряЁшьхЁ, ЇєэъЎш  meshgrid, ю ъюЄюЁющ Ёрёёърч√трыюё№ тю 2-щ уыртх т яюфЁрчфхых, яюёт ∙хээюь ЄЁхїьхЁэющ уЁрЇшъх):
[ token, remainder ] = strtok( str, delimeter )
═ряЁшьхЁ, т ёыхфє■∙хь ЇЁруьхэЄх:
str = 'Yes,No'; [word, rem] = strtok(str,',:;!?');
word =
Yes
rem =
,No
т яхЁхьхээющ word чряюьшэрхЄё  яхЁтюх ёыютю т юсЁрсрЄ√трхьющ ёЄЁюъх, р т яхЁхьхээющ rem ёюїЁрэ хЄё 1 фы  фры№эхщ°хщ юсЁрсюЄъш юёЄр■∙р ё  ўрёЄ№ шёїюфэющ ёЄЁюъш.
╘єэъЎш  strrep яючтюы хЄ эрщЄш т шёїюфэющ ёЄЁюъх чрфрээ√щ ЇЁруьхэЄ ЄхъёЄр ш чрьхэшЄ№ хую эр фЁєующ ЇЁруьхэЄ ЄхъёЄр. ╬с∙шщ ЇюЁьрЄ ¤Єющ ЇєэъЎшш Єръют:
str = strrep ( strl, str2, str3 )
╟фхё№ ЇєэъЎш  strrep ш∙хЄ т ёЄЁюъх strl яюфёЄЁюъє str2 ш, хёыш эрїюфшЄ, Єю чрьхэ хЄ хх эр str3. ╨хчєы№ЄрЄ тючтЁр∙рхЄё  т ёЄЁюъх str. ╚ёїюфэр  ёЄЁюър strl юёЄрхЄё  эхшчьхээющ. ┬ ёыхфє■∙хь ЇЁруьхэЄх:
str = strrepCgood bad best', 'bad', 'better' );
str =
good better best
4 3ръ. 409
98 ├ыртр 3. ╠рёёшт√ ёшьтюыют, ёЄЁєъЄєЁ,  ўххъ. ╘рщыют√х юяхЁрЎшш
ЇєэъЎш  strrep т шёїюфэющ ёЄЁюъх 'good bad best' чрьхэ хЄ ёыютю 'bad' эр ёыютю 'better'.
╚ эръюэхЎ, ЁрёёьюЄЁшь ЇєэъЎшш strcmp, strncmp, strcmpi ш strncmpi. ┬ёх ¤Єш ЇєэъЎшш ёЁртэштр■Є чэрўхэш  фтєї ёЄЁюъ ьхцфє ёюсющ. ╘єэъЎшш ё сєътющ i эр ъюэЎх яЁш ёЁртэхэшш ёЄЁюъ эхўєтёЄтшЄхы№э√ ъ ЁхушёЄЁє ёшьтюыют, р ЇєэъЎшш ё сєътющ я т ёхЁхфшэх шї шьхэ ёЁртэштр■Є эх Ўхышъюь ёЄЁюъш, р Єюы№ъю шї эрўры№э√х юЄЁхчъш шч чрфрээюую ўшёыр ёшьтюыют. ╧ю¤Єюьє фюёЄрЄюўэю ЁрёёьюЄЁхЄ№ ЁрсюЄє Єюы№ъю ЇєэъЎшш strcmp. ▌Єр ЇєэъЎш  яЁшэшьрхЄ т ърўхёЄтх рЁуєьхэЄют фтх ёЄЁюъш ш тючтЁр∙рхЄ лшёЄшэє╗ (хфшэшЎє) т ёыєўрх шфхэЄшўэюёЄш ёЄЁюъ ш лыюц№╗ (эєы№) т яЁюЄштэюь ёыєўрх. ╘єэъЎш  strcmp ўєтёЄтшЄхы№эр ъ ЁхушёЄЁє ёшьтюыют ш єўшЄ√трхЄ (р эх шуэюЁшЁєхЄ) ъръ тхфє∙шх, Єръ ш ъюэЎхт√х яЁюсхы√ (эх уютюЁ  єцх ю тэєЄЁхээшї).
╚ч яЁхфёЄртыхээюую юс· ёэхэш  Ёхчєы№ЄрЄ ЁрсюЄ√ ЇєэъЎшш
res = strcmp( 'Mexico', 'mexico' ) ; res = 0
рсёюы■Єэю юўхтшфхэ, Єръ ъръ ёЄЁюъш юЄышўр■Єё  ЁхушёЄЁюь юЄфхы№э√ї ёшьтюыют.
╠рёёшт√ ёЄЁєъЄєЁ
┴√трхЄ цхырЄхы№эю яюф юфэшь шьхэхь юс·хфшэшЄ№ ўшёыют√х ш ЄхъёЄют√х фрээ√х (эряЁшьхЁ, Ёхчєы№ЄрЄ√ Їшчшўхёъшї ¤ъёяхЁшьхэЄют, фрээ√х ю яхЁхяшёш эрёхыхэш  ш Є. ф.). ─ы  ¤Єющ Ўхыш т ёшёЄхьх MATLAB яЁхфєёьюЄЁхэ ёяхЎшры№э√щ Єшя фрээ√ї - struct {ёЄЁєъЄєЁр).
╧хЁхьхээ√х Єшяр struct шьх■Є т ётюхь ёюёЄртх эхёъюы№ъю шьхэютрээ√ї яюыхщ. ╤ючфрфшь яхЁхьхээє■ MyStructl, ёюёЄю ∙є■ шч фтєї яюыхщ: юфэюую ўшёыютюую яюы  ё шьхэхь data ш юфэюую ЄхъёЄютюую яюы  ё шьхэхь name:
MyStructl.name = '1st result'; MyStructl.data = [ 1, 2.5; -7.8, 2.3 ];
╚ь  яюы  юЄфхы хЄё  юЄ шьхэш яхЁхьхээющ Єюўъющ. ┬ фрээюь ЇЁруьхэЄх ъюфр ёючфрхЄё  ьрёёшт MyStructl Єшяр struct ЁрчьхЁюь 1x1. ─юсртшь т Єюы№ъю ўЄю ёючфрээ√щ ьрёёшт MyStructl тЄюЁющ ¤ыхьхэЄ:
MyStructl( 2 ).name = '2nd res-t';
MyStructl( 2 ).data = [ -5.7, -2.5; 7.1, 8.4 ];
╧юыєўшыё  ьрёёшт ЁрчьхЁр 1 ї 2. ┬ ¤Єюь ыхуъю єсхфшЄ№ё , хёыш эрсЁрЄ№ т ъюьрэфэюь юъэх ёшёЄхь√ MATLAB шь  яхЁхьхээющ MyStructl ш эрцрЄ№ ъыртш°є Enter. ┬ Ёхчєы№ЄрЄх ёшёЄхьр яюърцхЄ эх ёюфхЁцшьюх ¤Єюую ьрёёштр, р хую ёЄЁєъЄєЁє (ёь. Ёшё. 3.4).
MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 99
J MATLAB Command Window ══┼▌
File Edit Window
MyShiicti= - -. .:',, '."'. :;:" ж -d
1x2 struct array with fields: i name
data 4
╨шёєэюъ 3.4
╠юцэю ш фрыхх фюсрты Є№ ¤ыхьхэЄ√ ъ ¤Єюьє юфэюьхЁэюьє ьрёёштє. ─юёЄрЄюўэю юўхтшфэю, ўЄю тёх ¤ыхьхэЄ√ ьрёёштр Єшяр struct шьх■Є юфшэръютюх ъюышўхёЄтю яюыхщ ё ЇшъёшЁютрээ√ьш шьхэрьш. ┼ёыш  тэю эх чрфрЄ№ чэрўхэшх ъръюую-ышсю яюы , Єю хьє ртЄюьрЄшўхёъш сєфхЄ яЁшётюхэ яєёЄющ ьрёёшт [ ].
═рсюЁ яюыхщ ьрёёштр ёЄЁєъЄєЁ ьюцэю шчьхэ Є№ фшэрьшўхёъш. ═ряЁшьхЁ, єцх яюёых Єюую, ъръ ь√ ёючфрыш ьрёёшт MyStructl Єшяр struct ЁрчьхЁр 1x2 ё фтєь  єърчрээ√ьш т√°х яюы ьш (name ш data), ьюцэю т√яюыэшЄ№ яЁшётрштрэшх
MyStructl( 1 ).field = 'Third field';
яюёых ъюЄюЁюую ьрёёшт ёЄЁєъЄєЁ єцх сєфхЄ юсырфрЄ№ ЄЁхь  яюы ьш - name, data ш field. ╥ръ ъръ є тЄюЁюую ¤ыхьхэЄр ьрёёштр MyStructl яюых field  тэю эх чрфрэю, Єю юэю Ёртэю яєёЄюьє ьрёёштє:
MyStructl( 2 ).field ans = []