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