"Вычисления, визуализация и программирование в среде MATLAB 5.x" - читать интересную книгу автора (Мартынов Н. Н., Иванов А. П.)┬ яЁхф√фє∙хщ уыртх шчєўрышё№ ёЎхэрЁшш, ъюЄюЁ√х Ёрчфхы ■Є ётюш яхЁхьхээ√х ё Ёрсюўшь яЁюёЄЁрэёЄтюь ёшёЄхь√ MATLAB. ╥рър Єхёэр шэЄхуЁрЎш эх яючтюы хЄ ЁхрышчютрЄ№ яюыэюёЄ№■ шчюышЁютрээ√щ ш эхчртшёшь√щ юЄ Ёрсюўхую яЁюёЄЁрэёЄтр ЇЁруьхэЄ ъюфр эр ╠- ч√ъх. ╩Ёюьх Єюую, ёЎхэрЁш ь эхтючьюцэю яхЁхфрЄ№ тїюфэ√х ярЁрьхЄЁ√.
╫Єюс√ ЁхрышчютрЄ№ эхчртшёшь√щ ш шчюышЁютрээ√щ ЇЁруьхэЄ ъюфр, Ёх°р■∙шщ эхъюЄюЁє■ ЇшъёшЁютрээє■ чрфрўє ш яЁшэшьр■∙шщ т тшфх тїюфэ√ї ярЁрьхЄЁют эрўры№эє■ шэЇюЁьрЎш■, эєцэю юЇюЁьшЄ№ ¤ЄюЄ ЇЁруьхэЄ т тшфх ЇєэъЎшш ёшёЄхь√ MATLAB. ╘єэъЎшш, ъръ ш ёЎхэрЁшш, ёюёЄю Є шч эрсюЁр шэёЄЁєъЎшщ ╠- ч√ър, ш шї Єръ цх чряшё√тр■Є т ЄхъёЄют√х Їрщы√ ё Ёрё°шЁхэшхь ур. ┬ шЄюух фы ыръюэшўэюёЄш шї эрч√тр■Є ╠-ЇєэъЎш ьш. ╤хщўрё ь√ яюфЁюсэю ЁрёёьюЄЁшь тёх юёюсхээюёЄш єёЄЁющёЄтр ╠-ЇєэъЎшщ. ╥хъёЄ ╠-ЇєэъЎшш фюыцхэ эрўшэрЄ№ё ё чруюыютър, яюёых ъюЄюЁюую ёыхфєхЄ Єхыю ЇєэъЎшш. ╟руюыютюъ юяЁхфхы хЄ шэЄхЁЇхщё ЇєэъЎшш (ёяюёюс тчршьюфхщёЄтш ё эхщ) ш шьххЄ ёыхфє■∙шщ тшф: function [Retl, Ret2,...] = FName(parl, par2,...) MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 177 ┬ эхь юс· ты хЄё ЇєэъЎш (ё яюью∙№■ ъы■ўхтюую ёыютр function) ё шьхэхь FNarae, ъюЄюЁр яЁшэшьрхЄ тїюфэ√х ярЁрьхЄЁ√ parl, par2,... ш т√ЁрсрЄ√трхЄ т√їюфэ√х {тючтЁр∙рхь√х) чэрўхэш Retl, Ret2... ╠эюуюЄюўш эх ты ■Єё ¤ыхьхэЄрьш ёшэЄръёшўхёъющ ъюэёЄЁєъЎшш, ш ь√ шї чфхё№ яЁшьхэ хь Єюы№ъю фы Єюую, ўЄюс√ эруы фэю яюфўхЁъэєЄ№ ЄюЄ ЇръЄ, ўЄю ЇєэъЎшш ьюуєЄ шьхЄ№ Ёрчэюх ўшёыю тїюфэ√ї ярЁрьхЄЁют ш т√їюфэ√ї чэрўхэшщ. ┬юЄ шыы■ёЄЁшЁє■∙шх яЁшьхЁ√ эр ¤Єє Єхьє: function FNamel function FName2(parl, par2, Ёру╟) function Retl = FName3(parl, par2) function [Retl, Ret2, Ret3] = FName4(parl) ╟фхё№ т яхЁтющ ёЄЁюъх яЁхфёЄртыхэ чруюыютюъ ЇєэъЎшш FNamel, эх шьх■∙хщ эш тїюфэ√ї ярЁрьхЄЁют, эш т√їюфэ√ї чэрўхэшщ. ╘єэъЎш FName2 яЁшэшьрхЄ ЄЁш тїюфэ√ї ярЁрьхЄЁр ш Єръ цх эх шьххЄ тючтЁр∙рхь√ї чэрўхэшщ. ─рыхх, ЇєэъЎш FName3 яЁшэшьрхЄ фтр ш тючтЁр∙рхЄ юфэю чэрўхэшх. ╚ эръюэхЎ, ЇєэъЎш FName4 шьххЄ юфшэ тїюфэющ ярЁрьхЄЁ ш ЄЁш т√їюфэ√ї чэрўхэш . ╫рёЄю фы ъЁрЄъюёЄш тїюфэ√х ярЁрьхЄЁ√ эрч√тр■Є рЁуєьхэЄрьш ЇєэъЎшш, р тючтЁр∙рхь√х (т√їюфэ√х) чэрўхэш ЇєэъЎшш эрч√тр■Є яЁюёЄю хх чэрўхэш ьш. ╙ърчрээюх т чруюыютъх шь ЇєэъЎшш фюыцэю ёютярфрЄ№ ё шьхэхь Їрщыр (схч єўхЄр Ёрё°шЁхэш .Є), т ъюЄюЁ√щ чряшё√трхЄё ЄхъёЄ ЇєэъЎшш. ╨рёёюуырёютрэшх шьхэш ЇєэъЎшш ш шьхэш Їрщыр эх фюяєёърхЄё . ╥хыю ЇєэъЎшш ёюёЄюшЄ шч шэёЄЁєъЎшщ ╠- ч√ър, ё яюью∙№■ ъюЄюЁ√ї т шЄюух т√ўшёы ■Єё тючтЁр∙рхь√х чэрўхэш . ╥хыю ЇєэъЎшш ёыхфєхЄ чр чруюыютъюь ЇєэъЎшш. ╟руюыютюъ ЇєэъЎшш яы■ё Єхыю ЇєэъЎшш т ёютюъєяэюёЄш ёюёЄрты ■Є юяЁхфхыхэшх ЇєэъЎшш. ╥ръшь юсЁрчюь, т ╠-Їрщы чряшё√трхЄё шьхээю юяЁхфхыхэшх ЇєэъЎшш. ╨рчьх∙рЄ№ ╠-Їрщы ё юяЁхфхыхэшхь ЇєэъЎшш эєцэю т юфэюь шч ърЄрыюуют фшёър, тїюф ∙шї т ёяшёюъ фюёЄєяр яръхЄр MATLAB. ╬с ¤Єюь ь√ єцх Ёрёёърч√трыш Ёрэхх, ъюуфр шчєўрышё№ ёЎхэрЁшш. ┼ёыш т ╠-Їрщы яюьхёЄшЄ№ юяЁхфхыхэш ёЁрчє эхёъюы№ъшї ЇєэъЎшщ, Єю т√ч√трЄ№ шч ъюьрэфэюую юъэр ёшёЄхь√ MATLAB (шыш шч ЇєэъЎшщ фЁєуюую ╠-Їрщыр) ьюцэю сєфхЄ Єюы№ъю Єє шч эшї, шь ъюЄюЁющ ёютярфрхЄ ё шьхэхь ╠-Їрщыр. ╥ръшь юсЁрчюь, Єюы№ъю юфэр ЇєэъЎш шч ╠-Їрщыр тшфшьр тэх ¤Єюую Їрщыр. ╬ёЄры№э√х ЇєэъЎшш т√ч√тр■Єё шчэєЄЁш фрээюую ╠-Їрщыр ш т√яюыэ ■Є тёяюьюурЄхы№эє■ ЁрсюЄє. ┬юЄ яЁшьхЁ ёшЄєрЎшш, ъюуфр т Їрщых ManyFunc.m ёюфхЁцрЄё юяЁхфхыхэш фтєї ЇєэъЎшщ (юяЁхфхыхэшх ЇєэъЎшш чрърэўштрхЄё ышсю шёўхЁярэшхь шэёЄЁєъЎшщ, ышсю чруюыютъюь юяЁхфхыхэш ёыхфє■∙хщ ЇєэъЎшш): function retl = ManyFunc( xl, x2 ) retl = xl .* x2 + AnotherFunc( xl ); function ret2 = AnotherFunc( є ) ret2 =y.*y+2*y+3; 178 ├ыртр 6. ╧ЁюуЁрььшЁютрэшх Їєэъшшщ эр ╠- ч√ъх ╟фхё№ юяЁхфхыхэ√ ЇєэъЎшш ManyFunc ш AnotherFunc. ╬фэръю шчтэх ьюцэю т√ч√трЄ№ Єюы№ъю ЇєэъЎш■ ManyFunc. ╘єэъЎш■ AnotherFunc ьюцхЄ т√ч√трЄ№ ЇєэъЎш ManyFunc ш сюы№°х эшўЄю. ╘єэъЎш■ ManyFunc ьюцэю эрчтрЄ№ юёэютэющ ЇєэъЎшхщ т Їрщых ManyFunc .m, р ЇєэъЎш■ AnotherFunc - тёяюьюурЄхы№эющ ЇєэъЎшхщ шыш яюфЇєэъЎшхщ (яю-рэуышщёъш - subfunction). ╤є∙хёЄтєхЄ х∙х юфшэ ёяюёюс юуЁрэшўшЄ№ тючьюцэюёЄш т√чютр ЇєэъЎшш. ─юяєёЄшь, ь√ їюЄшь, ўЄюс√ эхъюЄюЁє■ ╠-ЇєэъЎш■ ьюуыш т√ч√трЄ№ Єюы№ъю ╠-ЇєэъЎшш шч чрфрээюую ърЄрыюур ш сюы№°х эшўЄю. ╥юуфр є ¤Єюую ърЄрыюур эєцэю ёючфрЄ№ фюўхЁэшщ яюфърЄрыюу ё шьхэхь private ш яюьхёЄшЄ№ Єєфр єърчрээє■ ЇєэъЎш■. ┬ёх ЇєэъЎшш шч ърЄрыюур private тшфшь√ Єюы№ъю ЇєэъЎш ь шч ЁюфшЄхы№ёъюую ърЄрыюур. ╩ръ тїюфэ√х ярЁрьхЄЁ√, Єръ ш тючтЁр∙рхь√х чэрўхэш ьюуєЄ с√Є№ т юс∙хь ёыєўрх ьрёёштрьш Ёрчышўэ√ї Єшяют, ЁрчьхЁэюёЄхщ ш ЁрчьхЁют. ═ряЁшьхЁ, ёыхфє■∙р ЇєэъЎш ё шьхэхь MatrProcl: function [ └, ┬ ] = MatrProcl( XI, ╒2, ї ) % MatrProcl calculates MatrixProduction % plus (or by) one scalar A = XI ┬ = XI X2 x; ЁрёёўшЄрэр эр ляЁшхь╗ фтєї ўшёыют√ї ьрёёштют XI ш ╒2 юфшэръютюую ЁрчьхЁр ш юфэюую ёъры Ёр ї. ▌Єш ьрёёшт√ т Єхых ЇєэъЎшш ёэрўрыр яхЁхьэюцр■Єё яю¤ыхьхэЄэю, яюёых ўхую Ёхчєы№ЄрЄ Єръюую яхЁхьэюцхэш фюяюыэшЄхы№эю єьэюцрхЄё эр ёъры Ё ї. ╥ръшь юсЁрчюь яюЁюцфрхЄё яхЁт√щ шч т√їюфэ√ї ьрёёштют, Єю хёЄ№ ьрёёшт └. ╬фшэръют√х ЁрчьхЁ√ тїюфэ√ї ьрёёштют XI ш ╒2 урЁрэЄшЁє■Є т√яюыэшьюёЄ№ юяхЁрЎшш шї яю¤ыхьхэЄэюую єьэюцхэш . ┬ЄюЁющ т√їюфэющ ьрёёшт (ё шьхэхь ┬) юЄышўрхЄё юЄ яхЁтюую Єхь, ўЄю яюыєўрхЄё ёыюцхэшхь ёю ёъры Ёюь (р эх єьэюцхэшхь). ┬ ЄхъёЄх ЇєэъЎшш MatrProcl яюьшью шэёЄЁєъЎшщ, т√ўшёы ■∙шї тючтЁр∙рхь√х ЇєэъЎшхщ чэрўхэш , яЁшёєЄёЄтє■Є Єръцх ъюььхэЄрЁшш, эрўшэр■∙шхё ёю чэрър %. ╩ръ шчтхёЄэю, т ы■сюь ч√ъх яЁюуЁрььшЁютрэш ъюььхэЄрЁшш эх ты ■Єё шёяюыэ хь√ьш шэёЄЁєъЎш ьш, р ёыєцрЄ ыш°№ фы Ўхыхщ фюъєьхэЄшЁютрэш яЁюЎхёёр яЁюуЁрььшЁютрэш . ╬эш яю ёэ ■Є яЁюуЁрььшёЄє ёь√ёы Єюую шыш шэюую єўрёЄър ъюфр. ┴хч ъюььхэЄрЁшхт ЄЁєфэю с√трхЄ яюэ Є№ юЄфхы№э√х ьхёЄр т ёыюцэ√ї яЁюуЁрььрї, ъюуфр яЁю°ыю шчЁ фэюх тЁхь ё ьюьхэЄр яхЁтюэрўры№эющ ЁрчЁрсюЄъш яЁюуЁрьь√ (ЇєэъЎшш). ┬ ёшёЄхьх MATLAB юёюсє■ Ёюы№ шуЁр■Є эхёъюы№ъю ёЄЁюъ ъюььхэЄрЁшхт, Ёрёяюырур■∙шїё ёЁрчє цх чр чруюыютъюь ЇєэъЎшш. ▌Єш ъюььхэЄрЁшш яЁхфэрчэрўхэ√ эх Єюы№ъю фы яЁюуЁрььшёЄют, эю ш фы ъюэхўэ√ї яюы№чютрЄхыхщ, цхыр■∙шї ючэръюьшЄ№ё ё ъЁрЄъющ шэЇюЁьрЎшхщ яю ЁрчЁрсюЄрээющ ъхь-Єю фЁєушь ЇєэъЎшш. ╥ръшь юсЁрчюь, т ¤Єшї ёЄЁюърї фюыцэр с√Є№ Ёрёяюыюцхэр ъЁрЄър MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 179 ёяЁртър яю їюЁю°ю фюъєьхэЄшЁютрээющ ЇєэъЎшш. ╧юыєўшЄ№ ¤Єє ёяЁртъє ьюцхЄ ы■сющ яюы№чютрЄхы№ ЇєэъЎшш, хёыш т√яюыэшЄ ъюьрэфє help MatrProcl т Ёхчєы№ЄрЄх т√яюыэхэш ъюЄюЁющ т ъюьрэфэюх юъэю яюёЄєяшЄ ёыхфє■∙р шэЇюЁьрЎш (ёь. Ёшё. 6.1): Х> MATLAB Command Window Eile Edit Wmdow Help ╗ help MatrProcl MatrProcl calculates MatrixProduction plus (or by) one scalar ╨шёєэюъ 6.1 ▌Єш цх эрўры№э√х ёЄЁюъш ъюььхэЄрЁшхт єўрёЄтє■Є т яюшёъх ЇєэъЎшш яю ёюфхЁцр∙шьё т эхщ ЄхъёЄют√ь ЇЁруьхэЄрь. ╥ръющ яюшёъ юёє∙хёЄты хЄё ъюьрэфющ lookfor ЄхъёЄ -all ═ръюэхЎ, ъюьрэфющ type шь _ЇєэъЎшш лЁрёяхўрЄ√трхЄё ╗ (т ъюьрэфэюь юъэх) тхё№ ЄхъёЄ ╠-ЇєэъЎшш тьхёЄх ёю тёхьш хх ъюььхэЄрЁш ьш. ╥хяхЁ№ яЁюфюыцшь шчєўхэшх фЁєушї рёяхъЄют ёшэЄръёшёр ╠-ЇєэъЎшщ, р шьхээю Єхї шч эшї, ўЄю ёт чрэ√ ё шёяюы№чютрэшхь ЁрчЁрсюЄрээ√ї ЇєэъЎшщ. ┬√чют ёючфрээющ эрьш ЇєэъЎшш юёє∙хёЄты хЄё шч ъюьрэфэюую юъэр ёшёЄхь√ MATLAB шыш шч ЄхъёЄр ъръющ-ышсю фЁєующ ЇєэъЎшш. ╨рчэ√х ╠-ЇєэъЎшш ё ёютярфр■∙шьш шьхэрьш (ёютярфр■Є шьхэр шї ╠-Їрщыют) ьюуєЄ ЁрёяюырурЄ№ё т Ёрчэ√ї ърЄрыюурї эр фшёъх ъюья№■ЄхЁр. ┬ Ёхчєы№ЄрЄх яЁш т√чютх ╠-ЇєэъЎшщ ёшёЄхьр MATLAB фюыцэр ЁєъютюфёЄтютрЄ№ё ўхЄъю юяЁхфхыхээ√ь ъЁшЄхЁшхь т√сюЁр ъюэъЁхЄэющ ЇєэъЎшш. ╩ЁшЄхЁшщ ёюёЄюшЄ т чрфрээющ яюёыхфютрЄхы№эюёЄш юЄсюЁр ърэфшфрЄют. ╧ЁшюЁшЄхЄ тёхуфр юЄфрхЄё тэєЄЁхээхщ фы ╠-Їрщыр ЇєэъЎшш, хёыш т√чют юёє∙хёЄты хЄё тэєЄЁш ¤Єюую Їрщыр ш хёыш тэєЄЁхээ ЇєэъЎш ё ¤Єшь шьхэхь ёє∙хёЄтєхЄ. ┬ ёыєўрх эхєфрўш яюшёъ яЁюфюыцрхЄё т ўрёЄэюь яюфърЄрыюух private ш Єюы№ъю яюёых ¤Єюую эрўшэрхЄ яЁюёьрЄЁштрЄ№ё тхё№ ёяшёюъ яєЄхщ фюёЄєяр яръхЄр MATLAB тяыюЄ№ фю яхЁтющ тёЄЁхЄшт°хщё яЁш ¤Єюь ЇєэъЎшш ё ёютярфр■∙шь шьхэхь (¤Єю шь ╠-Їрщыр). ╤шэЄръёшё т√чютр ЇєэъЎшш ЄЁрфшЎшюэхэ фы сюы№°шэёЄтр ч√ъют яЁюуЁрььшЁютрэш : чряшё√трхЄё шь ЇєэъЎшш, яюёых ъюЄюЁюую т ъЁєуы√ї ёъюсърї ўхЁхч чря Єє■ яхЁхўшёы ■Єё ЇръЄшўхёъшх тїюфэ√х ярЁрьхЄЁ√, ёю чэрўхэш ьш ъюЄю- 180 ├ыртр 6. ╧ЁюуЁрььшЁютрэшх ЇєэъЎшщ эр ╠- ч√ъх Ё√ї ш сєфєЄ яЁюшчтхфхэ√ т√ўшёыхэш . ╘ръЄшўхёъшх ярЁрьхЄЁ√ ьюуєЄ с√Є№ чрфрэ√ ўшёыют√ьш (ш фЁєушьш) чэрўхэш ьш, шьхэрьш яхЁхьхээ√ї (єцх шьх■∙шьш ъюэъЁхЄэ√х чэрўхэш ), р Єръцх т√Ёрцхэш ьш. ┼ёыш ЇръЄшўхёъшщ ярЁрьхЄЁ чрфрэ шьхэхь эхъюЄюЁющ яхЁхьхээющ, Єю Ёхры№э√х т√ўшёыхэш сєфєЄ яЁюшчтюфшЄ№ё ё ъюяшхщ ¤Єющ яхЁхьхээющ (р эх ё эхщ ёрьющ). ▌Єю эрч√трхЄё яхЁхфрўхщ ярЁрьхЄЁют яю чэрўхэш■. |
|
|