"Вычисления, визуализация и программирование в среде 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 ъюьрэфє ╚Єръ, ЁрёёьюЄЁхээ√щ т√°х ЇЁруьхэЄ ъюфр чряшё√трхЄ т ЄхъёЄют√щ Їрщы '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', ёюёЄю ∙є■ шч фхЇшёют. |
|
|