Ысқаша теориялық мәліметтер
АЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ ҚАРАҒАНДЫ МЕМЛЕКЕТТІК ТЕНХНИКАЛЫҚ УНИВЕРСИТЕТІ
АӨП кафедрасы
Зертханалық жұмыс
Пәні: Бағдарламалық модельдеу құралдары
Тақырыбы: MatLab жүйесімен танысу, «ғылыми калькулятор» режимінде жұмыс істеу. MatLab ортасының есептеу нәтижелерін визуалдау құралдары
Жетекшісі: Мұхамедиева Л.С.
___________________________
(Баға) (Қолы)
Студент: Елемесов Б.Н.
Тобы: ЭЭ-16-1
___________________________
(Күні) (Қолы)
ысқаша теориялық мәліметтер
MatLab – матрицаларымен жұмыс істеуге бағытталған жүйе. Вектор 1×n, немесе n×1 өлшемді матрицаның бір түрі болып келеді.
Векторлар бос орын (пробел) немесе нүкте-үтір белгілерімен бөлінген элементтерінің тізімімен беріледі. Тізбектер тік жақшаның ішінде жазылады. "V" векторының n элементін белгілеу үшін "V(n)" команда қолданылады, ол арқылы индекстелген айнымалыны беруге болады.
MatLab матрицалары тік жақшаның ішінде жолдарын көрсететін вектор бағана ретінде беріледі. Вектордың элементтерін бөлу үшін бос орын үтір белгісі, ал векторларды өзара бөлу үшін нүкте-үтір белгісі қолданылады. М матрицаның бір элементін белгілеу үшін "М(j, i)" командасы қолданылады, мұнда М – матрицаның аты, j – жолдың нөмірі және i – бағананың нөмірі.
Осы жұмыста MatLab бағдарламасының Command Window – команда терезесімен жұмыс істейміз. МаtLаb жүйесінде кез келген есептеулерді команда жолы арқылы орындауға болады, сондықтан МаtLаb жүйесі күшті калькуляторға айналады. Онда тек арифметикалық, қарапайым функциялармен жұмыс істемей, векторлар мен матрицалармен, комплексті сандармен, полиномдармен жұмыс істеуге болады. Сонымен қатар түрлі функцияларының графиктерін алуға болады.
Үнсіздік MatLab қорытынды сандарды ондық нүктеден кейін төрт санмен және алдын ала бір санмен нормалді форма түрінде көрсетеді. Көпшілікті ондай түр қанағаттандырмайды, сондықтан сан мәліметтермен жұмыс істеу кезінде сандардың түрлі форматтарын беруге болады. Бірақ есептеулер нақты екі есе дәлділікпен есептеледі. Сандардың формат түрін беру үшін келесі команда қолданылады: " format name", мұнда name – форматтың аты.
Сан мәліметтері үшін name келесі түрмен жазуға болады:
- short – қысқартылған анықталған форматы (5 белгі) түрінде;
- short е – қысқартылған экспонент форматы (мантисаның 5 белгі және дәреженің 3 белгісі) түрінде;
- long – ұзартылған анықталған форматы (15 белгі) түрінде;
- long е – ұзартылған экспонент форматы (мантисаның 15 белгі және дәреженің 3 белгісі) түрінде;
- hex – сандарды он алтылық формасында көрсету түрі;
- bank – ақша бірліктерін көрсету түрі.
Команда режимі диалог түрінде өтеді. Пайдаланушы команданы команда жолына жазғаннан соң ENTER батырмасы арқылы есептің нәтижесін немесе команданың орындау нәтижесін алады. Команда терезесінде жұмыс істеу кезінде келесі ескертулерді білу керек:
- алғашқы мәліметтерді енгізу үшін ">>" символы қолданылады;
- мәліметтер қарапайым жол редакторы арқылы енгізіледі;
- егер есептеу қортындысының айнымалы аты көрсетілмесе, онда MatLab "ans" аты айнымалыға қорытындысын жазады және оны экранға шығарады;
- теңестіру белгісі ретінде тең "=" белгісі қолданылады;
- ішкі (енгізілген) функциялардың аты кіші әріппен жазылады, ал аргументі жақша ішінде жазылады;
- есептеу қорытындысы шығыс жолында көрсетіледі ("»" белгісіз).
6.1 - кесте – Команда режимінің терезе басқару командалары
Команда аты | Команданың орындау әрекеттері |
Clc | Экранды тазартып курсорды сол жақ жоғарғы бұрышына орналастырады |
Home | курсорды сол жақ жоғарғы бұрышына апарады |
echo <file name> оn | Script-файлдың (файла сценария) мәтінін экранға шығару режимін қосады |
echo <file name> off | Script-файлдың мәтінін экранға шығару режимін өшіреді |
echo <file name> | Шығыс режимін керісінше ауыстырады |
echo оn all | Барлық m-файлдардың мәтінін экранға шығару режимін қосады |
echo off all | Барлық m-файлдардың мәтінін экранға шығару режимін өшіреді |
more оn | Бет бойынша шығару режимін қосады (ұзын m-файлдардың мәтінін қөруге ыңғайлы) |
more off | Бет бойынша шығару режимін өшіреді |
Константа – ол алдын ала анықталған сандық немесе символдық мәні және ерекше аты бар шама.
MatLab жүйесінде басқа константа түрлерін жүйелік айнымалылар деп атайды,өйткені олар жүйені қосу кезінде беріледі, ал басқалар қайта анықталуы мүмкін. MatLab бағдарламасында қолданылатын негізгі жүйелік айнымалылар 6.2 - кестеде көрсетілген.
6.2 - кесте – MatLab орталығының жүйелік айнымалылары
Айнымалының атауы | Айнымалының сипаттамасы |
i немесе j | Жорамалы бірлік |
pi | Сан π:= 3.1415926... |
eps | (2-52) еркін сандар (плавающий) нүктесінің қателігі |
rea1min | (2-1022) еркін сандардың ең аз нүктесі |
rea1max | (21023) еркін сандардың ең үлкен нүктесі |
inf | Машиналық шексіздік мәні |
ans | Сонғы операцияның корытындысын сақтайтын айнымалы және ол экранда көрсетіледі |
NaN | Мәліметтерді сан емес екендігін көрсетеді (Nоt-а-Numbеr) |
Символды константа - ол апостроф ішінде жазылған тізбектей жазылған символдар. Мысалы: 'Hello my friend!'; 'Привет'; '2+3'. Егер апостроф ішінде математикалық формула жазылса, онда ол есептелмейді және ол қарапайым символ тізім болып қарастырылады. Бірақ оны арнайы функциялар арқылы есептеу түрлеріне ауыстыруға болады.
Мәтіндік комментарий "%" символы арқылы енгізіледі.
Айнымалылар - олар мәндері әр түрлі мәліметтерін сақтай алатын және аты бар объектілер. Мәліметтерге байланысты айнымалылар сандық немесе символдық вектор немесе матрица болуы мүмкін.
MatLab жүйесінде айнымалыларға белгілі бір мәндерді беруге болады. Ол үшін теңестіру операциясы қолданылады:
Айнымалының аты = мәні
Айнымалылардың түрі алдын ала анықталмайды. Олар мән берілгеннен соң мәнге сәйкес анықталады. Егер берілген мән вектор немесе матрица болса, онда ол векторлық немесе матрицалық болады.
Айнымалының атауы кез келген символ санынан тұруы мүмкін, бірақ алғашқы 31 символы ғана бекітіледі. Айнымалының атауы жүйенің ішкі функция, жүйелік айнымалылары атауы сияқты болмауы керек. Оның атауы ерекше болу керек және оның атауы әріптен басталу тиісті, қалған символдар кез-келген әріп, сан комбинацияларынан және асты сызулардан тұруы мүмкін. Айнымалының атауында бос жол (пробел), +, – , *, / және
т. б. сияқты арнайы символдар болмауы керек.
Айнымалылар қарапайым және индекстелген болуы мүмкін, яғни векторлардың немесе матрицалардың элементтері ретінде.
Жұмыс аймағын тазарту үшін "clear" функциясы қолданылады:
- clear – барлық анықталған айнымалыларды жою;
- clear х – х атты айнымалының мәнімен жою;
- clear а, b, с – бірнеше анықталған айнымалыларды жою.
Оператор – дегеніміз операндтарымен жұмыс істейтін операцияның анықтау арнайы белгісі. Мысалы, қарапайым арифметикалық операторлары: қосу, алу, көбейту, бөлу.
Көпшілік операторлар матрицалық операторлар болып келетінін ескерту қажет. Мысалы: көбейту "*" және бөлу "/" операторлары векторлардың немесе матрицалардың, екі массивтің көбейтіндісін және дербес бөлуін есептейді. Массивтермен жұмыс істейтін арнайы функциялар бар, олар: массивтерді элемент бойынша көбейтуі ".*" және элемент бойынша бөлу "./". Ал "\" оператор оң жақтан сол жаққа бөлуін көрсетеді. Операторлардың толық тізімін "»help ops". командасы арқылы алуға болады.
Функциялар – дегеніміз өз аргументтерінің белгілі бір түрлендірулерін орындайтын және сол түрлендіру қорытындысын қайтаратын ерекше аты бар объектілер. Қорытындысын қайтару – ол функцияның ерекше белгісі. Сонымен, функцияның есептеу нәтижесін басқа математикалық формулаларда қолдануға болады.
Функцияда жалпы жақша түрінде жазылған аргументтер (параметрлерінің) тізімі болады. Қарапайым функциялардың тізімімен "help elfun" командасы арқылы, ал арнайы функция тізімімен "help specfun" командасы арқылы экранға шығаруға болады. Функциялар енгізілген (ішкі) және сыртқы, немесе m-функциялар бола алады. Енгізілген функциялар MatLab жүйесінде өңделген түрде сақталған, сондықтан олар тез орындалады. 6.3-кестеде MatLab жүйесінің кейбір функциялары берілген. 6.4-кестеде MatLab жүйесінің кейбір операция тізімдері көрсетілген.
6.3 - кесте – MatLab орталығының кейбір функциялары
MatLab функциясы | Функцияның сипаттамасы |
Тригонометриялық, гиперболалық және оларға кері функциялар | |
sin, cos, tan, cot | синус, косинус, тангенс және котангенс |
sec, esc | секанс ( ), косеканс ( ) |
asin, acos, atan, acot | арксинус, арккосинус, арктангенс және арккотангенс |
asec, acsc | арксеканс, арккосеканс |
sinh, cosh, tanh, coth | гиперболалық синус, косинус, тангенс және котангенс |
sech, csch | гиперболалық секанс және косеканс |
asinh, acosh, atanh, acoth | гиперболалық арксинус, арккосинус, арктангенс және арккотангенс |
asech, acsch | гиперболалық арксеканс және арккосеканс |
Тригонометриялық функциялардың аргументтері радианда болу тиісті Кері тригонометриялық функциялар нәтижелерін радиан түрінде қайтарады | |
Экспонент функция, логарифмдер, дәрежелі функциялар | |
ехр | экспонент функциясы |
log | натуралды логарифм |
log10 | ондық логарифм |
log2 | 2 негізделген логарифм (логарифм по основанию 2) |
pow2 | 2 санның дәрежесін табу |
sqrt | квадрат түбірі |
Жинақтау және бөлудін қалдығын алу | |
MatLab функциясы | Функцияның сипатамасы |
fix | Нөлге тақау бүтін санға дейін жинақтау |
floor, ceil | + шексіз немесе – шексізде бағытында тақау бүтін санға дейін жинақтау |
round | тақау бүтін санға дейін жинақтау |
mod | Бүтін санды бөлудің қалдығы |
6.4 - кесте – MatLab орталығының операциялары
Операциялар | Тағайындауы |
Арифметикалық және матрицалық операциялар | |
+, - | Оларды қосу және алу, скалярмен массивтерге қосу және алу. Массивтер бірдей өлшемді болу керек. Операндының біреуі скаляр болуы мүмкін. |
* | Өлшемі келетін массивті немесе скалярлы көбейту. Операндының біреуі скаляр болуы мүмкін. |
kron | Матрицаларды кронекерлік немесе тензорлық көбейту. С = kron (А, В). |
/ | Скалярларды бөлу. Матрицаларды элемент бойынша скалярға бөлу. Егер екі операндтарда матрица болса, онда А/В = A*inv(B). |
^ | Скалярлы дәрежеге көбейту. Квадратты матрицаның дәрежесін есептеу. |
\ | Сол жақты матрицалық бөлу. Егер А квадратты матрица болса, онда А\В = inv(A) *В. Егер А n-өлшемді квадратты матрица, В n-нен тұратын вектор-бағана болса, онда х = А\В формуласы Ах = В сызықты тендеу жүйесінің шешімі болып табылады. |
* | Өлшемі бірдей массивтердің немесе скалярларды элемент бойынша көбейту. Мысалы: С = А .* В болса, онда С (i, j) = A{i, j)*B(i, j) болады. |
./ | Өлшемі бірдей массивтерді элемент бойынша бөлу. Мысалы: С = А. /В болса, онда С (i, j) = A(i, j)/B(i, j) болады. |
.\ | Өлшемі бірдей массивтердің элемент бойынша сол жақты бөлуі. Мысалы: С = А .\В болса, онда С (i, j) = B{i, j)/A(i, j) болады. |
.^ | Бір өлшемді басқа матрицаның элементтері болған, матрицаның элемент бойынша дәрежесін алу. Мысалы: С = А.^В болса, онда С (i, j) = A(i, j).^B(i, j) |
.' | Матрицаны транспорттау. |
Салыстырмалы операторлар | |
> | Үлкен: А > В |
>= | Үлкен немесе тең: А >= В |
< | Кіші: А < В |
<= | Кіші немесе тең: А <= В |
= = | Тең: А = В |
~= | Тең емес: А тең емес В |
Логикалық операциялар | |
& | Логикалық И:А>В&А<С |
&& | Логикалық И: k <= length(х) && х(k) > 0, егер бірінше шарт k <= length(х) орындалмаса, онда х(k) > 0 шарт тексерілмейді |
| | Логикалық ИЛИ: A > B | A < C |
|| | Логикалық ИЛИ: A > B || A < C, егер бірінші шарт A > B орындалса, онда екінші A < C тексерілмейді |
xor | Логикалық ерекше ИЛИ: xor (A > B, A == C) |
~ | Логикалық Терістеу: ~ (A == 0) |
Векторларды немесе графиктерді абсциссалық мәндерін құру үшін кейде формаланған сандардың тізбектері керек. MatLab ол үшін ":" (қос нүкте) операторын қолданады:
Бастапқы мән : Қадам : Соңғы мән
Осы конструкция бастапқы мәнінен бастап соңғы мәніне дейін белгілі қадаммен сандардың өсуін қамтамасыз етеді. Егер қадам саны берілмесе, онда ол 1ге тең деп алынады. Егер соңғы мән бастапқы мәнінен кіші болса, онда қате деп хабарлайды.
Y(t) функция графигін тұрғызу үшін "plot(t, y(t))" функциясы қолданылады. Мұнда "t" – функцияның аргументінің вектор мәні, ал "Y(t)" – функцияның вектор мәні. Осы функцияны вектор аргументісіз де тұрғызуға болады. Кез-келген функцияны тұрғызу үшін жалпы әрекеттердің тәртібі келесідей:
- команда жолында берілген фунцияның аргументінің вектор мәнін формалап оған ат береміз, мысалы "t";
- команда жолында графиктік фунцияны жазамыз және функцияның айнымалы ретінде "t" қолданамыз. Функцияға ат береміз. Мысалы"Y";
- команда жолында "plot(t,y)" функциясын жазып "Enter" батырмасын басамыз. Нәтижесінде графигі бар терезе пайда болады.
Мысал ретінде [-π, π] аралығында 0,01*π қадамымен Y(t)=sin(t) функцияның графигін тұрғызу керек.
Ол үшін команда жолында келесі операторларды ретімен жазамыз:
>> t=-pi:pi/100:pi;
>> y=sin(t);
>> plot(t,y)
>> grid on
Нәтижесінде 6.1 - суретте көрсетілген графикалық терезесін аламыз.
6.1 - сурет - Y=sin(t) функцияның графигі
Есептеулердің қорытындысын және жұмыс аймағындағы айнымалыларды, графикалық терезесіндегі немесе MatLab негізгі орталығындағы "File" (Файл) меню ішіндегі Сохранить командасы арқылы сақтауға болды.