"Вычисления, визуализация и программирование в среде MATLAB 5.x" - читать интересную книгу автора (Мартынов Н. Н., Иванов А. П.)─ы яюшёър ьшэшьєьр ЇєэъЎшш эхёъюы№ъшї яхЁхьхээ√ї яЁшьхэ хЄё ЇєэъЎш frains:
xmin = fmins( name, xO ) ╟фхё№ name ты хЄё шьхэхь ЇєэъЎшш эхёъюы№ъшї яхЁхьхээ√ї, фы ъюЄюЁющ ш∙хЄё ьшэшьєь, р ї╬ - ¤Єю тхъЄюЁ хх рЁуєьхэЄют, ё ъюЄюЁюую эрўшэрхЄё яюшёъ. ─ы шыы■ёЄЁрЄштэюую яЁшьхЁр ёючфрфшь яЁюёЄє■ ЇєэъЎш■ фтєї яхЁхьхээ√ї function є = MyFunc2( ї ) є = ї(1)╦2 + ї(2)ы2; шьх■∙є■ ьшэшьєьюь Єюўъє (0,0). ▌ЄюЄ ЄхъёЄ эрфю чряшёрЄ№ т Їрщы MyFunc2 .m т Єхъє∙шщ ърЄрыюу ёшёЄхь√ MATLAB. ╧юёых ¤Єюую ьюцэю т√чтрЄ№ ЇєэъЎш■ fmins: xmin = fmins ( 'MyFunc2', [1,1] ); ъюЄюЁр яЁшсышцхээю эрїюфшЄ тхъЄюЁ xmin ъююЁфшэрЄ Єюўъш ьшэшьєьр: xmin(1) ans = -2.102352926236483х-005 xmin(2) ans = 2.548456493279544х-005 ╬сх эрщфхээ√х ъююЁфшэрЄ√ сышчъш ъ ётюшь Єюўэ√ь чэрўхэш ь, Ёртэ√ь эєы■. ─ы ЇєэъЎшщ эхёъюы№ъшї яхЁхьхээ√ї х∙х трцэхх, ўхь фы Ёрэхх ЁрёёьюЄЁхээ√ї ЇєэъЎшщ юфэющ тх∙хёЄтхээющ яхЁхьхээющ, яюёЄрЁрЄ№ё ряЁшюЁэю юЎхэшЄ№ ъюышўхёЄтю ш яЁшсышчшЄхы№эюх эрїюцфхэшх ыюъры№э√ї ьшэшьєьют. ╥єЄ ьюуєЄ ёє∙хёЄтхээю яюьюў№ ЄЁхїьхЁэ√х уЁрЇшъш, ъюЄюЁ√х ь√ т уы. 2 ёЄЁюшыш фы ЇєэъЎшщ фтєї тх∙хёЄтхээ√ї яхЁхьхээ√ї. ═ряЁшьхЁ, фы ЇєэъЎшш peaks т яюфЁрчфхых л─юяюыэшЄхы№э√х фхЄрыш юЇюЁьыхэш ЄЁхїьхЁэ√ї уЁрЇшъют╗ шч уы. 2 ЇєэъЎшхщ surfc с√ы яюёЄЁюхэ юўхэ№ эруы фэ√щ ЄЁхїьхЁэ√щ уЁрЇшъ, эр ъюЄюЁюь Єръцх с√ыш эрэхёхэ√ ышэшш єЁютэ . ╚ч яЁхфёЄртыхээющ уЁрЇшўхёъющ ърЁЄшэъш їюЁю°ю тшфэю, ўЄю шьх■Єё ЄЁш ыюъры№э√ї ьшэшьєьр. ╧хЁт√щ ЁрёяюырурхЄё тсышчш Єюўъш ё ъююЁфшэрЄрьш [0,0], р фтюх фЁєушї- тсышчш Єюўхъ [0,-1.5] ш [-1.5,0] ёююЄтхЄёЄтхээю. ╠юцэю тюёяюы№чютрЄ№ё ¤Єющ яЁшсышцхээющ шэЇюЁьрЎшхщ ш эрщЄш єЄюўэхээ√х чэрўхэш ыюъры№э√ї ьшэшьєьют ¤Єющ ЇєэъЎшш. ╬фэръю ёрьющ ЇєэъЎшхщ peaks чфхё№ тюёяюы№чютрЄ№ё эх єфрёЄё , Єръ ъръ юэр тючтЁр∙рхЄ эхёъюы№ъю чэрўхэшщ, эх ёюуырёє■∙шїё ё ЇєэъЎшхщ fmins. ╧ю¤Єюьє ь√ ёрьш ёючфрфшь ЇєэъЎш■ MyPeaks: function z = MyPeaks ( X ) x = X ( 1 ); є = X ( 2 ); 138 ├ыртр 4. ╨х°хэшх Єшяют√ї чрфрў рыухсЁ√ ш рэрышчр 'MyPeaks', [0,-1.5] z = 3*(1 - ї) .╦2.*хїЁ(-(ї.ы2) - 10*(ї/5 - ї.ы╟ - є.ы5).* хїЁ(-ї.ы2 - є.ы2) - ... 1/3*хїЁ(-(ї+1).╦2 - є.ы2); уфх ьэюуюЄюўшх ючэрўрхЄ яхЁхэюё чряшёш т√Ёрцхэш эр фЁєує■ ёЄЁюъє. ╟фхё№ фы т√ўшёыхэш чэрўхэш z ЇєэъЎшш MyPeaks яю фтєь чэрўхэш ь рЁуєьхэЄют ї ш є шёяюы№чєхЄё Єр цх ёрьр ЇюЁьєыр, ўЄю ш т ЇєэъЎшш peaks. ─рыхх яЁхфёЄртыхээ√щ ЄхъёЄ ЇєэъЎшш чряш°хь т Їрщы MyPeaks.m, яюёых ўхую т√чютхь ЇєэъЎш■ яюшёър ьшэшьєьр fmins: xminl = fmins( 'MyPeaks', [0,0] ); xrainl (1) ans = 0.2964 xminl(2) ans = xmin2 = fmins xmin2(l) ans = 0.2283 xmin2(2) ans = -1.6255 xmin3 = fmins xmin3(l) ans = -1.3474 xmin3(2) ans = 0.2045 ┼ёыш с√ ь√ чрїюЄхыш єчэрЄ№, ъръюх ъюышўхёЄтю шЄхЁрЎшщ яЁш°ыюё№ юёє∙хёЄтшЄ№ фы эрїюцфхэш єЄюўэхээюую Ёхчєы№ЄрЄр, Єю ЇєэъЎш■ fmins эєцэю с√ыю с√ т√ч√трЄ№ т ЇюЁьрЄх ё фтєь тючтЁр∙рхь√ьш чэрўхэш ьш: [ xmin, Options ] = fmins( name, x0 ) уфх тючтЁр∙рхь√щ тхъЄюЁ Options ёюфхЁцшЄ т ърўхёЄтх юЄфхы№э√ї ётюшї ¤ыхьхэЄют ёрь√х ЁрчэююсЁрчэ√х ётхфхэш ю яЁюЎхёёх эрїюцфхэш ьшэшьєьр. ┬ ўрёЄэюёЄш, ¤ыхьхэЄ Options (10) ёюфхЁцшЄ ъюышўхёЄтю ёютхЁ°хээ√ї шЄхЁрЎшщ. ┼ёыш с√ ь√ т Єюы№ъю ўЄю ЁрёёьюЄЁхээюь яЁшьхЁх шёяюы№чютрыш ¤ЄюЄ ЇюЁьрЄ т√чютр ЇєэъЎшш fmins, Єю эрь с√ыю с√ шчтхёЄэю ўшёыю шЄхЁрЎшщ: [xmin3,Opts] = fmins( 'MyPeaks', [-1.5,0] ); 'MyPeaks', [-1.5,0] MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 139 xmin3(l) ans = -1.3474 xmin3(2) ans = 0.2045 Opts(10) ans = 88 ╬с√ўэю ўхь фры№°х юЄ шёЄшээюую ьшэшьєьр ЁрёяюырурхЄё эрўры№эр Єюўър фы шЄхЁрЎшщ, Єхь сюы№°х ЄЁхсєхЄё шї ўшёыю: [xmin3,Opts] = fmins( 'MyPeaks', [-2,0] ); xmin3(l) ans = -1.3474 xrain3(2) ans = 0.2045 Opts (10) ans = 106 ╩ръ Єюы№ъю ь√ чрфрыш їєф°хх эрўры№эюх яЁшсышцхэшх, Єръ ЄєЄ цх яюыєўшыш тючЁюё°хх ўшёыю эхюсїюфшь√ї шЄхЁрЎшщ фы фюёЄшцхэш юфэющ ш Єющ цх ЄюўэюёЄш. ┬√ўшёыхэшх юяЁхфхыхээ√ї шэЄхуЁрыют |
|
|