"Вычисления, визуализация и программирование в среде MATLAB 5.x" - читать интересную книгу автора (Мартынов Н. Н., Иванов А. П.)═ръюэхЎ, эхяыюїю яЁютхЁшЄ№ юс∙хх ўшёыю ярЁрьхЄЁют, ё ъюЄюЁ√ьш ЇєэъЎш с√ыр т√чтрэр. ─ы ¤Єющ Ўхыш т ёшёЄхьх MATLAB ёяхЎшры№эю яЁхфєёьюЄЁхэр яхЁхьхээр ё шьхэхь nargin. ┼х чэрўхэшхь ты хЄё ъюышўхёЄтю рЁуєьхэЄют, ЇръЄшўхёъш яхЁхфрээюх ЇєэъЎшш яЁш хх т√чютх. ╥юуфр яЁютхЁър эр ўшёыю ярЁрьхЄЁют т√яюыэ хЄё ёыхфє■∙шь юсЁрчюь:
if nargin ~= 3 error('Bad number of parameters') end ┴юыхх Єюую, т ёшёЄхьх MATLAB яЁхфєёьюЄЁхэр яхЁхьхээр nargout, ёюфхЁцр∙р ўшёыю тючтЁр∙рхь√ї чэрўхэшщ т Єхъє∙хщ ЇюЁьх т√чютр ¤Єющ ЇєэъЎшш. ═ряЁшьхЁ, т√чют [ si, s2, s3 ] = MatrProcl( xl, x2, x) яЁхфяюырурхЄ яюыєўшЄ№ рц ЄЁш тючтЁр∙рхь√ї чэрўхэш , т Єю тЁхь ъръ шч юяЁхфхыхэш ЇєэъЎшш ёыхфєхЄ, ўЄю тючтЁр∙рхь√ї чэрўхэшщ є ¤Єющ ЇєэъЎшш фтр. ╫Єюс√ яЁхфюЄтЁрЄшЄ№ Єръющ ЇюЁьрЄ т√чютр ЇєэъЎшш MatrProcl ш яЁхфєяЁхфшЄ№ яюы№чютрЄхы ЇєэъЎшш ю эхёююЄтхЄёЄтшш ўшёыр юцшфрхь√ї тючтЁр∙рхь√ї чэрўхэшщ шї эюьшэры№эюьє ўшёыє, ьюцэю т Єхых ЇєэъЎшш юёє∙хёЄтшЄ№ яЁютхЁъє яхЁхьхээющ nargout ёыхфє■∙шь юсЁрчюь: if nargout ~= 2 error('Must be 2 return values') end ╬ёє∙хёЄтыхээ√х эрьш яЁютхЁъш яЁштюф Є ъ Єюьє, ўЄю ЇєэъЎш■ ьюцэю т√чтрЄ№ Єюы№ъю ё яЁртшы№э√ь ўшёыюь тїюфэ√ї ярЁрьхЄЁют ш тючтЁр∙рхь√ї чэрўхэшщ. ╬фэръю Ёрэхх ь√ тёЄЁхўрышё№ ёю тёЄЁюхээ√ьш ЇєэъЎш ьш ёшёЄхь√ MATLAB, ъюЄюЁ√х ьюуыш с√Є№ т√чтрэ√ ё Ёрчэ√ь ўшёыюь тїюфэ√ї ярЁрьхЄЁют (ш ¤Єю юўхэ№ Єшяшўэю). ┬ Ёхчєы№ЄрЄх ЇръЄшўхёъш Ёрчэ√х трЁшрэЄ√ ЁрсюЄ√ сышчъюую Єшяр т√яюыэ ■Єё яюф юфэшь ш Єхь цх шьхэхь ЇєэъЎшш, ўЄю тхё№ьр эруы фэю ш єфюсэю. ╥ръютющ, эряЁшьхЁ, ты хЄё ЇєэъЎш plot, шь ъюЄюЁющ уютюЁшЄ ю яюёЄЁюхэшш уЁрЇшъют ЇєэъЎшщ. ┼ёыш с√ Ёрчэ√х трЁшрэЄ√ т√чютют ¤Єющ ЇєэъЎшш яЁш°ыюё№ с√ юёє∙хёЄты Є№ яюф Ёрчэ√ьш шьхэрьш, Єю юЄ эруы фэюёЄш эх юёЄрыюё№ с√ ш ёыхфр. ╥ръшь юсЁрчюь, ЎхыхёююсЁрчэю яЁш ЁрчЁрсюЄъх ╠-ЇєэъЎшщ фюяєёърЄ№ ьэюуютрЁшрэЄэюёЄ№ ЁрсюЄ√ яЁш Ёрчэюь ўшёых тїюфэ√ї рЁуєьхэЄют; ¤Єю эєцэю яЁхфєёьюЄЁхЄ№ яЁш яЁютхЁъх шї ўшёыр, ш тьхёЄю яЁхъЁр∙хэш ЁрсюЄ√ ЇєэъЎшш ёыхфєхЄ ЁхрышчютрЄ№ Ёрчэ√х тхЄтш т√яюыэхэш . ╥ю цх ърёрхЄё ш ўшёыр тючтЁр∙рхь√ї 202 ├ыртр 6. ╧ЁюуЁрььшЁютрэшх ЇєэъЎшщ эр ╠- ч√ъх чэрўхэшщ. ┬ чруюыютъх юяЁхфхыхэш ╠-ЇєэъЎшш эєцэю яЁш ¤Єюь шёяюы№чютрЄ№ ьръёшьры№эю тючьюцэюх ўшёыю ъръ яхЁт√ї, Єръ ш тЄюЁ√ї. ╥ръ, ЇєэъЎш TestFunc2 function [ resl, res2] = TestFunc2( varl, var2 ) switch nargin case 1 if nargout == 1, resl = varl * 2; elseif nargout == 2, resl=varl * 2; res2=varl + 3; else error('Must be 1 or 2 return values'); end case 2 if nargout == 1, resl = varl .* var2; elseif nargout == 2, resl = varl .* var2; res2 = varl + 3; else error('Must be 1 or 2 return values'); end otherwise error('Must be 1 or 2 parameters'); end фюяєёърхЄ ьэюую трЁшрэЄют чрЁрэхх яЁхфєёьюЄЁхээ√ї ЇюЁьрЄют т√чютют. ─ы ъЁрЄъюёЄш ь√ чфхё№ юяєёЄшыш яЁютхЁъє ЁрчьхЁют тїюфэ√ї ярЁрьхЄЁют, яюфЁюсэю ЁрёёьюЄЁхээє■ т√°х. ╩Ёюьх Єюую, ь√ чфхё№ эрьхЁхээю фы сюы№°хщ эруы фэюёЄш т√яюыэ хь эхъюЄюЁє■ ыш°э■■ ЁрсюЄє: эр яЁръЄшъх ёшёЄхьр MAT-LAB ёрьюёЄю Єхы№эю юЄёыхцштрхЄ ёшЄєрЎш■ яЁхт√°хэш ўшёыр ярЁрьхЄЁют ш тючтЁр∙рхь√ї чэрўхэшщ эрф эюьшэры№э√ь шї ўшёыюь. ┬ чръы■ўхэшх юЄьхЄшь, ўЄю ёЄхяхэ№ яюфЁюсэюёЄш яЁютхЁюъ чртшёшЄ юЄ яЁхфэрчэрўхэш ЇєэъЎшш. ┼ёыш ╠-ЇєэъЎш яш°хЄё фы ёюсёЄтхээюую яюЄЁхсыхэш , яЁютхЁъш ьюуєЄ с√Є№ ьхэхх ёЄЁюушьш, Єръ ъръ т√яюыэхэшх ╠-ЇєэъЎшщ юёє∙хёЄты хЄё т Ёхцшьх шэЄхЁяЁхЄрЎшш яюф яюыэ√ь ъюэЄЁюыхь ёшёЄхь√ MATLAB. ╬°шсюўэ√х ёшЄєрЎшш ртЄюьрЄшўхёъш юсЁрсрЄ√тр■Єё ёрьющ ¤Єющ ёшёЄхьющ ш т ъюьрэфэюх юъэю т√фрхЄё ёююЄтхЄёЄтє■∙хх фшруэюёЄшўхёъюх ёююс∙хэшх. ═ю хёыш яЁхфяюырурхЄё яхЁхфрўр ЇєэъЎшш фы тэх°эхую яюЄЁхсыхэш , Єю яЁютхЁъш эєцэю ёфхырЄ№ сюыхх цхёЄъшьш, Єръ ъръ тэх°эхьє яюы№чютрЄхы■ ЄЁєфэю ЁрчюсЁрЄ№ё тю тёхї фхЄры ї ЁрсюЄ√ тр°хщ ЇєэъЎшш. ╤шёЄхьр MATLAB °ЄрЄэю яюёЄрты хЄё ё сюы№°шь ўшёыюь тёЄЁюхээ√ї ╠-ЇєэъЎшщ. ╥хъёЄ ¤Єшї ЇєэъЎшщ т√тюфшЄё т ъюьрэфэюх юъэю ъюьрэфющ type шь _ЇєэъЎшш Єръ ўЄю тёхуфр ьюцэю ъръ шчєўшЄ№ фхЄрыш ЁхрышчрЎшш ЇєэъЎшхщ эхъюЄюЁюую рыуюЁшЄьр, Єръ ш эрєўшЄ№ё Ёрчэ√ь яЁшхьрь яЁюуЁрььшЁютрэш , т ўрёЄэюёЄш ёяюёюсрь ш уыєсшэх яЁютхЁюъ тїюфэ√ї ярЁрьхЄЁют ш т√їюфэ√ї чэрўхэшщ. ╨рёёьюЄЁшь ЄхъёЄ ЇєэъЎшш repmat, ттхф ш шёяюыэшт ъюьрэфє MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 203 т Ёхчєы№ЄрЄх ўхую яюыєўрхь хх яюыэ√щ ЄхъёЄ: function ┬ = repmat(A,M,N) %REPMAT Replicate and tile an array. % ┬ = REPMAT(A,M,N) replicates and tiles the matrix a % 'to produce the M-by-N block matrix B. 0 0 % ┬ = REPMAT(A,[M N]) produces the same thing. 0 0 % ┬ = REPMAT (A, [MNP ...]) tiles the array a to % produce a M-by-N-by-P-by-... block array, a can be N-D. % % REPMAT(A,M,N), when a is a scalar, is commonly used to % produce an M-by-N matrix-filled with A's value. % This can be much faster than A*ONES(M,N) % when M and/or N are large. Х 0 0 % Example: % repmat(magic(2),2,3) % repmat(NaN,2,3) % % See also MESHGRID. % % Copyright (c) 1984-98 by The MathWorks, Inc. |
|
© 2025 Библиотека RealLib.org
(support [a t] reallib.org) |