Uploaded by Umida Aktamova

Matlab-Mustaqil-ish

advertisement
Matlab tizimida matrisalar
ustida arifmetik amallar
bajarish
Guruh: 650-19
Talaba: Aktamova Umida
Reja:
1. Matlab nima?
2. Matlabda matritsalar
3. Matritsa operatsiyalari
MATLAB nima?
• MATLAB - bu matritsalar va vektorlar bilan
raqamli hisoblashlarni amalga oshirish uchun
vositadir. Bu juda kuchli va ulardan foydalanish
oson. Aslida, u foydalanish uchun qulay muhitda
hisoblash, vizualizatsiya va dasturlashni
birlashtiradi va deyarli barcha platformalarda
foydalanish mumkin: Windows, Unix va Apple
Macintosh va boshqalar.
• MATLAB "Matrix laboratoriyasi" degan ma'noni
anglatadi.
Matlab nima?
•
•
Interaktiv raqamli hisoblashlar uchun dasturiy muhit
Misollar:
– Matritsali hisoblar va chiziqli algebra
– Nochiziqli tenglamalarni yechish
– Differensial tenglamalarni sonli yechish
– Matematik optimallashtirish
– Statistika va ma'lumotlarni tahlil qilish
– Signalni qayta ishlash
– Dinamik tizimlarni modellashtirish
– Qisman differensial tenglamalarni yechish
– Muhandislik tizimlarini simulyatsiya qilish
Matlab foni
•Matlab = Mat rix Laboratoriya nutqi
•Dastlab raqamli chiziqli algebra tartiblari uchun foydalanuvchi
interfeysi (Lapak/Linpak)
•1984 yilda The Mathworks tomonidan tijoratlashtirilgan
•O'shandan beri kengaygan (defakto-standart)
•Muqobil to'ldiruvchilar
•Matrix-X Maple (ramziy)
Oktava (erkin; GNU) Mathematica (ramziy)
Lyme (erkin; Palm)
MATLAB
muhiti
MATLABni
ishga
tushirish uchun:
START 
DASTURLAR 
MATLAB 7.0 
MATLAB 7.0
Windows-ni ko'rsatish
Matlab ish maydoni
• O'zgaruvchilar bu erda turli xil bo'lishi mumkin
bo'lgan raqamli matritsalar ko'rinishida saqlanadi:
int8, uint8, int16, uint16, double . –
ikki tomonlama aniqlikda bajarilishi kerak ,
har bir qiymat uchun 8 baytni oladi.
– Boshqa turlar saqlash uchun samarali (<= 2 bayt)
–Kim, kim - ish maydonidagi joriy o'zgaruvchilar
–Saqlash, yuklash - o'zgaruvchilarni *.mat
fayliga saqlash yoki yuklash
–Hammasini
tozalash
o'zgaruvchilarni o'chirish
-
barcha
Matlabda matritsalar
• Matritsani qanday qurish mumkin?
–>>A=[1 2 3; 4 5 6; 7 8 9]; 3x3 matritsa
• Maxsus matritsalar:
–nollar (r, c), birlar (r, c), ko'z (r,
c), rand (r, c) ...
• Acess matritsasi elementlari:
–A(2,3) - natija = 6
– indekslash uchun bitta raqamdan foydalanish: A
(8) - natija = 6 - matritsa bitta ustun sifatida
yoziladi.
–A(:,2) – matritsaning ikkinchi ustunini oling
Matlabda matritsalar
• Matritsalarda aniqlangan asosiy operatsiyalar:
–+,-,*,/,^,',sqrt,sin,cos va hokazo.
– Element bo'yicha, oldin nuqta qo'ying: .*, ./, .^
va hokazo.
• o'lcham(A) - o'lcham vektori
• summa(A) - ustunlar yig'indisi vektori
• sum(sum(A)) - barcha elementlarning
yig'indisi
• Batafsil koʻrsatmalar uchun help elmat
yozing
Matlabda dasturlash
• Skript fayllari
– Ketma-ket bajarilishi kerak bo'lgan buyruqlar ro'yxati. Bir xil
ketma-ketlik ko'p marta bajarilganda foydalidir. Ular script.m
kengaytmasi bilan saqlanishi va chaqiriladigan ish yo'liga
joylashtirilishi kerak.
• >>skript ketma-ketlikni ishga tushiradi
• Funksiyalar
– Skriptga o'xshaydi, lekin argumentlarni oladi
– funcname.m fayli quyidagilardan boshlanadi:
funktsiya [chiqish] = funktsiya nomi (kirish)
– Har qanday funktsiyani quyidagilar bilan sanab o'tish
mumkin: >> funcname yozing
• Matlab muharririga qarang (Fayl>Yangi>m-fayl)
Interaktiv hisoblar
• Matlab interaktiv, o'zgaruvchilarni e'lon qilishning hojati yo'q
• >> 2+3*4/2
• >> a=5e-3; b=1; a+b
• Aksariyat elementar funksiyalar va konstantalar allaqachon
aniqlangan
• >> cos(pi)
• >> abs(1+i)
• >> sin(pi)
• 1.2246e-016 ga javob beradi !?
Matlabda qanday grafikalarni yaratish mumkin ?
Polar syujet:
Chiziq syujeti:
polar(t,abs(sin(2*t).*cos(2*t)));
x=0:0,05:5;,y=sin(x.^2);, chizma(x,y);
Ildiz syujeti:
x = 0:0,1:4;, y = sin(x.^2).*exp(-x);
ildiz (x, y)
Vektorlar va matritsalar
• Vektorlar (massivlar) sifatida
aniqlanadi
•>> v = [1, 2, 4, 5]
•>> w = [1; 2; 4; 5]
• Matritsalar (2D massivlar) xuddi
shunday aniqlangan
• >> A = [1,2,3;4,-5,6;5,-6,7]
•
Matritsa operatorlari
• Barcha umumiy operatorlar haddan tashqari
yuklangan
• >> v + 2
•
•
•
•
Umumiy operatorlar mavjud
>> B = A'
>> A*B
>> A+B
• Eslatma:
• Matlab katta-kichik harflarga sezgir A va a ikki xil
o'zgaruvchidir
• Transponat murakkab yozuvlarni konjugat qiladi;
tomonidan oldini oldi
• >> B=A.'
Matritsalarni indekslash
•Qavslar yordamida indekslash
•>> A(2,3)
•Satr va ustun indekslari vektorlari
yordamida indeks submatritsalarini
•>> A([2 3],[1 2])
•Indekslarni tartiblash muhim!
•>> B=A([3 2],[2 1])
•>>
B=[A(3,2),A(3,1);A(2,2);A(2,1)]
Matritsalarni indekslash
•Ikki nuqta operatori yordamida to'liq satr yoki
ustunni indekslang
•>> A(1, :)
•Cheklangan indeks oralig'ini ham qo'shishi
mumkin
•>> A(1:2, :)
•>> A([1 2], :)
•Ikki nuqta operatori uchun umumiy belgi
•>> v=1:5
•>> w=1:2:5
Matritsa funktsiyalari
• Ko'p elementar matritsalar oldindan belgilangan
• >> elmatga yordam bering;
• >> I=ko‘z(3)
• Elementar funktsiyalar ko'pincha ortiqcha yuklanadi
• >> elmatga yordam bering
• >> gunoh (A)
•
•
•
•
Maxsus matritsa funktsiyalari va operatorlari
>> As=sqrtm(A)
>> As^2
>> A.*A
Raqamli chiziqli algebra
• Asosiy sonli chiziqli algebra
• >> z=[1;2;3]; x=inv(A)*z
• >> x=A\z
• Ko'pgina standart funktsiyalar oldindan
belgilangan
• >> det(A)
• >> daraja (A)
• >> eig(A)
• Kirish/chiqish argumentlari soni ko'pincha o'zgarishi
mumkin
• >> [V,D]=eig(A
Matritsani kiritish
Matritsalar bo'lishi mumkin
Qo'lda kiritilgan;
 O'rnatilgan funktsiyalar tomonidan
yaratilgan;
 Tashqi diskdan yuklangan
("yuklash" buyrug'i yordamida)
Misol
• A = [1, 2, 3; 7, 8, 9]
§ Foydalanish ' ; ' har bir qatorning
oxirini ko'rsatish uchun
§ Qator elementlarini ajratish uchun
vergul yoki bo'sh joydan foydalaning
Matritsa operatsiyalari:
•
•
•
•
•
•
+ qo'shimcha
- ayirish
* ko'paytirish
^ kuch
'ko'chirish
\ chap bo'linish, / bo'linish x = A \ b - A * x = b ning
yechimi x = b / A - x * A = b ning yechimi
• '*' , '^', '\' va '/' ni kiritish uchun operatorlardan oldin
'.'
Misol:
A = [1, 2, 3; 4, 5, 6]
B = [0,5; 1;3]
 C = A * B vs
 C = A .* B
Algebraik amallar :
Massiv mahsulotlari: eslang, matritsalarni qo'shish va ayirish qo'shish
yoki qo'shish bilan bog'liq
matritsalarning alohida elementlarini ayirish. Ba'zan oddiygina istaydi
matritsaning har bir elementini boshqasining mos keladigan
elementiga ko'paytirish yoki bo'lish matritsa massiv operatsiyalari ”.
Massiv yoki elementma-element operatsiyalari operator oldidan kelganda
bajariladi
"." orqali (davr):
a .* b a ning har bir elementini b ning tegishli elementiga
ko'paytiradi a ./ b a ning har bir elementini b ning tegishli elementiga
ajratadi a .\ b b ning har bir elementini a ning tegishli elementiga
ajratadi a .^ b a ning har bir elementini tegishli b elementiga
ko'taring
Hulosa
MATLAB dasturlash tili matritsalar va
vektorlar bilan raqamli hisoblashlarni
amalga oshirish uchun vosita. Bu juda
kuchli va ulardan foydalanish oson.
Aslida, u foydalanish uchun qulay
muhitda hisoblash, vizualizatsiya va
dasturlashni birlashtiradi va deyarli
barcha platformalarda : Windows, Unix va
Apple Macintosh kabilardan foydalanish
mumkin
Download