ПоәК 042-18-12 46/03-2015 №2 басылым 18. 09. 2013ж №1 басылым


Дьяконов В.П. Справочник по MathCAD PLUS 6.0 PRO. - М.: СК-Пресс, 1997



жүктеу 1,27 Mb.
бет7/10
Дата08.03.2018
өлшемі1,27 Mb.
#11920
1   2   3   4   5   6   7   8   9   10

2.Дьяконов В.П. Справочник по MathCAD PLUS 6.0 PRO. - М.: СК-Пресс, 1997.



7-Лабораториялық сабағы.

Тақырыбы: MatLab-та сызықты, сызықты емес теңдеулерді шешу, туындыны және интегралды есептеу

Функция шақырылған жалпы параметрлер санын тексеруге болады. Осы мақсат үшін Matlab жүйесінде nargin атымен айнымалы көрсетілген. Оның мәні болып аргумент мөлшері табылады. Онда параметр санына тексеру келесі түрде орындалады:

if nargin~=3

error (‘Bad numbr of parameters’)

end

Matlab жүйесінде nargout айнымалысы да қараытырылған. Мысалы,



[s1, s2, s3]=MatrProg1(X1, X2, x)

үш қайтару мәнін алады.



MatrProg1 функция шақыруын жүзеге асыру үшін және пайдаланушыға сандардың сәйкес келмеуін ескертіп функция денесінде nargout айнымалысын келесі түрде көрсетуге болады:

if nargout ~=2



error(‘Must be 2 return values’)

end

Функцияны тек кіру параметрінің санымен және қайтару мәнімен шақыруға болады. Біз алдында кіру параметрінің әр түрлі санымен шақырылған Matlab жүйесіндегі салынған функциялармен кездескенбіз. Онда мысалға plot функциясы функция графигінің салыну атымен жүзеге асқан болатын.

М-функцияны өңдеуде әр түрлі кіру аргументінің санында көп нұсқаулы жұмыс мүмкіндігі бар; оларды санын тексеру кезінде көрсету және жұмысты тоқтатудың орнына функцияға әр түрлі орындалуды жүзеге асыру керек.

М-функция мәтінінде бірінші және екінші максимальді санды пайдалану керек.



TestFunc2 функция

Function [res1, res2]=TestFunc2(var1, var2)



Switch nargin

Case 1

If nargout==1, res1=var1*2;

Elseif nargout==2, res1=var1*2; res2=var1+3;

Else error (‘Must be 1 or 2 return values’);

End

Case 2

If nargout==1, res1=var.*var2;

Elseif==1, res1=var1.*var2; res2=var1+3;

Else error (‘Must be 1 or 2 return values’);

End

Otherwise error (‘Must be 1 or 2 parameters’);

End

Алдын ала көрсетілген формат шақыруына рұқсат етеді. Қорыта келе дәрежені тексеру функциядан тұрады. Егер М-функция меншік қолдануда жазылса, онда тексеру қатты болуы мүмкін. Қате жағдайлар автоматты түрде осы жүйеде өңделеді және командалық терезеге сәйкес диагностикалық хабарлама береді.

Егер функция сыртқы қажет етуге жақын болса, онда тексерулерді берікті ету керек. Matlab жүйесі санмен жазылған М-функцияны штатты түрде қояды. Осы функциялардың мәтіні командалық терезеге келесі командамен шақырылады.

type имя_функции

кейбір алгоритм функцияның деталін үйренумен қатар, кіру параметрін және шығу мәнін тексеру әдістерін үйренген жөн.

Команданы орындап және енгізіп repmat функциясын қарастырайық:

type repmat

нәтижесінде оның толық мәтінін аламыз:

function B=repmat(A, M, N)



%REPMAT Replicate and tile an array.

% B= REPMAT(A, M, N) replicates and tiles the matrix a

% to produce the M-by-N block matrix B.

%

% B= REPMAT(A, [M N]) produces the same thing.

%

% B= REPMAT(A, [M N P…]) 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.

%

% Example:

% repmat(magic (2), 2, 3)

% repmat(NaN, 2, 3)

%

% See also MESHGRID.

%

% Copyright (c) 1984-98 by The MathWorks, Inc.

% $Revision: 1.11 $ $Date: 1997/11/21 23:30:13 $



if nargin<2

error (‘Reguires at least 2 inputs.’)

elseif nargin= =2

if prod(size(M))= =1

siz=[M M];

else

siz=M;

end

else

siz=[M N];

end
if length(A)= =1

% This produces the same answer as B=A(ones(siz));

% but uses less memory.

B=…

Reshape (A(ones(1, siz(1)), ones(1, prod(siz(2:end)))), siz);

Elseif ndims(A)= =2 & length(siz)= =2

[m, n]=size(A);

mind=(1:m)’;

nind=(1:n)’;

mind=mind(:, ones(1, siz(1)));

nind=nind(:, ones(1, siz(2)));

B=A(mind, nind);

Else

Asiz=size(A);

Asiz=[Asiz ones (1, length(siz)-length(Asiz))];

siz= [siz ones (1, length(Asiz)-length(siz))];

for i=length(Asiz):-1:1

ind=(1:Asiz(i))’;

subs{i}=ind(:, ones(1, siz(i)));

end

B=A(subs{:});

end
Ұсынылатын әдебиет:

1.Статистический анализ данных в пакете Mathcad Радченко Т.А., Дылевский А.В, Воронеж, 2004


2.Дьяконов В.П. Справочник по MathCAD PLUS 6.0 PRO. - М.: СК-Пресс, 1997.



8-Лабораториялық сабағы.

Тақырыбы: MatLab-та жаңа функциялар құру, дифференциалдық теңдеулерді шешу

Repmat функциясының мәтіні үйренуге пайдалы. Себебі мұнда эффективті алгоритм шешімі М рет вертикаль бойынша және N рет горизанталь бойынша берілген А матрицасы көрсетілген.

Мысалы, міне repmat функциясының жұмыс істелінуі



4
-сурет

Функцияның жұмыс жасау облысы.

Әрбір М-функциядан Matlab жүйесінің жұмыс істеу облысымен қиылыспайтын жадының қосымша облысы болады. Matlab жүйесімен жұмыс атқарғанда жүйенің жұмыс істеу облысында немесе функцияның жұмыс жасау облысында орналасқан тек айнымалыға ғана жол алуға болады. Егер айнымалы глобальді деп хабарланса, онда оны бірнеше жұмыс жасау облысына тәуелді деп қарастыруға болады. Функцияның шақыруымен nargin және nargout функциялары аргументтерінің кіретін және шығатын сандарын анықтауға мүмкіндік береді. Бұл ақпаратты кейін есептеу жүрісін өзгерту шартты операторында пайдалануға болады.



Мысал:
жүктеу 1,27 Mb.

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау