Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MatLAB.docx
Скачиваний:
58
Добавлен:
01.05.2015
Размер:
334.38 Кб
Скачать

2.1 Мысалы:

y = f1(x) = a2*ctg(x)*sqrt(sin4(x) – cos4(x) функцияның мәндерін есептейтін бағдарламаны құрастырайық. Ол үшін редактор терезесінде келесі мәтінді тереміз:

function y = f1(x, a)

%Процедура вычисления значения функции

% y = f1(x) = a2*ctg(x)*sqrt(sin(x)^4 – cos(x)^4)

%Обращение y = f1(x,a).

y = (a^2)*cot(x).*sqrt(sin(x).^4 – cos(x).^4);

 

Бұл мәтінді f1.m файлда сақтаймыз.

Бұйрық терезеге келесі бұйрықты енгіземіз:

>> y = f1(1, 0.1)

 

Егер де аргументтің әр түрлі мәндері үшін функция мәндерінің векторын алғымыз келсе, біріншіден аргументтер векторын құрастырамыз:

 

>> z = 0 : 0.3 : 1.8;

Енді процедураны шақырамыз:

>> v = f1 (z,1)

 

Жасалынған процедура туралы мәліметтерді алғымыз келсе келесіні тереміз:

>> help f1

 

2.2 мысалы: 

1.17 мысалдың мәтініне керекті комментариді қосыыз, оны файл-функция ретінде сақтаңыз. Бұл процедура үшін айнымалыларды бұйрық терезесінен беру қажет емес, сондықтан процедураның бірінші жолын function appr деп бейнелейміз. Файлды appr.m атымен сақтаңыз. Бағдарламаны бұйрық терезеден шақырыңыз. Жасалған процедура туралы мәліметерді алу үшін help appr мәтінін теріңіз (егер де комментарий орнатылмаған болса, ештеңе көрсетілмейді).

 

2.3 мысалы: 

2.2 мысалдың процедурасын айнымалылар бұйрық терезеден берілетін болатындай өзгертіңіз.

 

Кейбір стандартты файл-функциялары:

1.  [I, cnt] = quad (‘<функция аты>’, a, b) – квадратуралар әдісімен интегралды

есептеу; мұнда a, b – функцияның өзгеруінің төменгі және жоғарғы шектері;

I – интегралдың есептелген мәні; cnt – функцияны есептеудің саны, функция

М-файлда орнатылады, файл аты <функция аты> деген жерде көрсетіледі;

2. ode23, ode45 – қарапайым дифференциалды теңдеулерді интегралдау:

     [t, y] = ode23 (‘<функция аты>’, tspan,y0,options)

     [t, y] = ode45 (‘<функция аты>’, tspan,y0,options)

мұнда  < функция аты > - f(t,y) мәндері (жүйенің оң жағындағы функциялар)   

есептелінетін М-файлдың аты болатын символдар жолы; y0 – жүйе күйін көрсететін айнымалылардың бастапқы мәндер векторы; t – интегралдау қадамдарына сәйкес аргумент мәндерінің массиві; y – интегралданған айнымалылардың мәндерінен тұратын матрица, оның әр тік жолы күй айнымалыға сәйкес, ал жатық жолы айнымалылардың мәндерінен тұрады; tspan – жатық жол векторы - [t0 tfinal], аргументтің бастапқы және соңғы мәндерін анықтайды; options – көрсетпеуге болатын параметр, интегралдаудың абсолютті және салыстырмалы қателіктерін анықтайды (көрсетпеген кезде 1.0e-6 және 1.0e-3 деп алынады );

3.fmin – бір өлшемді функцияның минимумын табу; келесі түрде қолданылады:   

        Xmin = fmin (‘<функция аты >’, X1, X2)

мұнда  Xmin – функцияның X1<X<X2 интервалындағы локалды минимумы;

4. fmins – көп өлшемді функцияның минимумын табу; келесі түрде қолданылады:  

Xmin = fmins (‘<функция аты>’, X0), X0 – аргументтер векторының бастапқы мәні;

5. fzero – бір өлшемді функцияның түбірлерін табу; келесі түрде қолданылады:   

z = fzero (функцияныңаты, x0, t01, trace)

мұнда x0 – аргументтің бастапқы мәні, функцияның нақты түбірі соның аймағында ізделінеді, t01 – түбірді есептеудің берілген салыстырмалы қателігі, trace – аралық мәліметтерді экранға шығару керек болса орнатылады,  z – ізделінген түбірдің мәні;

6. fplot -  бір өлшемді функцияның графигін салу; plot процедурадан өзгешелігі – алдын-ала функция мәндерін есептеу керек; келесі түрде қолданылады:  

fplot(‘<функция аты>, [<интервал>], n)

мұнда  <интервал> - аргументтің төменгі және жоғарғы мәндерін белгілейтін екі саннан тұратын жатық жол векторы, <функция аты> - аргументтер мәндері бойынша функция мәні есептелінетін процедураның мәтіні сақталынатын М-файл, n – берілген интервалдың бөліктерінің мәні (көрсетілмесе 25-ке тең); егер де процедураны келесі түрде қолданса

          [x, Y] = fplot(‘<функция аты>, [<интервал>], n),

функция графигі экранда көрсетілмейді, х аргументтерінің векторымен оларға сәйкес Y  функцияның векторы (матрицасы) есептелінеді, бұл кезде графикті құру үшін plot(x,Y) процедурасы қолданылады.

 

2.4 мысалы:

π мәнін [3,4] интервалында y = cos(x) функцияның локалды минимумы ретінде табайық.

>> Xmin = fmin (‘cos’,3,4)

 

2.5 мысалы:

[0,5] аралығында y = (x-1)^2 + 3 функцияның минимумын табайық. Біріншіден файл-функцияны құрастырайық (редактор терзесінде):

 

function y = parab (x)

 y = (x-1).^2 + 3

 plot(x,y)

 

Мәтінді parab.m файлда сақтайық. Сонан соң бұйрық терезеде келесіні терейік:

>> x= -5:1:5

>> y=parab(x)

>> xmin = fmin (‘parab’, 0,5)

 

Келесі мысалдарда қарапайым дифренциалды теңдеулерді интегралдау әдістерін орындайтын процедураларды қолдануы қарастырылған.

 

2.6 мысалы: Бастапқы y(0)= 1 шарты  бар

                   y’ = -y,

дифференциалды теңдеуін шешу қажет болсын.

Жүйенің редактор терезесін ашып, оған келесі мәтінді терейік:

     function dy=f1(t,y)

     dy=-y

Файлды f1.m атымен сақтаймыз.

Бұйрық терезеде келесіні тереміз:

>>[t,y] = ode45('f1',[0 5],1)

Мұнда теңдеуді шешу интервалы [0 5], айнымалының бастапқы мәні 1 деп орнатылды, options параметрі көрсетілмеді.

Жүйе бұйрық терезеге айнымалылардың сандық мәндерін орнатады. Графикті көру үшін келесіні теріңіз:

>>plot(t, y)

 

2.7 мысалы: Келесі жүйені қарастырайық

                   

 

Жүйені шешу үшін келесі мәтіні бар М-файлды құрастырамыз:

function dy = rigid(t,y)

dy = zeros(3,1);    % вектор-столбец

dy(1) = y(2) * y(3);

dy(2) = -y(1) * y(3);

dy(3) = -0.51 * y(1) * y(2);

Файлды сақтаймыз.

Жүйенің [0 12] аралықта [0 1 1] бастапқы шарттар векторымен шешімін табамыз:

>> [t,y] = ode45('rigid',[0 12],[0 1 1]);

Шешімді графикте көрсетеміз:

         >> plot(t,y)

3 Сигналдарды цифрлік өңдеу (Signal Processing Toolbox)

Signal Processing Toolbox пакеті цифрлы және аналогты фильтрлерді олардың амплитудалық және фаза-жиілік сипаттамалары бойынша жобалауға (белгілі сандық сипаттамаларын есептеуге), типтік уақыт бойынша өзгеретін сигналдар тізбектерін тудыруға және оларды жобаланған фильтрлермен өңдеуге мүмкіндік береді. Фурье, Гильберт түрлендірулерін және статистикалық анализді өткізетін процедуралар пакет құрамына кіреді және осы құрылғы көмегімен сигналдардың корреляциялық функцияларын, спектрлік   тығыздығын есептеуге, фильтрлердің параметрлерін бағалауға болады.

 

3.1 Типтік сигналдарды тұрғызу

         Тік төртбұрышты түрі бар жалғыз импульсті тудыру үшін rectpuls процедурасы қолданылады. Процедураны қолдану:

y = rectpuls (t, w).

Мұнда y – ені w-ге тең бірлік амплитудасы бар, t = 0 арқылы орталықтанған сигналдың мәндерінің векторы. Егер де  w көрсетілмеген болса, оның мәні 1-ге тең деп алынады.

 

3.1 мысалы:

>> t = 0 : 0.1 : 10;

>> y = 0.75*rectpuls (t-3,2) + 0.5*rectpuls (t-8, 0.4)…

     + 1.35*rectpuls (t-5, 0.8);

>> plot (t,y), grid, set (gca, ‘FontName’, ‘Arial Cyr’, “FontSize’, 16)

>> title  (‘Пример применения процедуры RECTPULS’)

>>xlabel (‘Время (с)’)

>>ylabel (‘Выходной процесс y(t)’)

 

         Бірлік амплитудасы бар үш бұрышты импульсты өңдеу үшін tripuls процедурасы қолданылады, қолдану түрі:

         y = tripuls (t, w, s)

         y, t, w  аргументтердің мағынасы жоғарыда айтылғандай. s аргументы (-1 < s <1) үшбұрыштың бұрышын белгілейді. Егер де s = 0 немесе көрсетілмеген болса, үш бұрышты импульс симметриялық болады

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]