ОӘК
042-18-12.1.55/3-2013
№1 басылым 18.09.2013ж
50 беттің 46-сі
% 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 функциясының жұмыс істелінуі
ОӘК
042-18-12.1.55/3-2013
№1 басылым 18.09.2013ж
50 беттің 47-сі
4-сурет
Функцияның жұмыс жасау облысы.
Әрбір М-функциядан Matlab жүйесінің жұмыс істеу облысымен қиылыспайтын
жадының қосымша облысы болады. Matlab жүйесімен жұмыс атқарғанда жүйенің
жұмыс істеу облысында немесе функцияның жұмыс жасау облысында орналасқан
тек айнымалыға ғана жол алуға болады. Егер айнымалы глобальді деп хабарланса,
онда оны бірнеше жұмыс жасау облысына тәуелді деп қарастыруға болады.
Функцияның шақыруымен nargin және nargout функциялары аргументтерінің
кіретін және шығатын сандарын анықтауға мүмкіндік береді. Бұл ақпаратты кейін
есептеу жүрісін ӛзгерту шартты операторында пайдалануға болады.
Мысал:
function
)
,
(
1
arg
b
a
test
c
)
1
arg
(
in
n
if
;
2
.^
a
c
)
2
arg
(
in
n
elseif
;
b
c
end
Кіретін аргументін берген кезде функция кіретін айнымалының квадратын
есептейді, екі аргуметті бергенде қосу операциялары орындалады. Күрделі мысалды
қарастырайық. Символдық жолдың жартысын бӛлгенге дейін белгілеу. Оның
пайдалануына пробел немесе басқа символдар жатады. Функцияның бір кіретін
аргументін бергенде жарты бӛлігін бӛлгенге дейін белгілейік, ол пробел, сол
уақытта бастапқы жолдардағы барлық пробелдар тазартылады. Екі аргументті
бергенде екінші аргуметте бӛлінуі және кӛрсетілуі керек.
Бұл функция strtok М-функциясы түрінде, strfun каталогына кӛшіріледі.
function [token, remainder]=strtok(string, delimiters)
if nargin<1,
error(‘Недостаточно входных аргументов.’);
ОӘК
042-18-12.1.55/3-2013
№1 басылым 18.09.2013ж
50 беттің 48-сі
end
token=[];
remainder=[];
len=length(string);
if len= =0
return
end
if(nargin= =1)
delimiters=[9:13 32]; % Символы пробелов
end
i=1;
while (any(string(i)= =delimiters))
i=i+1;
if (i>len),
return
end
end
start=i
while (~any(string(i)= =delimiters))
i=i+1;
if (i>len),
break
end
end0
finish=i-1;
token=string(start:finish);
if (nargout = =2)
remainder= string(finish+1:end);
end
Осында кӛргеніміздей шығатын тізімдегі аргументтер қатарлы реті керекті мәнге
ие болады. Егер М-функциясына назар аударғанда шығатын аргумент кӛрсетілмесе,
онда бірінші аргумент мейлінше шығады. Қалыптастыруға және келесі аргументтер
шешіміне М-функцияға соған қатысты ұйымдасқан түрде келуге болады.
Аргументтер тізімі.
Varargin және varargout функциялары кез келген кіретін және шығатын
аргументтер санын береді. Matlab жүйесі кіретін және шығатын аргументтердің
ОӘК
042-18-12.1.55/3-2013
№1 басылым 18.09.2013ж
50 беттің 49-сі
берілгендерін массив ұяшықтарына жабдықтайды. Әрбір ұяшық ӛзінде кез келген
типті және мәліметтер санын қамтиды.
Мысал: Testvar функциясы екі элементтерден кіретін аргументтер ретінде кез
келген векторлардың санын береді.
)
,
(
])
3
))
(max(
min
3
))
(max(
min
([
));
min(
,
0
min(
min
));
min(
,
0
min(
min
)
2
}(
{
arg
var
)
(
)
1
}(
{
arg
var
)
(
)
arg
(var
:
1
)
arg
var(var
y
x
plot
y
fix
y
x
fix
x
axis
y
y
x
x
end
i
in
i
y
i
in
i
x
in
length
i
for
in
test
function
Сонымен, testvar функциясы түрлі ұзындықтардың кіретін тізімдерімен жұмыс
жасай алады.
Мысал:
])
1
1
[
],
2
4
[
],
5
3
[
],
0
1
var([
])
3
2
[
],
2
4
[
],
5
6
[
],
8
4
[
],
5
1
[
],
3
2
var([
test
test
Varargin кіретін массивтің қалыптасуы.
Varargin тізімі ұяшықтардың массивіне кіретін агументтері сақтаса, онда
берілгендерді шығаруға ұяшықтардың индекстерін пайдалануға қажетті.
Ұяшықтардың индексі екі компоненттерден тұрады:
фигуралы жақшадағы индекстер;
дӛңгелек жақшадағы индекстер;
Мысал:
)
2
}(
{
arg
var
)
(
i
in
i
y
;
Мұндағы, {i} фигуралы жақшадағы индекс varargin массивтің і-ші ұяшықты
адресті кӛрсетеді, ал (2) дӛңгелек жақшадағы индекс ұяшықтың екінші элементін
кӛрсетеді.
Varargout шығатын массивтің қалыптасуы. Кӛптеген шығатын аргументтерді
varargout массив ұяшығына қажетті түрде жабдықтау керек. Функцияның шығатын
аргументтерінің санын анықтау үшін nargout функциясын пайдалану керек.
Мысал: келесі функция екі бағаннан кіретін массивтерді пайдаланады, мұндағы
бірінші баған-х координатының мәндер жиыны, ал екіншісі-у координатының
мәндер жиыны. Функция массивтерді жеке векторларға бӛледі. Олар кіретіндер
ретінде testvar функциясына берілуі мүмкін.
ОӘК
042-18-12.1.55/3-2013
№1 басылым 18.09.2013ж
50 беттің 50-сі
end
i
arrayin
i
out
out
n
i
for
arrayin
test
out
function
:);
,
(
}
{
arg
var
arg
:
1
)
(
2
var
]
arg
[var
Ұсынылатын әдебиет:
1.Статистический анализ данных в пакете Mathcad Радченко Т.А., Дылевский А.В,
Воронеж, 2004
2.Дьяконов В.П. Справочник по MathCAD PLUS 6.0 PRO. - М.: СК-Пресс, 1997
4.СТУДЕНТТІҢ ӚЗДІК ЖҰМЫСЫ
4.1.Ӛздік жұмысты ұйымдастыру бойынша әдістемелік нұсқаулар: студенттің
ӛздік жұмысы (СӚЖ) реферат түрінде орындалады және студенттердің ӛздік
жұмысын қойлатын талаптарға сәйкес тапсырылады.
Ӛздік жұмысты бақылау келесі формада ӛтуі мүмкін:
– жасалған жұмысты кӛрсету;
– ӛздік меңгерген тақырып бойынша баяндама;
– аудиториялық сабақтарды немесе ОБСӚЖ-де ауызша сұрау;
– жазбаша орындалған тапсырмаларды қорғау.
Ӛздік жұмысының нәтижелерін тапсырмаған студент қорытынды аттестацияға
жіберілмейді.
Ӛз бетімен меңгерген материал оқытушумен бірге меңгерілген материалмен
қоса қорытынды бақылауға шығарылады.
4.2.Ӛздік жұмыс тақырыптары:
1. Модельдер классификациясы
2.Компьютерлік модельдеудің негізгі принциптері
3.Модельдер құру технологиясы
4.Кездейсоқ заңдылықтарды имитациялау әдістері
5.Мәліметтерді интерпретациялау
6.Модельдеу нәтижелерін талдау және ӛндеу
7.Массалық қызмет кӛрсету жүйелерін модельдеу
8.Петри желілерін модельдеу
9.Үздіксіз жүйелерді модельдеу әдістері
10.Әлеуметті-экономикалық жүйелерді модельдеу
11.Ӛндірістік процестерді модельдеу
Достарыңызбен бөлісу: |