Matlab програм хангамж
Инженерийн тооцоо,загварчлалын Matlab систем 1970-аад оны сүүлчээр үүсчээ. Matlab-ийн анхны хувилбарыг Нвю Мехикогийн Их сургууль болон Стандфордын Их сургуульд матрицын онол , шугаман алгебр ба тоон анализийн хичээлүүдийг заахад ашиглаж байжээ. Одоо ашиглаж байгаа Matlab-ийн хувилбарууд анхны хувилбаруудаасаа хүчин чадлын хувьд харьцангуй өндөр болжээ. Орчин үед Matlab-ийг инженерийн ба шинжлэх ухааны тооцооллийн өндөр ашигтай хэл хэмээн нэрлэж болно.
Инженерийн тооцоо,загварчлалын Matlab систем 1970-аад оны сүүлчээр үүсчээ. Matlab-ийн анхны хувилбарыг Нвю Мехикогийн Их сургууль болон Стандфордын Их сургуульд матрицын онол , шугаман алгебр ба тоон анализийн хичээлүүдийг заахад ашиглаж байжээ. Одоо ашиглаж байгаа Matlab-ийн хувилбарууд анхны хувилбаруудаасаа хүчин чадлын хувьд харьцангуй өндөр болжээ. Орчин үед Matlab-ийг инженерийн ба шинжлэх ухааны тооцооллийн өндөр ашигтай хэл хэмээн нэрлэж болно.
Matlab-ийг
1.
Математик ба
тооцон бодох
2.
Алгоритм боловсруулах
3.
Тооцооны туршилт,имитац загварчлал
4.
Өгөгдлийн анализ, үр дүнгийн судалгаа
5.
Шинжлэх ухаан ба инженерийн график
6.
Програм боловсруулалт
Зэрэгт ашиглаж байна.Matlab гэдэг нь
хэмжээ шууд зааж өгөөгүй массив үндсэн объект нь болсон интерактив систем юм. Matlab нь
нэгэн зэрэг систем
ба програмчлалын хэл болж болдог.
Энэхүү системийн давуу тал нь
олон дахин ашиглаж болдог програм боловсруулж болдогт оршино.Matlab-ийг ашиглан
хэрэглэгч өөрөө функц болон програм
бичин Matlab-ийн файл
болгон хадгалж болно.
1.Matlab гэж юу бэ?
MATLAB=MATrix labratory Математик техникт хэрэглэдэг програм хангамж LINPACK /EISPACK хэмээх дэд програмын багцаас үүссэн.Matlab нь доорх зориулалтаар хэрэглэгддэг интерактив ба програмчлагдах хэрэгсэл юм. Үүнд:
-Тоон математик
-Вектор ба матрицийн тооцоо
-График
MATLAB=MATrix labratory Математик техникт хэрэглэдэг програм хангамж LINPACK /EISPACK хэмээх дэд програмын багцаас үүссэн.Matlab нь доорх зориулалтаар хэрэглэгддэг интерактив ба програмчлагдах хэрэгсэл юм. Үүнд:
-Тоон математик
-Вектор ба матрицийн тооцоо
-График
Өргөн
хэрэглэгддэг салбаруудыг тоочвол
-Өгөгдлийн шинжилгээ
-Загварчлах
-Симуляци хийх
-Сигнал ба дүрс боловсруулах
-Програм хангамжийн үнэлгээ
-Шугаман алгебрийн сургалт
Matlab-ийн бүтэцMatlab-ийн гол цөмийг “Matlab Command Window” (Matlab-ын командын цонх) интерперетер,”Command Line Editor ” үүсгэдэг.Интерперетер нь бэлэн байгаа тухайгаа тэмдэгтээр мэдээллэдэг бол ”Command Line Editor ” нь товчлуур нь гараас мэдээлэл оруулах боломж олгодог.Matlab Realease 12-оос эхлэн дурын өөрчлөлт тохируулах “Command Window”-той болсон билээ.Matlab нь интерпретерийн хэл бөгөөд ажлын хоёр янзын горимтой.Үүнд:1.”Command Driven Mode”
.”Command Driven Mode” -оор .”Command Driven Mode” –д зааврыг (комманд)
буюу оператор) оруулж, Return товчлуураар дуусгахад заавар шууд биелэгддэг.
2.”File Driven Mode”
Гадны редакторлогч програмаар зааврыг оруулах ба уг програм нэг өгч *.m өргөтгөлтэйгээр хадгалдаг.Хэрэв Matlab “Command Window”-д уг нэрийг бичиж,Return товчийг дарвал програм хангамж ажиллаж, заавар буюу операторууд иллбиелэгддэг.Интерперетр нь санах ойн хэсэг болох “Workspace”-тэй харилцаж ажиллах ба энд бүх хувьсахуудыг хадгалдаг.Иймд “Workspace”-ийн өгөгдлийг гадны файлд *.mat өргөтгөлтэй эсвэл ASCII форматын файл мэт хадгалж , мөн эндээс дуудаж хадгалах боломжтой.
Matlab-ыг ажиллуулах
Дисплейны дэлгэцэн дээр байгаа MATLAB нэртэй дүрсийг хоёр дахин дарах буюу эсвэл Start-Programs-Matlab менюгээр програмаа ажиллуулна.
Matlab –Prompt-ын дараагаар >> intro command бичиж Matlab програм хангамжийн тухай тайлбарыг гаргаж хялбархан сурч болох юм. Үүнээс гадна янз бүрийн салбарт хэрэглэх боломжийг танилцуулсан Demo-г ашиглавал улам хялбар ашиглах боломж гардаг.
График ба дүрс гаргах Demos:
-penny
-lorenz
-bucky
Өгөгдлийн шинжилгээ хийх Demos:
-quake
-census
-fitdemo
Matlab нь програмчлалын хэл болох тухай Demos:
-xplang
Үзүүлбэр програмуудыг шууд дуудаж ажиллуулж болох ба харин текст болон график цонхууд бие биенээ хаахгүй байх хэрэгтэй.Үүнийг жижиг мониторын дэлгэцэнд гаргаж (<17 инч ) харуулахад төвөгтэй байдаг.Demo ашиглаж бүх үзүүлбэр програмын жагсаалтыг гаргаж ажиллуулж болдог.Matlab-д програм зохиохыг ойлгохын тулд програм хангамжтай хамт нийлүүлсэн M файлуудыг (.m өргөтгөлтэй програм ба функц) гаргаж болдог.Үүний тулд Type <command > ашигладаг.Жишээлбэл:type mean гэж бичиж файлыг дэлгэцэнд гаргадаг.
Заавар
1. Тусламж зааврыг Help Funktion гэж бичиж гаргадаг.
2.Хувьсах хэмжигдэхүүнүүдийг том ба жижиг үсгээр бичих нь ялгаатай юм.M ба m гэж бичвэл энэ нь 2 өөр хувьсагч болдог.
3.Matlab-д хэрэглэдэг чухал өгөгдлийн төрөл нь матриц юм.(Нэг тоо байвал 1х1 хэмжээст матриц,вектор нь 1xn буюу nx1 хэмжээст матриц юм)
Матрицын элемент нь Matlab-д хэрэглэгддэг илэрхийлэл байж болно. Жишээ нь:sqrt(3) буюу 1+2*4 ,1+2i (Энд i нь комплекс тоо sqrt(-1)) юм.
-Өгөгдлийн шинжилгээ
-Загварчлах
-Симуляци хийх
-Сигнал ба дүрс боловсруулах
-Програм хангамжийн үнэлгээ
-Шугаман алгебрийн сургалт
Matlab-ийн бүтэцMatlab-ийн гол цөмийг “Matlab Command Window” (Matlab-ын командын цонх) интерперетер,”Command Line Editor ” үүсгэдэг.Интерперетер нь бэлэн байгаа тухайгаа тэмдэгтээр мэдээллэдэг бол ”Command Line Editor ” нь товчлуур нь гараас мэдээлэл оруулах боломж олгодог.Matlab Realease 12-оос эхлэн дурын өөрчлөлт тохируулах “Command Window”-той болсон билээ.Matlab нь интерпретерийн хэл бөгөөд ажлын хоёр янзын горимтой.Үүнд:1.”Command Driven Mode”
.”Command Driven Mode” -оор .”Command Driven Mode” –д зааврыг (комманд)
буюу оператор) оруулж, Return товчлуураар дуусгахад заавар шууд биелэгддэг.
2.”File Driven Mode”
Гадны редакторлогч програмаар зааврыг оруулах ба уг програм нэг өгч *.m өргөтгөлтэйгээр хадгалдаг.Хэрэв Matlab “Command Window”-д уг нэрийг бичиж,Return товчийг дарвал програм хангамж ажиллаж, заавар буюу операторууд иллбиелэгддэг.Интерперетр нь санах ойн хэсэг болох “Workspace”-тэй харилцаж ажиллах ба энд бүх хувьсахуудыг хадгалдаг.Иймд “Workspace”-ийн өгөгдлийг гадны файлд *.mat өргөтгөлтэй эсвэл ASCII форматын файл мэт хадгалж , мөн эндээс дуудаж хадгалах боломжтой.
Matlab-ыг ажиллуулах
Дисплейны дэлгэцэн дээр байгаа MATLAB нэртэй дүрсийг хоёр дахин дарах буюу эсвэл Start-Programs-Matlab менюгээр програмаа ажиллуулна.
Matlab –Prompt-ын дараагаар >> intro command бичиж Matlab програм хангамжийн тухай тайлбарыг гаргаж хялбархан сурч болох юм. Үүнээс гадна янз бүрийн салбарт хэрэглэх боломжийг танилцуулсан Demo-г ашиглавал улам хялбар ашиглах боломж гардаг.
График ба дүрс гаргах Demos:
-penny
-lorenz
-bucky
Өгөгдлийн шинжилгээ хийх Demos:
-quake
-census
-fitdemo
Matlab нь програмчлалын хэл болох тухай Demos:
-xplang
Үзүүлбэр програмуудыг шууд дуудаж ажиллуулж болох ба харин текст болон график цонхууд бие биенээ хаахгүй байх хэрэгтэй.Үүнийг жижиг мониторын дэлгэцэнд гаргаж (<17 инч ) харуулахад төвөгтэй байдаг.Demo ашиглаж бүх үзүүлбэр програмын жагсаалтыг гаргаж ажиллуулж болдог.Matlab-д програм зохиохыг ойлгохын тулд програм хангамжтай хамт нийлүүлсэн M файлуудыг (.m өргөтгөлтэй програм ба функц) гаргаж болдог.Үүний тулд Type <command > ашигладаг.Жишээлбэл:type mean гэж бичиж файлыг дэлгэцэнд гаргадаг.
Заавар
1. Тусламж зааврыг Help Funktion гэж бичиж гаргадаг.
2.Хувьсах хэмжигдэхүүнүүдийг том ба жижиг үсгээр бичих нь ялгаатай юм.M ба m гэж бичвэл энэ нь 2 өөр хувьсагч болдог.
3.Matlab-д хэрэглэдэг чухал өгөгдлийн төрөл нь матриц юм.(Нэг тоо байвал 1х1 хэмжээст матриц,вектор нь 1xn буюу nx1 хэмжээст матриц юм)
Матрицын элемент нь Matlab-д хэрэглэгддэг илэрхийлэл байж болно. Жишээ нь:sqrt(3) буюу 1+2*4 ,1+2i (Энд i нь комплекс тоо sqrt(-1)) юм.
Вектор
Prompt “>>”-ын дараа >>a=[1 2 3 4 5 6 7 ] гэж оруулахад Matlab доорхи өгөгдлийг харуулна.
a=
1 2 3 4 5 6 7
Олон элементтэй векторт өгөгдлийг дэлгэцэнд гаргахыг хориглож болдог.Үүний тулд мөрийн төгсгөлд цэгтэй таслал бичдэг.
>>a=[1 2 3 4 5 6] векторын хооронд үйлдэл хийх нь хялбар юм.Үүнд:
>>b=a+5
b=
6 7 8 9 10 11 12
a,b векторуудын хэмжээс ижил тул тэдээрийг хооронд нь нэмэх.
>>c=a+b
c=
7 9 11 13 15 17 19 буюу тэдээгрийг харгалзах элементүүдийн хооронд үржих үйлдэл буюу (Array product) хийж болдог.
>>d=a*b
d=
6 14 24 36 50 66 84
(үйлдлийн тэмдгийн өмнөх цэг нь Matlab-д элемент элементээр нь үйлдэл нэмэхийг заадаг)
Аливаа векторыг хөрвүүлж болдог.
>>c=c’
c=
7
9
11
13
15
17
19
Хоёр векторын скаляр үржвэр
>>a*c
Prompt “>>”-ын дараа >>a=[1 2 3 4 5 6 7 ] гэж оруулахад Matlab доорхи өгөгдлийг харуулна.
a=
1 2 3 4 5 6 7
Олон элементтэй векторт өгөгдлийг дэлгэцэнд гаргахыг хориглож болдог.Үүний тулд мөрийн төгсгөлд цэгтэй таслал бичдэг.
>>a=[1 2 3 4 5 6] векторын хооронд үйлдэл хийх нь хялбар юм.Үүнд:
>>b=a+5
b=
6 7 8 9 10 11 12
a,b векторуудын хэмжээс ижил тул тэдээрийг хооронд нь нэмэх.
>>c=a+b
c=
7 9 11 13 15 17 19 буюу тэдээгрийг харгалзах элементүүдийн хооронд үржих үйлдэл буюу (Array product) хийж болдог.
>>d=a*b
d=
6 14 24 36 50 66 84
(үйлдлийн тэмдгийн өмнөх цэг нь Matlab-д элемент элементээр нь үйлдэл нэмэхийг заадаг)
Аливаа векторыг хөрвүүлж болдог.
>>c=c’
c=
7
9
11
13
15
17
19
Хоёр векторын скаляр үржвэр
>>a*c
Ans=
420
гэж гарна.ans(answer) гэсэн хувьсах нь ямар нэг өөр хувьсахад олгохыг заагаагүй бол програмаас автоматаар гардаг.Жишээ нь:
>>sin(pi/2)
ans=
1
ans-ийг цааш нь тооцоонд хэрэглэвэл
>>ans*2
ans=
2
Хувьсахуудыг санах ойд хадгалдаг ба тэдгээрийг clear command-аар арилгадаг.Санах ойд хадгалсан хувьсахуудыг Who буюу дэлгэрэнгүй харах бол whos command- аар дэлгэцэндгаргаж хардаг
>>who
your variables are:
a ans b c d
>> clear ans d
>>who
your variables are:
a b c
>>whos
420
гэж гарна.ans(answer) гэсэн хувьсах нь ямар нэг өөр хувьсахад олгохыг заагаагүй бол програмаас автоматаар гардаг.Жишээ нь:
>>sin(pi/2)
ans=
1
ans-ийг цааш нь тооцоонд хэрэглэвэл
>>ans*2
ans=
2
Хувьсахуудыг санах ойд хадгалдаг ба тэдгээрийг clear command-аар арилгадаг.Санах ойд хадгалсан хувьсахуудыг Who буюу дэлгэрэнгүй харах бол whos command- аар дэлгэцэндгаргаж хардаг
>>who
your variables are:
a ans b c d
>> clear ans d
>>who
your variables are:
a b c
>>whos
Name
|
Size
|
Bytes
|
Class
|
a
|
1x7
|
56
|
Double array
|
b
|
1x7
|
56
|
Double array
|
c
|
1x7
|
56
|
Double array
|
Тодорхой дэс дараалалтайгаар үүсэх элементтэй векторыг доорхи байдлаар үүсгэж болдог.
>>f=0:10
f=
0 1 2 3 4 5 6 7 8 9 10
>>g=10:2:20
g=
10 12 14 16 18 20
Векторын шаардлагатай элементийг индексээр тодорхойлж болдог.
>>f(5)
ans=
4
>>f(2:4)
ans=
1 2 3
Мөн тухайн элементийг өөр элементээр орлуулах буюу устгаж болно.
f(5)=100
f=
0 1 2 3 100 5 6 7 8 9 10
f=(1:3)=[1 1 1]
f=
1 1 1 3 100 5 6 7 8 9 10
>>f(4:10)=[];
f=
1 1 1 10
Тэгш өнцөгт хаалт [] ашиглан векторуудыг хооронд нь холбох болон матриц хувиргаж болно.
>>k=[1 2 3];
>>l=[1 2 3];
l=
123 123 123
>>M=[ k ;k; k ]
M=
123
123
123
Матриц
Matlab нь матрицын хооронд тооцоо хийх ба түүнийг хувиргах өргөн их боломжтой юм. Ийм үйлдлүүд нь векторын функцтэй төстэй хэрэглэгддэг.M матрицын аливаа нэг элемент буюу дэд матрицыг доорхи байдлаар гаргадаг.
>>M(2,2)
ans=
2
>>M(2:3,2:3)
ans=
2 3
2 3
Нэг мөр буюу баганыг бүхлээр нь гаргах бол давхар цэг : ашигладаг.
>>M( 2,..)
ans=
1 2 3
Матрицад үйлдэл хийх тусгай функц жишээлбэл:
>>diag(M)
ans=
1
2
3
буюу матрицыг урвуулах үйлдэл (инверс)
>>A=[1 2 3;5 7 6;1 4 6]
A=
1 2 3
5 6 7
1 4 6
>>inv(A)
ans=
2.0000 0.0000 -1.0000
-2.6667 0,3333 1.0000
1.444 -0.2222 -0.3333
>>A*inv(A)
ans=
1.0000 0.0000 0.0000
0.0000 1.0000 0.0000
0.0000 0.0000 1.0000
M матрицын урвуулсан матрицыг тооцоолно уу?
3x3 хэмжээстэй , нормал тархсан санамсаргүй тоон утгатай матрицийг үүсгэхийн тулд доорхи командыг ашигладаг.
>>randn(3)
ans=
-0,5033 -1,0711 0.5333
0,0915 -.1636 0.4024
-0.0127 -0.4402 -1.3607
(Matlab-аас өгөгдөл гаргахыг цаашид харуулахгүй)
Доорхи тэгштгэлийн системийг б одохын тулд
x1+x2=2
5x1-9x2=-5
Коэффицентийн матриц
>>A=[1 1; 4-9]
ба системийн баруун талын хэсэг
>>b=[2,-5]
векторыг орлуулбал,шийд вектор [x1x2] T
>>A/b
>>inv(A)*b гэж тодорхойлно.
Матрицыг мөр мөрөөр оруулж болох ба түүнчлэн хувьсах хэмжиглдэхүүн , арифметик илэрхийлэл хэрэглэж болно.Гэхдээ эдгээрийн хооронд нэг үсгийн хэмжээтэй хоосон зай үлдээх шаардлагатай.
>>B=[K(2)] 2+3
1+k(2) sqrt[(k(2))]
Энэ үед мөн матрицыг матрицаар үүсгэх боломжтой.
C>>=[A b]
Матрицын хооронд нэмэх, хасах, үржих үйлдлийг доорхи маягаар хийж болно.
>>C=A+B-A*B
Үүнээс гадна ямар нэг матрицыг скалярыг матрицын элемент бүр дээр нэмэх хасах үйлдэл хийх буюу матрицыг хөрвүүлж болно.
>>2*A
>>A+3
>>A’
Мөн матрицын хувьд ,, цэг цэгээр үйлдэл хийх өөрөөр хэлбэл элемент бүрээр үйлдэл хийж болно.
>>C=A*B
Матрицын элементэд мөн дан дангаар хандаж болно.
>>A(1,1)=A(1,2)+2
Matlab матрицын хооронд хоёр төрлийн хуваах үйлдэл хийх боломжтой.
1.Зүүн талын хуваах үйлдэл
X=A/B нь A*B=C тэгштгэлийн шийдийг гаргадаг.A,B-ийн мөрийн тоо ижил байх ба X нь B-ийн адил баганын тоотой байдаг.
2.Баруун талын хуваах үйлдэл
B/A нь X*A=B тэгштгэлийн шийдийг гаргадаг.Харин A,B-ийн баганын тоо ижил байх ёстой ба X нь B-ийн адил мөрийн тоотой байдаг.
Скрипт ба функцууд
Matlab програм хангамжийн өргөн тархсан нэг шалтгаан нь Matlab ашиглан програм зохиоход хялбар байдагт оршино Хоёр төрлийн програмын бүтэц байдаг.
1. Скрипт
Энэ нь матлабын командуудаас бүрдэх энгийн мөрүүдтэй юм.Ийм файлыг Editor-оор үүсгэдэг ба ямар нэг нэр өгч жишээ нь name.mn нэрээр m төрлийн файл мэт хадгалагддаг.Хэрэв файлын нэрийг оруулж өгвөл Matlab-ийн командын дараалал нь Matlab-ийн цонхонд ажилладаг.Скрипт параметр дамжуулдаггүй.Аливаа m файлын агуулгыг type name гэж дэлгэцэнд гаргаж өгдөг.
2.Функцүүд
Скриптийн адил үүсдэг, хадгалдаг ба дууддаг.Харин функц нь параметр дамжуулах чадвартай.Мөн локал глобал хувьсахууд бо локал дээр програмууд үүсгэдэг..frame нэр бүхий функцын m файлыг доорхи байдлаар үүсгэдэг.
-Функцыг тодорхойлох
Энд function Dymmy=frame(p1 p2......) хэлбэрийн мөрийг бичдэг.Function нь түлхүүр үг юм.dummy нь дурын сонгож нэрэлсэн гаралтын хуввсах юм.Энд мөн векторыг хэрэглэж болно. [dummy 1 dummy 2] програм ажиллахад гаралтын хувьсахад үр дүнг юм.Эдгээрийг Call By Value мэт дамжуулдаг.Өөрөөр хэлбэл функцэд ямар нэг өөрчлөлт гарвал функцын гадна талд үйлчилдэггүй.Гадна талд нь үйлчлэх шаардлага гарвал хувьсахыг функцын дотор ба гадна талд үйлчилхээр ерөний зарлах ёстой.
H1 мөрүүд
Ийм талбарын мөр нь функцын нэр ба функцын тухай товч тайлбарыг агуулдаг.Хэрэв Matlab-д help frame гэж оруулбал энэ нь дараагийн тайлбар мөрүүдийг харуулдаг.Хэрэв look for тодорхой нэр томъёолол өгч Matlab-д хайлт хийвэл H1 мөрийг хайж олдог.Жишээ нь: %Frame(p1,p2)
Туслах текст
Энэ хэсэгт параметрын төрөл буюу алдаа гарах боломж зэргийг тайлбарласан туслах text-ийг бичдэг.Ингэж ямар нэг Online маягийн тусламжийг(help) гаргаж болох юм.
Жишээ нь:
%Frame(p1,p2)
% p1,p2 нь ижил тоотой элементтэй
% векторууд байх ёстой.
Хувьсахыг зарлах
Ийм зарлалтыг хэрэглэх ёсгүй.Хэрэглэгдэх хувьсахууд нь автоматаар локал гэж зохицдог.Ерөнхий хувьсахууд нь функцын гадна талд ба дотор талд глобал түлхүүр үгээр тодорхойлогддог.Зөвхөн энэ үед л хувьсахын өөрчлөлт нь функцын дотор ба гадна талд үйлчилдэг.Хэвийн тохиолдол глобал хувьсах хэрэглэхийг аль болох зайлсхийх хэрэгтэй.Учир нь том програм дотор л ямар нэг функцыг ингэж тодорхойлсон тухай баримжаагаа хурдан алддаг.
Функцын их бие
Функцын их биед өөрийн нь тооцооны хэсгийг бичдэг.Функцын тооцооны утга нь дээр өгөгдсөн dummy хувьсахад олгодог.Функцын их биед Matlab-д хүчин төгөлдөр оператор бүрийг бичиж болно. Ялангуяа бусад өөр функцийг дуудаж болдог.
Тайлбар(Комментар)
Энд мөн тайлан бичиж хавсаргаж болно.Тайлбарыг % тэмдэгийн дараа бичдэг.
Дэд функц
Зөвхөн анхны функцийн хувьд ил бусад дэд функцийг хавсаргаж болдог. Жишээлбэл m-файлуудын жишээнүүдийг Matlab –ын каталогт агуулдаг. Тэгвэл энд аливаа шугаман комплекс дүрслэлийг тооцоолох нэгэн функц өгөгдсөн гэж үзье. Үүнд: function W=Linear(Z)
%LINEAR Шугаман функц
% LINEAR(Z) нь доорх параметр бүхий
% шугаман функцийг тооцоолдог.
% а=1/2*exp(i*pi/3) Эргэх хэмжээ
% b=1+i Шилжилт
% W=a.Z+b % Z нь бодит буюу комплекс тоо эсвэл матриц % a,b бодит буюу комплекс параметр
a=1/2*exp(i*pi/3); b=1+i W=a.*Z+b
Программын ажиллагааг удирдах Matlab программ нь Matlab- ын дурын операторыг агуулдаг. Энд зөвхөн программд хэрэглэгддэг хэд хэдэн
операторууд байдаг. Эдгээр операторууд нь программын ажиллагааг удирдах
зориулалттай тусгай операторууд юм.
Үүнд: if, else,
elseif
if- операторын синтакс if логик нөхцөл1 Matlab- ын
командууд .. end Хэрэв логик
нөхцөл үнэн байвал Matlab-
ын команд биелэгдэх ба үгүй бол энэ команд биелэгдэхгүй. Хэрэв анхны нөхцөл
биелэгдэхгүй бол elseif гэдэг
нөхцөлийг дахин цаашид салаалах боломж болгож хэрэглэдэг. Хэрэв мөн энэ нөхцөл
биедэгдэхгүй бол else – г
хэрэглэж болох юм. If логик нөхцөл 1 Matlab –ын командууд ..
elseif логик
нөхцөл 2 Matlab –ын командууд .. else Matlab-ын команд
.. end Жишээлбэл, sigpi гэсэн тэмдэг
өөрчлөх функц нь ямар нэг тоо π
–ээс хи бол 1-ийг, π -тэй тэнцүү бол 0,
харин π-ээс
бага бол -1-ийг гаргах ёстой
гэвэл function out =sigpi (x)
if x>pi out
=1; elseif x==pi out=0 else out=-1
switch, case switch – оператор нь доорх
синтакстай: switch илэрхийлэл (скаляр буюу
тэмтэгт мөр (String)
case Утга 1 Matlab оператор
Сase Утга 2
Matlab оператор
......
......
......
otherwise
Matlab оператор
end
Дээрхи оператор эхлээд илэрхийлэлийн утгыг тооцоолж гаргадаг.Хэрэв Matlab операторын case-ийн утга (утга1........утга n) илэрхийлэлийн утгатай таарч байвал салаалалтыг гүйцэтгэдэг.Ямар ч тохиолдол таарахгүй байвал otherwise-аар тэмдэглэсэн салаанд шилждэг.С хэлнээс ялгаатай нь програм биелэгдэх бүрт дараагийн тохиодол руу шилжих бус харин swith бүтцийн төгсгөл рүү гар салаалдагт оршино.Жишээ нь:-1-ээс 5 хүртэл өөрчлөгдөх тоон хэсэг дээр бүхэл тоон хэсэг 1-ийг нэмж , шатлалтай функц гаргах програмын хэсэг нь хязгаараас өөр утга өгөгдвөл NAN утгыг гаргана.
function out=stufe(x)
switch(fix)
case 0
out=1;
case 1
out=2;
case 2
out=3;
case 3
out=4;
case 4
out=5;
case 5
out=6;
otherwise
out=NAN;
end
For давталт
Энэ давталт нь matlab-ийн операторыг тодорхой тоотой давтан гүйцэтгэхэд хэрэглэдэг.Синтакс нь for index=Анхны утга:Өөрчлөгдөх алхам:эцсийн утга
Matlab операторууд
...............................
End.
Хэрэв өөрчлөгдөх алхмыг өгөөгүй бол 1 гэж үзнэ.Алхмыг мөн эерэг сөрөг утгатай сонгож болно. Index-ийг давталтанд хэрэглэдэг ба анх эхлэн ажиллахад түүний утга нь анхны утгатай тэнцүү ба алхам бүрийн дараа алхам эерэг бол давталт index нь-ийг эцсийн утгаас хэтэртэл биелэгдэнэ. Жишээ нь:
x=1
for i=1;1.1;3
x=x+i;
end
Энэ давталт нь хоёр удаа биелэгдэнэ.X нь 1 утгатай давталтанд орж эхний давталтанд 2 ба 2 дахь давталтанд 4.1 болж ихсэнэ.Энэ үед i нь 2.1 утгатай байна.Хэрэв өөрчлөгдөх алхам сөрөг бол давталт нь index-ийн утгаас бага болтол биелэгднэ.
while давталт
Энэ давталт нь нөхцөл 1 (True ) утгатай байвал биелэгддэг.Синтакс нь:
while нөхцөл
Matlab оператор
......................
End
Мэдээлэл оруулах ба гаргах
Товчлуур гараас мэдээлэл оруулах ба дэлгэцэнд мэдээлэл гаргахын тулд input ба disp зааврыг ашиглаж болдог.Input оператор нь програмыг ажиллах явцад тодорхой хувьсагч утга олгодог Энэ үед програмын ажиллагаа түр зогсох ба товчлуур гараас өгсөн утгыг хувьсахад олгодог.
X=input (‘parameter x=’) disp оператор нь програм ажиллах явцад гарах мэдээллийг дэлгэцэнд гаргадаг.disp(‘Display information’);
График
Matlab-д энгийн х у тэнхлэг зурахаас эхлэн хөдөлгөөнтэй зураг гаргаж өгөгдлийг
>>x=0:0 1:2*pi;
>>y=sin(x)
>>x=0:0 1:2*pi;
>> y2=cos(x)
>>plot(x , y1, x ,y2)
>> title(‘sinuus and cosinus’);
>> xlabel(‘X’)
>>ylabel(‘Y’)
>>legend(‘sin’,’cos’)
мөн зургийг хулганы тусламжтай дурын байрлалд шилжүүлж болдог.Хэвийн тархлтын утгатай 3 хэмжээстэй (3D-plot) гаргахын тулд доорхи операторыг бичдэг.
n=5000,plot3(randn(1,n)),randn(1,n),randn(1,n),’.’)
n-ийн утгыг компьютерийн хүчин чадлаас хамаарч их утгатай сонгож болдог.Мөн хэд хэдэн операторыг хооронд нь таслалаар зааглаж нэг мөрөнд бичиж болно. Matlab-ын тэмдгийг зурах утгын матрицыг бичиж өгч болно.
Plot
Matlab –ын давуу тал нь сигнал,спектр ба давтамжтай процессыг дүрслэн гаргах.боломж сайтай.Эдээр хэмжигдэхүүний утгууд мөр буюу багана векторын хэлбэрээр байрладаг.
Plot Функц нь зураг дүрс гаргах гол заавар юм.
Matlab оператор
......
......
......
otherwise
Matlab оператор
end
Дээрхи оператор эхлээд илэрхийлэлийн утгыг тооцоолж гаргадаг.Хэрэв Matlab операторын case-ийн утга (утга1........утга n) илэрхийлэлийн утгатай таарч байвал салаалалтыг гүйцэтгэдэг.Ямар ч тохиолдол таарахгүй байвал otherwise-аар тэмдэглэсэн салаанд шилждэг.С хэлнээс ялгаатай нь програм биелэгдэх бүрт дараагийн тохиодол руу шилжих бус харин swith бүтцийн төгсгөл рүү гар салаалдагт оршино.Жишээ нь:-1-ээс 5 хүртэл өөрчлөгдөх тоон хэсэг дээр бүхэл тоон хэсэг 1-ийг нэмж , шатлалтай функц гаргах програмын хэсэг нь хязгаараас өөр утга өгөгдвөл NAN утгыг гаргана.
function out=stufe(x)
switch(fix)
case 0
out=1;
case 1
out=2;
case 2
out=3;
case 3
out=4;
case 4
out=5;
case 5
out=6;
otherwise
out=NAN;
end
For давталт
Энэ давталт нь matlab-ийн операторыг тодорхой тоотой давтан гүйцэтгэхэд хэрэглэдэг.Синтакс нь for index=Анхны утга:Өөрчлөгдөх алхам:эцсийн утга
Matlab операторууд
...............................
End.
Хэрэв өөрчлөгдөх алхмыг өгөөгүй бол 1 гэж үзнэ.Алхмыг мөн эерэг сөрөг утгатай сонгож болно. Index-ийг давталтанд хэрэглэдэг ба анх эхлэн ажиллахад түүний утга нь анхны утгатай тэнцүү ба алхам бүрийн дараа алхам эерэг бол давталт index нь-ийг эцсийн утгаас хэтэртэл биелэгдэнэ. Жишээ нь:
x=1
for i=1;1.1;3
x=x+i;
end
Энэ давталт нь хоёр удаа биелэгдэнэ.X нь 1 утгатай давталтанд орж эхний давталтанд 2 ба 2 дахь давталтанд 4.1 болж ихсэнэ.Энэ үед i нь 2.1 утгатай байна.Хэрэв өөрчлөгдөх алхам сөрөг бол давталт нь index-ийн утгаас бага болтол биелэгднэ.
while давталт
Энэ давталт нь нөхцөл 1 (True ) утгатай байвал биелэгддэг.Синтакс нь:
while нөхцөл
Matlab оператор
......................
End
Мэдээлэл оруулах ба гаргах
Товчлуур гараас мэдээлэл оруулах ба дэлгэцэнд мэдээлэл гаргахын тулд input ба disp зааврыг ашиглаж болдог.Input оператор нь програмыг ажиллах явцад тодорхой хувьсагч утга олгодог Энэ үед програмын ажиллагаа түр зогсох ба товчлуур гараас өгсөн утгыг хувьсахад олгодог.
X=input (‘parameter x=’) disp оператор нь програм ажиллах явцад гарах мэдээллийг дэлгэцэнд гаргадаг.disp(‘Display information’);
График
Matlab-д энгийн х у тэнхлэг зурахаас эхлэн хөдөлгөөнтэй зураг гаргаж өгөгдлийг
>>x=0:0 1:2*pi;
>>y=sin(x)
>>x=0:0 1:2*pi;
>> y2=cos(x)
>>plot(x , y1, x ,y2)
>> title(‘sinuus and cosinus’);
>> xlabel(‘X’)
>>ylabel(‘Y’)
>>legend(‘sin’,’cos’)
мөн зургийг хулганы тусламжтай дурын байрлалд шилжүүлж болдог.Хэвийн тархлтын утгатай 3 хэмжээстэй (3D-plot) гаргахын тулд доорхи операторыг бичдэг.
n=5000,plot3(randn(1,n)),randn(1,n),randn(1,n),’.’)
n-ийн утгыг компьютерийн хүчин чадлаас хамаарч их утгатай сонгож болдог.Мөн хэд хэдэн операторыг хооронд нь таслалаар зааглаж нэг мөрөнд бичиж болно. Matlab-ын тэмдгийг зурах утгын матрицыг бичиж өгч болно.
Plot
Matlab –ын давуу тал нь сигнал,спектр ба давтамжтай процессыг дүрслэн гаргах.боломж сайтай.Эдээр хэмжигдэхүүний утгууд мөр буюу багана векторын хэлбэрээр байрладаг.
Plot Функц нь зураг дүрс гаргах гол заавар юм.