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

╚ч яЁхф√фє∙шї яЁшьхЁют тшфэю Єръюх трцэюх ётющёЄтю Їрщыют√ї ЇєэъЎшщ ёшёЄхь√ MATLAB, ъръ ьрёёютюх ўЄхэшх (чряшё№) фрээ√ї чр юфшэ т√чют ЇєэъЎшш. ╫Єюс√  тэю яюфўхЁъэєЄ№ ¤Єю чрьхўрЄхы№эюх ётющёЄтю Їрщыют√ї ЇєэъЎшщ ЁрёёьюЄЁшь эруы фэ√щ яЁшьхЁ эр ¤Єє Єхьє. ╥ЁхсєхЄё  т√ўшёышЄ№ эхсюы№°є■ ЄрсышЎє чэрўхэшщ эхъюЄюЁющ ьрЄхьрЄшўхёъющ ЇєэъЎшш ш чряшёрЄ№ ¤Єє ЄрсышЎє т ЄхъёЄют√щ Їрщы. ┬ Ёхчєы№ЄрЄх Єръє■ ЄрсышЎє ьюцэю сєфхЄ яЁюёьрЄЁштрЄ№ ы■с√ь ЄхъёЄют√ь ЁхфръЄюЁюь, тёЄрты Є№ т ърўхёЄтх ЇЁруьхэЄр т фюъєьхэЄ ЁхфръЄюЁр Microsoft Word ш т√яюыэ Є№ фЁєушх ёЄрэфрЁЄэ√х ьрэшяєы Ўшш.
─ы  юяЁхфхыхээюёЄш т√схЁхь т ърўхёЄтх Єръющ ьрЄхьрЄшўхёъющ ЇєэъЎшш ЇєэъЎш■ лъюёшэєё╗ ш яюёЄЁюшь ЄрсышЎє хх чэрўхэшщ фы  11 чэрўхэшщ рЁуєьхэЄр:
ї = 0:0.1:1; р =[ ї; cos(x) ]; fid = fopen( 'MyCosinusl.txt', 'wt' ); fprintf( fid, '%5.3f %5.3f\n', a ) ; fclose( fid );
╟фхё№ ьрЄЁшЎр р ёюёЄюшЄ шч фтєї ёЄЁюъ ш 11 ёЄюысЎют. ┬ ърцфюь ёЄюысЎх яЁшёєЄёЄтєхЄ (т яхЁтющ ёЄЁюъх) эхъюЄюЁюх чэрўхэшх рЁуєьхэЄр ш (тю тЄюЁющ ёЄЁюъх) ёююЄтхЄёЄтє■∙хх хьє чэрўхэшх ЇєэъЎшш. ─рыхх хфшэёЄтхээ√ь т√чютюь ЇєэъЎшш fprintf єфрхЄё  чряшёрЄ№ т ЄхъёЄют√щ Їрщы 'MyCosinusl.txt' тёх чэрўхэш 
124 ├ыртр 3. ╠рёёшт√ ёшьтюыют, ёЄЁєъЄєЁ,  ўххъ. ╘рщыют√х юяхЁрЎшш
рЁуєьхэЄют ш тёх чэрўхэш  ЇєэъЎшш (¤Єю яЁшьхЁ т√ёюўрщ°хщ ъюьяръЄэюёЄш чряшёш). ╧Ёш ¤Єюь ЇєэъЎш  fprintf шчтыхърхЄ фы  т√тюфр т Їрщы ¤ыхьхэЄ√ ьрЄЁшЎ√ р яю ёЄюысЎрь: ёэрўрыр чряшё√тр■Єё  т Їрщы фтр ¤ыхьхэЄр (ётхЁїє тэшч) яхЁтюую ёЄюысЎр, чрЄхь - фтр ¤ыхьхэЄр тЄюЁюую ёЄюысЎр ш Є. ф. тяыюЄ№ фю шёўхЁярэш  тёхї ёЄюысЎют. ╩Ёюьх Єюую, ЇєэъЎш  fprintf шёяюы№чєхЄ єяЁрты ■∙шщ ёшьтюы ляхЁхтюф ёЄЁюъш╗ яюёых чряшёш ърцф√ї фтєї ўшёхы. ▌Єю юсхёяхўштрхЄ уюЁшчюэЄры№эюх Ёрёяюыюцхэшх т Ёхчєы№ЄшЁє■∙хь ЄхъёЄютюь Їрщых рЁуєьхэЄр ш ёююЄтхЄёЄтє■∙хую хьє чэрўхэш  ЇєэъЎшш. ┬ ¤Єюь ьюцэю єсхфшЄ№ё , юЄъЁ√т Їрщы 'MyCosinusl.txt' т ЄхъёЄютюь ЁхфръЄюЁх Notepad (ёь. Ёшё. 3.19).
╪ MyCosinus! txt - Notepad
File Edit Search Help
0.000 1.000 0.100 0.995 0.200 0.980 0.300 0.955 0.400 0.921 0.500 0.878 0.600 0.825 0.700 0.765 0.800 0.697 0.900 0.622 1.000 0.540 LiJ
.d
╨шёєэюъ 3.19
┬юёёЄрэютшЄ№ т Ёрсюўхь яЁюёЄЁрэёЄтх ёшёЄхь√ MATLAB Ёрэхх ёЇюЁьшЁютрээє■ ьрЄЁшЎє └, яЁюўшЄрт хх ¤ыхьхэЄ√ шч ЄхъёЄютюую Їрщыр 'MyCosinusl.txt', Єръцх эх ёюёЄрты хЄ сюы№°юую ЄЁєфр. ╧Ёш ¤Єюь юфшэ т√чют ЇєэъЎшш f scanf юсхёяхўштрхЄ ьрёёютюх ўЄхэшх ўшёхы шч ЄхъёЄютюую Їрщыр:
fid = fopen( 'MyCosinusl.txt', 'rt' ); A = fscanf ( fid, '%f, [2 11]); fclose ( fid );
╟фхё№ ЄЁхЄшщ ярЁрьхЄЁ ЇєэъЎшш fscanf яюфёърч√трхЄ шэЄхЁяЁхЄрЄюЁє ╠- ч√ър ёшёЄхь√ MATLAB ю ёЄЁєъЄєЁх ьрЄЁшЎ√ └ (2 ёЄЁюъш ш 11 ёЄюысЎют). ╧Ёш ¤Єюь тюёёЄрэютыхэшх ¤ыхьхэЄют ьрЄЁшЎ√ └ яЁюшчтюфшЄё , хёЄхёЄтхээю, яЁшсышцхээюх, Єръ ъръ яЁш чряшёш т Їрщы яЁюшчтюфшыюё№ юъЁєуыхэшх фю ЄЁхї фхё Єшўэ√ї ЎшЇЁ яюёых чря Єющ (с√ы яЁшьхэхэ ёяхЎшЇшърЄюЁ ЇюЁьрЄр %5. 3f).
╟ртхЁ°р  Ёрёёърч ю Їрщыют√ї юяхЁрЎш ї, тёх-Єръш юЄьхЄшь, ўЄю яюыэюх ш ьрёЄхЁёъюх тырфхэшх тёхьш ЁрёёьюЄЁхээ√ьш Їрщыют√ьш ЇєэъЎш ьш ёшёЄхь√ MATLAB ЄЁхсєхЄ ёюышфэюую юя√Єр т яЁюуЁрььшЁютрэшш (юс ¤Єюь ьюцэю фюурфрЄ№ё  фрцх яю яЁштхфхээ√ь яЁшьхЁрь). ╠√ эх Ёрёёърчрыш юсю тёхї э■рэёрї Їрщыют√ї юяхЁрЎшщ, эю тюёяюыэшЄ№ ¤ЄюЄ яЁюсхы тяюыэх Ёхры№эю шэЄхэёштэющ яЁръЄшъющ.
├ыртр 4
╩ЁрЄъшщ юсчюЁ тёЄЁюхээ√ї ёЁхфёЄт Ёх°хэш  Єшяют√ї чрфрў
рыухсЁ√ ш рэрышчр
╨х°хэшх ёшёЄхь ышэхщэ√ї єЁртэхэшщ
╩ръ ь√ чэрхь, т ёшёЄхьх MATLAB фы  Ёх°хэш  ёшёЄхь ышэхщэ√ї єЁртэхэшщ яЁхфєёьюЄЁхэ√ чэръш юяхЁрЎшщ - ¤Єю чэръш / ш \.
╤ю тЄюЁ√ь шч ¤Єшї чэръют ь√ єцх чэръюьшышё№ Ёрэ№°х т уы. 1, ъюуфр Ёх°рыш ёшёЄхьє ышэхщэ√ї єЁртэхэшщ тшфр
Ay = b
уфх └ - чрфрээр  ътрфЁрЄэр  ьрЄЁшЎр N ї N, a b - чрфрээ√щ тхъЄюЁ-ёЄюысхЎ фышэ√ N. ─ы  эрїюцфхэш  эхшчтхёЄэюую тхъЄюЁ-ёЄюысЎр є фюёЄрЄюўэю яЁшьхэшЄ№ юяхЁрЎш■ \ ш т√ўшёышЄ№ т√Ёрцхэшх └\▄. ┬юЄ ёююЄтхЄёЄтє■∙шщ яЁшьхЁ:
└ = [1,-2,3,-1;2,3,-4,4;3,1,-2,-2;1,-3,7,6]; b = [с;-7;9;-7]; є = └ \ ▄
╙ =
2.0000
-1.0000
0 -2.0000
┬ юс∙хь ёыєўрх юяхЁрЎш  \ эрч√трхЄё  ыхт√ь фхыхэшхь ьрЄЁшЎ ш, сєфєўш яЁшьхэхээр  ъ ьрЄЁшЎрь └ ш ┬ т тшфх └\┬, яЁшьхЁэю ¤ътштрыхэЄэр т√ўшёыхэш■ т√Ёрцхэш 
inv(A)*B
эю яЁш ¤Єюь т√ўшёы хЄё  яю-фЁєуюьє. ╟фхё№ яюф inv (└) яюэшьрхЄё  т√ўшёыхэшх ьрЄЁшЎ√, юсЁрЄэющ ъ ьрЄЁшЎх └.
╬яхЁрЎш■ / эрч√тр■Є яЁрт√ь фхыхэшхь ьрЄЁшЎ. ┬√Ёрцхэшх └/┬ яЁшьхЁэю ёююЄтхЄёЄтєхЄ т√ўшёыхэш■ т√Ёрцхэш  B*inv(A). ╟эрўшЄ, ¤Єр юяхЁрЎш  яючтюы хЄ Ёх°рЄ№ ёшёЄхь√ ышэхщэ√ї єЁртэхэшщ тшфр
YA = ┬ Єръ ъръ Ёх°хэшхь шьхээю ¤Єюую єЁртэхэш  ёыєцшЄ т√Ёрцхэшх B*inv (A).
126 ├ыртр 4. ╨х°хэшх Єшяют√ї чрфрў рыухсЁ√ ш рэрышчр
╬яхЁрЎшш ышэхщэющ рыухсЁ√
эры ьрЄЁшЎрьш. ╠рЄЁшўэ√х ЇєэъЎшш
╤ ўшёыхээ√ь Ёх°хэшхь ышэхщэ√ї єЁртэхэшщ ёє∙хёЄтєхЄ шчтхёЄэюх ўшёыю ЄЁєфэюЁрчЁх°шь√ї яЁюсыхь. ┬ ўрёЄэюёЄш, уютюЁ Є, ўЄю ьрЄЁшЎр ёшёЄхь√ яыюїю юсєёыютыхэр, хёыш ўшёыхээюх Ёх°хэшх юўхэ№ ўєтёЄтшЄхы№эю ъ эхсюы№°шь шчьхэхэш ь шёїюфэ√ї фрээ√ї.
╤ыхфє■∙шх тёЄЁюхээ√х ЇєэъЎшш ёшёЄхь√ MATLAB яючтюы ■Є юЎхэшЄ№ ўшёыр юсєёыютыхээюёЄш ьрЄЁшЎ.
╘єэъЎш  cond(A) т√ўшёы хЄ ўшёыю юсєёыютыхээюёЄш ъръ юЄэю°хэшх ёрьюую сюы№°юую ёшэуєы Ёэюую чэрўхэш  └ ъ эршьхэ№°хьє. ┼ёыш ¤Єю ўшёыю сышчъю ъ хфшэшЎх, Єю ьрЄЁшЎр їюЁю°ю юсєёыютыхэр.
╘єэъЎш  condeig(A) т√ўшёы хЄ тхъЄюЁ ўшёхы юсєёыютыхээюёЄш фы  ёюсёЄтхээ√ї чэрўхэшщ └.
╘єэъЎш  rcond (└) т√ўшёы хЄ юсЁрЄэє■ тхышўшэє юсєёыютыхээюёЄш ьрЄЁшЎ√ └, юёэют√тр ё№ эр ьхЄюфрї °шЁюъю шчтхёЄэюую яръхЄр ышэхщэющ рыухсЁ√ LINPACK. ┬ючтЁр∙рхь√х чэрўхэш , сышчъшх ъ хфшэшЎх, уютюЁ Є ю їюЁю°хщ юсєёыютыхээюёЄш, р сышчъшх ъ эєы■ - ю яыюїющ.
╧Ёюсыхьр т√сюЁр юфэюую шч яхЁхўшёыхээ√ї ьхЄюфют фюёЄрЄюўэю ёыюцэр, Єръ ъръ ёрьр яЁюсыхьр юсєёыютыхээюёЄш ёшёЄхь ышэхщэ√ї єЁртэхэшщ эх  ты хЄё  яЁюёЄющ ш юфэючэрўэющ. ╨рчэ√х ьхЄюф√, яЁшьхэхээ√х ъ юфэющ ш Єющ цх ьрЄЁшЎх, ьюуєЄ фрЄ№ Ёрчышўр■∙шхё  Ёхчєы№ЄрЄ√. ┬ ы■сюь ёыєўрх ьюуєЄ т√ЁєўшЄ№ юЄышўэ√х чэрэш  яю ышэхщэющ рыухсЁх, эю ¤Єю єцх яЁюсыхьр тютёх эх яръхЄр MATLAB.
╧юыэ√щ эрсюЁ ЇєэъЎшщ ышэхщэющ рыухсЁ√, Ёхрышчютрээ√щ т ёшёЄхьх MATLAB, тяхўрЄы хЄ. ╧ю ¤Єющ яЁюсыхьрЄшъх яръхЄ MATLAB  ты хЄё  ўхьяшюэюь. ╬фэръю ёрьр ¤Єр яЁюсыхьр  ты хЄё  ьрЄхьрЄшўхёъш ўЁхчт√ўрщэю ёыюцэющ ш эх тїюфшЄ т ръЄштэ√щ ьрЄхьрЄшўхёъшщ срурц сюы№°шэёЄтр шэцхэхЁют ш Їшчшъют. ▌Єє яЁюсыхьрЄшъє ЎхыхёююсЁрчэю яюфЁюсэю юсёєфшЄ№ т ёяхЎшры№эющ ьрЄхьрЄшўхёъющ ышЄхЁрЄєЁх.
╟фхё№ цх ь√ ъЁрЄъю яхЁхўшёышь юёэютэ√х ЇєэъЎшш ышэхщэющ рыухсЁ√, Ёхрышчютрээ√х т Ёрьърї яръхЄр MATLAB.
╘єэъЎш  det т√ўшёы хЄ юяЁхфхышЄхы№ ътрфЁрЄэющ ьрЄЁшЎ√. ─ы  т√ўшёыхэш  Ёрэур ьрЄЁшЎ√ шёяюы№чєхЄё  ЇєэъЎш  rank. ╘єэъЎш  norm т√ўшёы хЄ эюЁьє ьрЄЁшЎ√ - ёъры Ё, фр■∙шщ юЎхэъє тхышўшэ√ ¤ыхьхэЄют ьрЄЁшЎ√. ─ы  юяЁхфхыхэш  юЁЄюэюЁьшЁютрээ√ї срчшёют ьрЄЁшЎ яЁшьхэ хЄё  ЇєэъЎш  orth. ╘єэъЎшш rref ш rrefmovie шёяюы№чє■Єё  фы  яЁштхфхэш  ьрЄЁшЎ ъ ЄЁхєуюы№эющ ЇюЁьх.
╘єэъЎш  chol юёє∙хёЄты хЄ Ёрчыюцхэшх ╒юыхЎъюую. ┬√Ёрцхэшх
t = chol(A)
тючтЁр∙рхЄ фы  яюыюцшЄхы№эю юяЁхфхыхээющ ьрЄЁшЎ√ └ тхЁїэ■■ ЄЁхєуюы№эє■ ьрЄЁшЎє t, Єръє■, ўЄю
t'*t = A
MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 127