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

strl = fgetl( fidl );
str2 = fgetl( fidl );
str3 = fgetl( fidl ) ;
str4 = fgetl ( fidl ) ;
fclose( fidl );
120 ├ыртр 3. ╠рёёшт√ ёшьтюыют, ёЄЁєъЄєЁ,  ўххъ. ╘рщыют√х юяхЁрЎшш
яюёых ўхую яЁютхЁ хь ёюфхЁцшьюх ЄхъёЄют√ї ьрёёштют (тхъЄюЁ-ёЄЁюъ) strl, str2, str3nstr4:
strl = first str2 = second str3 = third str4 = fourth
ш єсхцфрхьё , ўЄю ўЄхэшх яЁюшчю°ыю ъюЁЁхъЄэю.
┼ёыш с√ ь√ ўшЄрыш ёЄЁюъш ЇєэъЎшхщ f gets, Єю ъ ъюэЎє ърцфющ ёЄЁюъютющ яхЁхьхээющ фюсртшыё  с√ ёшьтюы ляхЁхтюф ёЄЁюъш╗, шьх■∙шщ ASCII-ъюф 10. ┬ Ёхчєы№ЄрЄх фышэр яхЁхьхээющ strl, эряЁшьхЁ, ёЄрыр с√ Ёртэр °хёЄш (яЁютхЁ хЄё  т√чютюь ЇєэъЎшш length).
═р тюяЁюё ю Єюь, ъръющ шч ¤Єшї фтєї ЇєэъЎшщ ўшЄрЄ№ ЄхъёЄют√х ёЄЁюъш ыєў°х, юфэючэрўэю юЄтхЄшЄ№ ЄЁєфэю. ▌Єю тёхуфр чртшёшЄ юЄ ъюэъЁхЄэ√ї юсёЄю Єхы№ёЄт. ┬ ы■сюь ёыєўрх фюсртшЄ№ ъ ъюэЎє ЄхъёЄютющ ёЄЁюъш ы■сющ єяЁрты ■∙шщ ёшьтюы эх ёюёЄрты хЄ эшъръюую ЄЁєфр. ┬юЄ яЁшьхЁ фюсртыхэш  ёшьтюыр ляхЁхтюф ёЄЁюъш╗:
strl = [ strl, char( 10 ) ];
╘єэъЎшхщ f scanf єфюсэю ўшЄрЄ№ ЄхъёЄют√х Їрщы√, т ъюЄюЁ√ї ёюфхЁцрЄё  ЄхъёЄют√х яЁхфёЄртыхэш  ўшёхы. ╘єэъЎшхщ f scanf ьюцэю яЁюўшЄрЄ№ ¤Єш ўшёыр эхяюёЁхфёЄтхээю т ўшёыют√х яхЁхьхээ√х ёшёЄхь√ MATLAB. ╨рсюЄє ¤Єющ ЇєэъЎшш ЁрёёьюЄЁшь яюёых шчєўхэш  тюяЁюёр ю чряшёш шэЇюЁьрЎшш т ЄхъёЄют√х Їрщы√.
─ы  чряшёш шэЇюЁьрЎшш т ЄхъёЄют√х Їрщы√ эєцэю яЁшьхэшЄ№ ЇєэъЎш■ fprintf. ┬юЄ яЁшьхЁ чряшёш т Їрщы ъръ ЄхъёЄютющ, Єръ ш ўшёыютющ шэЇюЁьрЎшш:
si = 'Number example'; nl = 3.41; n2 = 7.18;
fid = fopen( 'MyString5.txt', 'wt' );
fprintf(fid,'%s\n%s\n%4.2f %4.2f\n%s',sl,s2,nl,n2,s2);
fclose ( fid );
╬фэшь т√чютюь ЇєэъЎшш fprintf єфрхЄё  чряшёрЄ№ яю эхёъюы№ъє Ёрч фтх ёЄЁюъют√х (ёшьтюы№э√х) яхЁхьхээ√х si ш s2, р Єръцх чряшёрЄ№ т ЄхъёЄют√щ Їрщы ёшьтюы№э√х яЁхфёЄртыхэш  ўшёыр nl ш ўшёыр я2. ╙яЁрты хЄ ¤Єшь яЁюЎхёёюь ЄхъёЄютр  ёЄЁюър,  ты ■∙р ё  тЄюЁ√ь ярЁрьхЄЁюь ЇєэъЎшш fprintf. ═рчютхь ¤Єє ёЄЁюъє єяЁрты ■∙хщ ёЄЁюъющ ЇєэъЎшш fprintf. ▌Єр ёЄЁюър яюьшью юс√ўэ√ї ёшьтюыют, яюфыхцр∙шї т√тюфє т Їрщы, ёюфхЁцшЄ х∙х ёяхЎшЇшърЄюЁ√ 1' "jЇюЁьрЄр ш єяЁрты ■∙шх ёшьтюы√.
MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 121
╤яхЎшЇшърЄюЁ√ ЇюЁьрЄр ш єяЁрты ■∙шх ёшьтюы√ ёрьш яю ёхсх т Їрщы эх т√тюф Єё . ╬эш єяЁрты ■Є яЁюЎхёёюь т√тюфр т Їрщы чэрўхэшщ яхЁхьхээ√ї, єърчрээ√ї т ёяшёъх рЁуєьхэЄют ЇєэъЎшш fprintf яю яюЁ фъє тёыхф чр єяЁрты ■∙хщ ёЄЁюъющ. ╙яЁрты ■∙шх ёшьтюы√ (эр ёрьюь фхых ¤Єю эрсюЁ шч фтєї ёшьтюыют, яхЁт√ь шч ъюЄюЁ√ї  ты хЄё  \ - юсЁрЄэр  ъюёр  ўхЁЄр) ЄЁхсє■Є юёє∙хёЄтшЄ№ Єрсєы Ўш■, яхЁхїюф эр эютє■ ёЄЁюъє шыш яхЁхїюф эр эютє■ ёЄЁрэшЎє. ╠√ т√°х шёяюы№чютрыш хфшэёЄтхээ√щ єяЁрты ■∙шщ ёшьтюы - \я, ючэрўр■∙шщ яхЁхїюф эр эютє■ ёЄЁюъє. ┬ьхёЄю ёшьтюыр \я Ёхры№эю т Їрщы чряшё√трхЄё  эхъюЄюЁ√щ ўшёыютющ ъюф, ъюЄюЁ√щ т ёыєўрх ЁрсюЄ√ ё Їрщыюь ъръ ЄхъёЄют√ь тёхуфр юфэючэрўэю шэЄхЁяЁхЄшЁєхЄё  ъръ ЄЁхсютрэшх яхЁхїюфр эр эютє■ Їшчшўхёъє■ ёЄЁюъє юЄюсЁрцр■∙хую єёЄЁющёЄтр.
╥хяхЁ№ ЁрёёьюЄЁшь ёяхЎшЇшърЄюЁ√ ЇюЁьрЄр. ╘єэъЎш  fprintf яЁюёьрЄЁштрхЄ ётю■ єяЁрты ■∙є■ ёЄЁюъє ёыхтр эряЁртю ш т√тюфшЄ т Їрщы тёх тёЄЁхўр■∙шхё  т эхщ юс√ўэ√х ёшьтюы√ чр шёъы■ўхэшхь ёяхЎшЇшърЄюЁют ЇюЁьрЄр - эрсюЁр ёшьтюыют, эрўшэр■∙шїё  ё %. ╤яхЎшЇшърЄюЁ√ эх  ты ■Єё  фрээ√ьш, яюфыхцр∙шьш т√тюфє т Їрщы. ╬эш ыш°№ уютюЁ Є ЇєэъЎшш fprintf ю Єюь, т ъръющ ЇюЁьх (юЄё■фр ёыютю ЇюЁьрЄ) эєцэю чэрўхэшх юўхЁхфэющ яхЁхьхээющ, єърчрээющ т ёяшёъх рЁуєьхэЄют яю яюЁ фъє тёыхф чр єяЁрты ■∙хщ ёЄЁюъющ, т√тхёЄш т Їрщы.
╩юышўхёЄтю ш яюЁ фюъ ёяхЎшЇшърЄюЁют т єяЁрты ■∙хщ ёЄЁюъх фюыцэ√ Єюўэю ёююЄтхЄёЄтютрЄ№ ёяшёъє яхЁхьхээ√ї, яюфыхцр∙шї т√тюфє ш єърчрээ√ї т ърўхёЄтх ярЁрьхЄЁют ЇєэъЎшш fprintf тёыхф чр єяЁрты ■∙хщ ёЄЁюъющ.
═ряЁшьхЁ, ёяхЎшЇшърЄюЁ %s ючэрўрхЄ, ўЄю юўхЁхфэр  яхЁхьхээр , яюфыхцр∙р  т√тюфє т Їрщы,  ты хЄё  ёЄЁюъющ ш эрфю Ёхры№эю т√тюфшЄ№ т Їрщы ўшёыют√х ъюф√ хх ёшьтюыют т ёююЄтхЄёЄтшш ё эхъюЄюЁющ ёЄрэфрЁЄэющ ъюфшЁютъющ. ─Ёєушь юўхэ№ ЁрёяЁюёЄЁрэхээ√ь ёяхЎшЇшърЄюЁюь  ты хЄё  эрсюЁ ёшьтюыют %f, ючэрўр■∙шщ, ўЄю т√тюфє т ЄхъёЄют√щ Їрщы яюфыхцшЄ тх∙хёЄтхээюх ўшёыю, ъюЄюЁюх яЁхфтрЁшЄхы№эю эєцэю яЁхюсЁрчютрЄ№ т ЄхъёЄютє■ ёЄЁюъє, ёюфхЁцр∙є■ ёшьтюы№э√щ юсЁрч ¤Єюую ўшёыр. ─юяюыэшЄхы№э√х ўшёыют√х ярЁрьхЄЁ√ ш Ёрчфхы ■∙р  шї Єюўър, ёЄю ∙шх т ёяхЎшЇшърЄюЁх ьхцфє ёшьтюырьш % ш f, ючэрўр■Є яюыэюх ъюышўхёЄтю яючшЎшщ т ёшьтюы№эюь яЁхфёЄртыхэшш ўшёыр ш ўшёыю яючшЎшщ, юЄтюфшь√ї фы  чряшёш фЁюсэющ ўрёЄш. ═ряЁшьхЁ, %4 . 2f ючэрўрхЄ, ўЄю тх∙хёЄтхээюх ўшёыю чряшё√трхЄё  эрсюЁюь ёшьтюыют т ўхЄ√Ёхї яючшЎш ї, шч ъюЄюЁ√ї фтр юЄтюфшЄё  фы  чряшёш фЁюсэющ ўрёЄш ўшёыр.
╤ фЁєушьш ёяхЎшЇшърЄюЁрьш т ы■сющ ьюьхэЄ ьюцэю ючэръюьшЄ№ё , т√яюыэшт т ъюьрэфэюь юъэх ёшёЄхь√ MATLAB ъюьрэфє
help fprintf
╚Єръ, ЁрёёьюЄЁхээ√щ т√°х ЇЁруьхэЄ ъюфр чряшё√трхЄ т ЄхъёЄют√щ Їрщы 'MyString5.txt' ъръ ЄхъёЄ эр хёЄхёЄтхээюь  ч√ъх (рэуышщёъюь), Єръ ш ЄхъёЄютюх яЁхфёЄртыхэшх тх∙хёЄтхээ√ї ўшёхы 3.41 ш 7 .18. ╧юёых ¤Єюую ёюфхЁцшьюх ЄхъёЄютюую Їрщыр 'MyString5.txt' ьюцэю яЁюёьюЄЁхЄ№ ы■с√ьш
122 ├ыртр 3. ╠рёёшт√ ёшьтюыют, ёЄЁєъЄєЁ,  ўххъ. ╘рщыют√х юяхЁрЎшш
ЄхъёЄют√ьш ЁхфръЄюЁрьш, т Єюь ўшёых яЁюёЄхщ°шьш ЁхфръЄюЁрьш Єшяр Notepad (ёь. Ёшё. 3.17).
╪ MyStrinq5.txt- Notepad
File Edit Search hlelp"
Number example 3.41 7.18
╨шёєэюъ 3.1 7
▌Єю ётющёЄтю ЄхъёЄют√ї Їрщыют ЁрчшЄхы№эю юЄышўрхЄ шї юЄ сшэрЁэ√ї Їрщыют, т√єцштрэшх шэЇюЁьрЎшш шч ъюЄюЁ√ї уюЄют√ьш ёЄрэфрЁЄэ√ьш ёЁхфёЄтрьш тхё№ьр чрЄЁєфэшЄхы№эю.
└ ЄхяхЁ№, эръюэхЎ, ЁрёёьюЄЁшь ЇєэъЎш■ fscanf, яЁхфэрчэрўхээє■ фы  ўЄхэш  ЇюЁьрЄшЁютрээ√ї фрээ√ї шч ЄхъёЄют√ї Їрщыют. ╥ЁхэшЁютрЄ№ё  сєфхь ъръ Ёрч эр Єюы№ъю ўЄю чряшёрээюь эрьш Їрщых 'MyString5.txt'. ╧Ёш ¤Єюь ЄхъёЄют√х ёЄЁюъш сєфхь шчтыхърЄ№ сюыхх єфюсэющ фы  ¤Єюую ЇєэъЎшхщ f gets. ╘єэъЎшхщ цх fscanf шч ЄЁхЄ№хщ ЄхъёЄютющ ёЄЁюъш т√фхышь фтр тх∙хёЄтхээ√ї ўшёыр:
fid = fopen( 'MyString5.txt', 'rt' ) ; si = fgets( fid ); s2 = fgets( fid ) ; n = fscanf(fid,'%f'); s3 = fgets( fid ) ; fcloset fid );
╦хуъю єфюёЄютхЁшЄ№ё , ўЄю т ёшьтюы№э√щ ьрёёшт si яЁюўшЄрэр ёЄЁюър 'Number example', р ёшьтюы№э√х ьрёёшт√ s2 ш s3 ёюфхЁцрЄ ёЄЁюъє фхЇшёют. ┬ёх ¤Єю, яЁртфр, фюёЄрЄюўэю юўхтшфэю. └ тюЄ чэрўхэшх ўшёыютющ яхЁхьхээющ я ьюцхЄ яюърчрЄ№ё  тхё№ьр эхюцшфрээ√ь (ёь. Ёшё. 3.18).
ХJ MATLAB Command Window
File Х ж ^ь┘^^^┘^
n=
3 41001 ╦.180'61
╨шёєэюъ 3.18
╧хЁхьхээр  я юърчрырё№ ўшёыют√ь тхъЄюЁ-ёЄюысЎюь 2x1. ▌Єю яюыєўшыюё№ яюЄюьє, ўЄю т ёЄЁюъх, ъюЄюЁє■ ўшЄрхЄ ЇєэъЎш  fscanf, Ёрёяюыюцхэю ЄхъёЄютюх яЁхфёЄртыхэшх фтєї тх∙хёЄтхээ√ї ўшёхы. ┬ єяЁрты ■∙хщ цх ёЄЁюъх ЇєэъЎшш
MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 123
f scanf єърчрэ ыш°№ юфшэ ЇюЁьрЄэ√щ ёяхЎшЇшърЄюЁ (юэ ЄЁхсєхЄ яЁхюсЁрчютрэш  ёЄЁюъш т тх∙хёЄтхээюх ўшёыю), эю ЇєэъЎш  f scanf яЁшьхэ хЄ хую ёЄюы№ъю Ёрч, ёъюы№ъю ЄЁхсєхЄё  фы  шёўхЁярэш  ўшёыютющ шэЄхЁяЁхЄрЎшш яЁюўшЄрээющ ёЄЁюъш. ┬ Ёхчєы№ЄрЄх т яхЁхьхээє■ я ўшЄр■Єё  фтр ўшёыр, ш яю¤Єюьє юэр ёЄрэютшЄё  ьрёёштюь 2x1.
┼ёыш с√ эєцэю с√ыю яЁюўшЄрЄ№ ўшёыр т фтх Ёрчэ√х яхЁхьхээ√х, Єю тьхёЄю яЁхфёЄртыхээюую т√°х хфшэёЄтхээюую т√чютр ЇєэъЎшш fscanf эєцэю яюфёЄртшЄ№ ёыхфє■∙шх ЄЁш ёЄЁюъш ъюфр:
nl = fscanf ( fid, '%f, 1 ); n2 = fscanf ( fid, '%f, 1 ) ; fgets( fid );
╥хяхЁ№ ўшёыют√х яхЁхьхээ√х nl ш я2 шьх■Є ъръ Ёрч Єх ёрь√х чэрўхэш , ъюЄюЁ√х ь√ т√°х чряшё√трыш т Їрщы 'MyString5.txt'. ─ы  ¤Єюую т ЇєэъЎшш fscanf с√ы єърчрэ ЄЁхЄшщ ярЁрьхЄЁ, ючэрўр■∙шщ ъюышўхёЄтю ўшёхы, ўшЄрхь√ї чр юфшэ т√чют ¤Єющ ЇєэъЎшш. ╧юсюўэ√ь ёыхфёЄтшхь Єръюую яюфїюфр  ты хЄё  Єю юсёЄю Єхы№ёЄтю, ўЄю ЇєэъЎш  fscanf эх ўшЄрхЄ ЄхъёЄютє■ ёЄЁюъє фю ёрьюую ъюэЎр. ┬ шЄюух ЄЁхсєхЄё  тёяюьюурЄхы№э√щ т√чют ЇєэъЎшш fgets фы  юъюэўрЄхы№эюую лшёўхЁярэш ╗ ёЄЁюъш, шч ъюЄюЁющ шчтыхър■Єё  ўшёыр. ╚ьхээю яюёых Єръюую шёўхЁярэш  ёыхфє■∙шщ т√чют ЇєэъЎшш fgets:
s3 = fgets( fid );
єёях°эю яЁюўЄхЄ ёрьє■ яюёыхфэ■■ ёЄЁюъє ЄхъёЄютюую Їрщыр ' MyString5. txt', ёюёЄю ∙є■ шч фхЇшёют.