"Вычисления, визуализация и программирование в среде MATLAB 5.x" - читать интересную книгу автора (Мартынов Н. Н., Иванов А. П.)╧Ёштхфхь шыы■ёЄЁшЁє■∙шщ ЁрсюЄє єёыютэюую юяхЁрЄюЁр ЇЁруьхэЄ ъюфр:
└ = [ 1 2; 4 0 ]; if A b = 1; else b = 2; т Ёхчєы№ЄрЄх т√яюыэхэш ъюЄюЁюую яхЁхьхээр ▄ яюыєўшЄ чэрўхэшх 2, Єръ ъръ ьрЄЁшЎр └ ёюфхЁцшЄ юфшэ эєыхтющ ¤ыхьхэЄ ш тёх єёыютшх ёўшЄрхЄё ыюцэ√ь. ╩ёЄрЄш, чряшё№ if └ яю ётюхьє фхщёЄтш■ яюыэюёЄ№■ ¤ътштрыхэЄэр чряшёш if └ ~= ╬ ш чряшёш if all( A( : ) ) ╙ёыютэ√х юяхЁрЄюЁ√ ўрёЄю шёяюы№чє■Єё т Єхых ╠-ЇєэъЎшщ ёютьхёЄэю ё шэёЄЁєъЎшхщ return фы юёє∙хёЄтыхэш фюёЁюўэюую чртхЁ°хэш ЇєэъЎшш ш т√їюфр шч эхх. ┬ ёыхфє■∙хщ ЇєэъЎшш т√ўшёы хЄё ЇръЄюЁшры Ўхыюую яюыюцшЄхы№эюую ўшёыр я: function res = MyFactorial res = 1 if n == 1 return else . for i = 2:n res = res .* i; end end ┼ёыш тїюфэющ ярЁрьхЄЁ фрээющ ЇєэъЎшш Ёртхэ 1, Єю ё яюью∙№■ юяхЁрЄюЁр return юёє∙хёЄты хЄё фюёЁюўэ√щ т√їюф шч ЇєэъЎшш, Єръ ъръ яЁртшы№э√щ Ёхчєы№ЄрЄ (res = 1;) єцх ёЇюЁьшЁютрэ. ╩юуфр юяхЁрЄюЁ return эх шёяюы№чєхЄё , эюЁьры№эюх чртхЁ°хэшх ЇєэъЎшш эрёЄєярхЄ яю шёўхЁярэшш шэёЄЁєъЎшщ шч Єхыр ЇєэъЎшш. ╙ёыютэ√х юяхЁрЄюЁ√ Єръцх °шЁюъю яЁшьхэ ■Єё тэєЄЁш юяхЁрЄюЁют Ўшъыр ёютьхёЄэю ё шэёЄЁєъЎшхщ break фы фюёЁюўэюую т√їюфр шч Ўшъыр. ╚эюуфр Єръюх єёыютшх т√їюфр шч Ўшъыр ьюцхЄ с√Є№ хфшэёЄтхээ√ь, ъръ т ёыхфє■∙хь яЁшьхЁх: prod = 1; i = 1; ж while 1 prod = prod .* i; 184 ├ыртр 6. ╧ЁюуЁрььшЁютрэшх ЇєэъЎшщ эр ╠- ч√ъх i = i + 1; if i > 8 break end end ╥хяхЁ№ яЁюфюыцшь шчєўрЄ№ юяхЁрЄюЁ√ тхЄтыхэш . ─Ёєушь юяхЁрЄюЁюь тхЄтыхэш ты хЄё юяхЁрЄюЁ яхЁхъы■ўхэш . ╬э шёяюы№чєхЄ ъы■ўхт√х ёыютр switch (яхЁхъы■ўшЄ№), case (ёыєўрщ), otherwise (шэрўх) ш шьххЄ ёыхфє■∙є■ ъюэёЄЁєъЎш■: switch т√Ёрцхэшх case чэрўхэшх1 case { чэрўхэшх2, чэрўхэшх╟ } otherwise end ╤эрўрыр т√ўшёы хЄё т√ЁрсрЄ√тр■∙хх ёъры Ёэюх ўшёыютюх чэрўхэшх т√Ёрцхэшх, р чрЄхь яюыєўхээ√щ Ёхчєы№ЄрЄ ёЁртэштрхЄё ё эрсюЁюь чэрўхэшщ чэрўхэшх]., чэрўхэшх2, чэрўхэшх╟ ш Є. ф. ┬ ёыєўрх ёютярфхэш ё юфэшь шч чэрўхэшщ т√яюыэ хЄё эшцхёЄю ∙р тхЄър. ┼ёыш эхЄ ёютярфхэш эш ё ъръшь шч яхЁхўшёыхээ√ї чэрўхэшщ, Єю т√яюыэ хЄё тхЄър, ёЄю ∙р яюёых ъы■ўхтюую ёыютр otherwise. ╤ЄЁюъ ё ъы■ўхт√ь ёыютюь case ьюцхЄ с√Є№ ьэюую, р ёЄЁюър ё ъы■ўхт√ь ёыютюь otherwise юфэр. ╬ЄьхЄшь юфэє трцэє■ фхЄры№: яюёых т√яюыэхэш Єющ шыш шэющ тхЄтш юяхЁрЄюЁр яхЁхъы■ўхэш эшъръшх фЁєушх тхЄтш ¤Єюую юяхЁрЄюЁр (эряЁшьхЁ, эшцхыхцр∙шх) эх т√яюыэ ■Єё . ╧ю¤Єюьє т ╠- ч√ъх ёшёЄхь√ MATLAB эх эрфю яЁхфяЁшэшьрЄ№ эшъръшї ёяхЎшры№э√ї єёшышщ фы юсїюфр эшцхыхцр∙шї тхЄтхщ юяхЁрЄюЁр яхЁхъы■ўхэш (т юЄышўшх, эряЁшьхЁ, юЄ ч√ъют C/C++). MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 185 ╚эЄхЁръЄштэюх тчршьюфхщёЄтшх ╠-Їєэъшшщ ё яюы№чютрЄхыхь ╥юы№ъю т ёрь√ї яЁюёЄ√ї ёыєўр ї эх ЄЁхсєхЄё шэЄхЁръЄштэюую тчршьюфхщёЄтш ё яюы№чютрЄхыхь тю тЁхь т√яюыэхэш ╠-ЇєэъЎшщ. ┬ Єръшї ёыєўр ї яюы№чютрЄхы№ юёЄрхЄё т эхтхфхэшш ъръ ю їюфх т√ўшёыхэшщ, Єръ ш ю фюёЄшуэєЄ√ї яЁюьхцєЄюўэ√ї Ёхчєы№ЄрЄрї. ╬ўхэ№ ўрёЄю с√трхЄ яюыхчэю ъюэЄЁюышЁютрЄ№ їюф т√яюыэхэш ╠-ЇєэъЎшщ. ─ы шэЄхЁръЄштэюую тчршьюфхщёЄтш ё яюы№чютрЄхыхь т ╠- ч√ъх яЁхфєёьюЄЁхэ Ё ф ёяхЎшры№э√ї ЇєэъЎшщ. ┬ ўрёЄэюёЄш, ЇєэъЎш disp яЁшьхэ хЄё фы т√тюфр яЁюьхцєЄюўэ√ї Ёхчєы№ЄрЄют т ъюьрэфэюх юъэю ёшёЄхь√ MATLAB. ═р юёэютх рэрышчр яюы№чютрЄхыхь ърўхёЄтр яЁюьхцєЄюўэ√ї Ёхчєы№ЄрЄют ьюцхЄ яЁшэшьрЄ№ё Ёх°хэшх ю яЁюфюыцхэшш т√ўшёыхэшщ шыш юс шї яЁхъЁр∙хэшш. ╘єэъЎш■ disp т√ч√тр■Є ё хфшэёЄтхээ√ь рЁуєьхэЄюь, ъюЄюЁ√щ ьюцхЄ с√Є№ ўшёыют√ь шыш ёшьтюы№э√ь ьрёёштюь (тхъЄюЁ, ьрЄЁшЎр). ═шцх яюърчрэ яЁшьхЁ Ўшъышўхёъшї яютЄюЁ ■∙шїё т√ўшёыхэшщ ъюэхўэ√ї юЄЁхчъют Ёрёїюф ∙хуюё урЁьюэшўхёъюую Ё фр ёю тёх сюы№°шь ўшёыюь тїюф ∙шї т эшї ёырурхь√ї: S = 0; i = 1; while I S = S + 1 / i; str = sprintf ('i=%d S=%f, i, S ); disp( str ) i = i + 1; if rem(i,100) == 0 ans = input( 'Stop? Answer=', 's' ); if ans == 'y' return end end end ╟фхё№ ЇєэъЎшхщ disp тёх чэрўхэш яЁюьхцєЄюўэ√ї (ўрёЄшўэ√ї) ёєьь Ё фр т√тюф Єё т ъюьрэфэюх юъэю ёшёЄхь√ MATLAB. ╩Ёюьх Єюую, ўхЁхч ърцф√х ёЄю ёырурхь√ї ЇєэъЎшхщ input т√тюфшЄё эрфяшё№, яЁхфяшё√тр■∙р яюы№чютрЄхы■ юЄтхЄшЄ№ эр тюяЁюё, эх яюЁр ыш юёЄрэртыштрЄ№ т√ўшёыхэш (тююс∙х уютюЁ , схёъюэхўэ√х). ┼ёыш яюы№чютрЄхы№ ттюфшЄ яЁш ¤Єюь ё ъыртшрЄєЁ√ ырЄшэёъшщ ёшьтюы ' є' (яхЁтр сєътр рэуышщёъюую ёыютр yes), Єю т√ўшёыхэш яЁхъЁр∙р■Єё , Єръ ъръ т√яюыэ хЄё юяхЁрЄюЁ фюёЁюўэюую т√їюфр шч ЇєэъЎшш return. ═хяюёЁхфёЄтхээ√щ ттюф шэЇюЁьрЎшш ё ъыртшрЄєЁ√ ш яЁшётюхэшх ттхфхээюую чэрўхэш яхЁхьхээющ ans Єръцх юёє∙хёЄты хЄё ЇєэъЎшхщ input. ┬ ърўхёЄтх тЄюЁюую рЁуєьхэЄр (ярЁрьхЄЁр) ЇєэъЎшш input шёяюы№чєхЄё ёшьтюы 's', ючэр- 186 ├ыртр 6. ╧ЁюуЁрььшЁютрэшх ЇєэъЎшщ эр ╠- ч√ъх ўр■∙хх, ўЄю ЇєэъЎш input фюыцэр яЁшэ Є№ ёшьтюы№э√х (р эх ўшёыют√х) чэрўхэш . ┼∙х яю ёэшь шёяюы№чютрэшх эютющ фы эрё ЇєэъЎшш sprintf, ъюЄюЁр яюьх∙рхЄ т т√їюфэє■ ёЄЁюъє чэрўхэш ётюшї рЁуєьхэЄют (ъЁюьх яхЁтюую рЁуєьхэЄр) т ЇюЁьрЄх, єърчрээюь яхЁт√ь рЁуєьхэЄюь. ▌ЄюЄ ЇюЁьрЄ яюыэюёЄ№■ рэрыюушўхэ ЇюЁьрЄє, Ёрэхх юяшёрээюьє т уы. 3 т ёт чш ё ЇєэъЎшхщ fprintf, юёє∙хёЄты ■∙хщ ЇюЁьрЄэ√щ т√тюф шэЇюЁьрЎшш т ЄхъёЄют√х Їрщы√. ┬ Ёхчєы№ЄрЄх ЁрчЁрсюЄрээр ЇєэъЎш яючтюы хЄ яюы№чютрЄхы■ яюыэюёЄ№■ ъюэЄЁюышЁютрЄ№ яЁюЎхёё т√ўшёыхэшщ, эрсы■фрЄ№ чр яЁюьхцєЄюўэ√ьш Ёхчєы№ЄрЄрьш ш яЁхъЁр∙рЄ№ т√ўшёыхэш яю ьхЁх эхюсїюфшьюёЄш. ═р Ёшё. 6.4 яюърчрэю ъюьрэфэюх юъэю ёшёЄхь√ MATLAB, т ъюЄюЁюь яЁшёєЄёЄтєхЄ Єхъє∙р т√їюфэр шэЇюЁьрЎш т√°хЁрчЁрсюЄрээющ яЁюуЁрьь√, шч ъюЄюЁющ тшфэю, ўЄю, эряЁшьхЁ, фы фюёЄшцхэш Єхъє∙хщ ёєььющ Ё фр (юэр эшўхь ётхЁїє эх юуЁрэшўхэр) чэрўхэш 10, эєцэю яЁюёєььшЁютрЄ№ 12 367 ўыхэют ¤Єюую Ё фр: Х* MATLAB Command Window |
|
|