O`ZBEKISTON RESPUBLIKASI
OLIY VA O`RTA MAXSUS TA`LIM VAZIRLIGI
NAMANGAN MUHANDISLIK - QURILISH INSTITUTI
“INFORMATIKA VA AXBOROT TEXNOLOGIYALARI” KAFEDRASI
“MUHANDISLIK DASTURLARI ”
FANIDAN
Bajardi: 55S-G-IAT-19 guruh talabasi
Otavaliyev Mirzavali
Qabul qildi: __________________
Namangan -2021 yil
Amaliy ish № 3
Mavzu: MatLab dasturida funksiyalar grafigini qurish
Ishdan maqsan: Funksiyalar grafigini qurishda MatLab dastur yordamida qayta ishlash
ko’nikmasini shakillantirish.
Reja:
1. MatLab dasturi haqida umumiy ma’lumot
2. MatLab dasturining yuqori menyu vazifalari
3. MatLab dasturda funksiyalar grafigini qurish
4. !4-Variatnt bo’yicha berilgan matematik funktsiyani grafigini tuzing
5. Natija
6. Hulosa
7. Foydalanilgan adabiyotlar ro’yxati
MATLAB dasturi MATLAB dasturlash tili atrofida qurilgan. MATLAB dasturining keng tarqalgan ishlatilishi "Buyruqlar oynasi" dan interaktiv matematik sifatida foydalanishni o'z ichiga oladi qobiq yoki MATLAB kodini o'z ichiga olgan matnli fayllarni bajarish.
O'zgaruvchilar
O'zgaruvchilar tayinlash operatori yordamida aniqlanadi, =. MATLAB - bu zaif terilgan dasturlash tili, chunki turlari bilvosita konvertatsiya qilingan.[25] Bu taxmin qilingan yozilgan til, chunki o'zgaruvchilar ularning turlarini e'lon qilmasdan berilishi mumkin, faqat ularni ramziy ob'ektlar deb hisoblash kerak bo'lsa,[26] va ularning turi o'zgarishi mumkin. Qadriyatlar kelib chiqishi mumkin doimiylar, boshqa o'zgaruvchilar qiymatlarini o'z ichiga olgan hisoblashdan yoki funktsiya natijasidan. Masalan:
>> x = 17x = 17
>> x = "shapka"x =shapka
>> x = [3*4, pi/2
]x = 12.0000 1.5708
>> y = 3*gunoh(x)
y = -1.6097 3.0000
Vektorlar va matritsalar
Ikki nuqta sintaksisidan foydalanib oddiy qator aniqlanadi: boshlang'ich:o'sish:terminator. Masalan; misol uchun:
>> qator = 1:2:9 qator = 1 3 5 7 9
nomli o'zgaruvchini belgilaydi qator (yoki nom bilan mavjud o'zgaruvchiga yangi qiymat tayinlaydi qator) bu 1, 3, 5, 7 va 9 qiymatlaridan tashkil topgan massiv, ya'ni massiv 1 dan boshlanadi ( boshlang'ich qiymati), har bir qadam oldingi qiymatdan 2 ga ko'paytiriladi o'sish 9 ga (yoki oshib ketmaslik uchun) yetgandan keyin to'xtaydi terminator qiymati).
The o'sish sukut bo'yicha qiymatni ishlatish uchun aslida bu sintaksisdan tashqarida qoldirilishi mumkin (ikki nuqta bilan birga).
>> ari = 1:5ari = 1 2 3 4 5
nomlangan o'zgaruvchiga tayinlaydi ari 1, 2, 3, 4 va 5 qiymatlari bo'lgan qator, chunki 1 qiymatining o'sish qiymati qo'shimcha sifatida ishlatiladi.Indekslash bir asosli,[27] bu odatiy anjuman matritsalar matematikada, C, C ++ va Java kabi boshqa dasturlash tillarida keng qo'llaniladigan nolga asoslangan indekslashdan farqli o'laroq.Matritsalarni satr elementlarini bo'sh joy yoki vergul bilan ajratish va har bir qatorni tugatish uchun nuqta-vergul yordamida aniqlash mumkin. Elementlarning ro'yxati to'rtburchak qavs bilan o'ralgan bo'lishi kerak []. Qavslar () elementlarga va subarrarralarga kirish uchun ishlatiladi (ular funktsiya argumentlari ro'yxatini belgilash uchun ham ishlatiladi).
>> A = [16 3 2 13;
5 10 11 8;
9 6 7 12;
4 15 14 1]
A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1
>> A(2,3)ans = 11
Indekslar to'plami kabi iboralar bilan belgilanishi mumkin 2:4ga baho beradigan [2, 3, 4]. Masalan, 2 dan 4 gacha qatorlar va 3 dan 4 gacha ustunlardan olingan submatrisani quyidagicha yozish mumkin.
>> A(2:4,3:4)
ans = 11 8 7 12 14 1
Kvadrat identifikatsiya matritsasi hajmi n funktsiyasi yordamida yaratilishi mumkin ko'z, va nolga teng bo'lgan har qanday o'lchamdagi matritsalarni funktsiyalar bilan yaratish mumkin nollar va bittasinavbati bilan.
>> ko'z(3,3
)ans = 1 0 0 0 1 0 0 0
>> nollar(2,3)
ans = 0 0 0 0 0 0
>> bittasi(2,3)
ans = 1 1 1 1 1 1
Transpozitsiya vektor yoki matritsa yoki funktsiya tomonidan amalga oshiriladi ko'chirish yoki matritsadan keyin nuqta-bosh qo'shib (nuqta holda bosh bajariladi konjugat transpozitsiyasi murakkab massivlar uchun):
>> A = [1 ; 2]
, B = A.', C = ko'chirish(A)A = 1 2B = 1 2C = 1 2>> D. = [0 3 ; 1 5], D.'D. = 0 3 1 5ans = 0 1 3 5
Ko'pgina funktsiyalar massivlarni kirish sifatida qabul qiladi va har bir elementda elementar jihatdan ishlaydi. Masalan, mod (2 * J, n) har bir elementni ko'paytiradi J 2 ga, so'ngra har bir element modulini kamaytiring n. MATLAB standartni o'z ichiga oladi uchun va esa ko'chadan, lekin (kabi boshqa shunga o'xshash dasturlarda bo'lgani kabi R) yordamida vektorlangan notation rag'batlantiriladi va tez-tez bajarilishi tezroq bo'ladi. Funktsiyadan olingan quyidagi kod sehrli.m, yaratadi sehrli kvadrat M ning toq qiymatlari uchun n (MATLAB funktsiyasi meshgrid kvadrat matritsalarni yaratish uchun bu erda ishlatiladi Men va J o'z ichiga olgan 1: n).
[J,Men] = meshgrid(1:n);A = mod(Men + J - (n + 3) / 2, n);B = mod(Men + 2 * J - 2, n);M = n * A + B + 1;
Tuzilmalar
MATLAB strukturaning ma'lumotlar turlarini qo'llab-quvvatlaydi.[28] MATLAB-dagi barcha o'zgaruvchilar massivlar bo'lganligi sababli, mos keladigan nom "struktura massivi" dir, bu erda massivning har bir elementi bir xil maydon nomlariga ega. Bundan tashqari, MATLAB dinamik maydon nomlarini qo'llab-quvvatlaydi[29] (maydon bo'yicha nomlarni qidirish, maydon manipulyatsiyasi va boshqalar).
Vazifalar
MATLAB funktsiyasini yaratishda fayl nomi fayldagi birinchi funktsiya nomiga mos kelishi kerak. Haqiqiy funktsiya nomlari alifbo belgisi bilan boshlanadi va harflar, raqamlar yoki pastki chiziqlarni o'z ichiga olishi mumkin. O'zgaruvchilar va funktsiyalar katta-kichiklikka sezgir.[30]
Funktsiya tutqichlari
MATLAB elementlarini qo'llab-quvvatlaydi lambda hisobi funktsiya tutqichlarini kiritish orqali,[31] yoki .m fayllarida yoki noma'lum holda amalga oshiriladigan funktsiyalarga mos yozuvlar[32]/ ichki funktsiyalar.[33]
Sinflar va ob'ektga yo'naltirilgan dasturlash
MATLAB qo'llab-quvvatlaydi ob'ektga yo'naltirilgan dasturlash sinflar, merosxo'rlik, virtual jo'natish, paketlar, pass-by-semantikasi va pass-by-reference semantikasini o'z ichiga oladi.[34] Biroq, sintaksis va chaqiruv konventsiyalari boshqa tillardan sezilarli darajada farq qiladi. MATLAB sinfga ega bo'lishiga qarab qiymat sinflari va mos yozuvlar sinflariga ega tutqich super-sinf sifatida (mos yozuvlar sinflari uchun) yoki yo'q (qiymat sinflari uchun).[35]
Qo'ng'iroq qilish usuli qiymat va mos yozuvlar sinflari o'rtasida farq qiladi. Masalan, usulga qo'ng'iroq
ob'ekt.usul(); b ning har qanday a'zosini o'zgartirishi mumkin ob'ekt faqat agar ob'ekt mos yozuvlar sinfining namunasidir, aks holda qiymat sinfining usullari ob'ektni o'zgartirishi kerak bo'lsa, yangi nusxani qaytarishi kerak.
Oddiy sinfga misol quyida keltirilgan. classdef Salom usullari funktsiya salomlashing (obj) disp('Salom!') oxiri oxirioxiri Nomli faylga qo'yilganda salom.m, buni quyidagi buyruqlar bilan bajarish mumkin:
MATLAB dasturlash tillarida yozilgan funktsiyalar va pastki dasturlarni chaqira oladi C yoki Fortran.[39] MATLAB ma'lumotlar turlarini uzatishga va qaytarishga imkon beradigan o'ram funksiyasi yaratiladi. MEX fayllari (MATLAB bajariladigan fayllari) - bu funktsiyalarni kompilyatsiya qilish natijasida hosil bo'lgan dinamik ravishda yuklanadigan ob'ekt fayllari.[40][41] 2014 yildan boshlab ikki tomonlama interfeyslar ko'paymoqda Python qo'shilayotgan edi.[42][43]In yozilgan kutubxonalar Perl, Java, ActiveX yoki .NET to'g'ridan-to'g'ri MATLAB-dan qo'ng'iroq qilish mumkin,[44][45] va ko'plab MATLAB kutubxonalari (masalan XML yoki SQL qo'llab-quvvatlash) Java yoki ActiveX kutubxonalari atrofida o'ralgan holda amalga oshiriladi. Java-dan MATLAB-ga qo'ng'iroq qilish ancha murakkab, ammo MATLAB asboblar qutisi yordamida amalga oshirilishi mumkin[46] tomonidan alohida sotiladigan MathWorksyoki JMI (Java-to-MATLAB interfeysi) deb nomlangan hujjatsiz mexanizmdan foydalangan holda,[47][48] (bu bilan bog'liq bo'lmagan narsalar bilan aralashmaslik kerak Java metadata interfeysi bu JMI deb ham ataladi). Java uchun rasmiy MATLAB API 2016 yilda qo'shilgan.[49] Ga alternativa sifatida MuPAD MathWorks, MATLAB-da mavjud bo'lgan Symbolic Math Toolbox-ga ulanish mumkin Chinor yoki Matematika Shuningdek qarang: raqamli tahlil dasturlari ro'yxati va raqamli tahlil dasturlarini taqqoslash
MATLAB uchun bir qator raqobatchilar mavjud. Ba'zi e'tiborli misollarga quyidagilar kiradi:
Chinor
IDL
Wolfram Mathematica
Shuningdek, bor ozod ochiq manba MATLAB-ga alternativalar, xususan:
GNU oktavi
Scilab
FreeMat
Yuliya
SageMath
MATLAB tiliga ma'lum darajada mos keladi. GNU oktavi boshqalardan noyobdir, chunki u MATLAB sintaksisiga mos tushishni maqsad qiladi (qarang) GNU oktavasining MATLAB mosligi).Massivlarni asosiy shaxs sifatida ko'rib chiqadigan boshqa tillar qatoriga (massivlarni dasturlash tillari) quyidagilar kiradi:
APL
Fortran 90 va undan yuqori
S-Lang, shuningdek, statistik tillar R va S
Mavjud tillarga o'xshash funktsiyalarni qo'shish uchun kutubxonalar mavjud, masalan:
NumPy/SciPy/matplotlib uchun Python
Perl ma'lumotlar tili uchun Perl
SciLua /Mash'al uchun Lua
Uchun SciRuby Yoqut
IT ++ uchun C ++
ILNumerics uchun .NET
Numeric.js for JavaScript
Berilgan jadvaldan 14-Varyanot bo’icha ammalar ketma ketlikda bajriladi
Man biz maltab orqli qiymatlarni kirtib bordik va guydagicha grafik hosil bo’ldi .
Endi bo’lsa biz kodni qisqartirib faqat qiymat berib ketamiz . Bunda hisoblash ammalga oshrilmaydi faqatgina qiymat berib ketiladi. Biz bunda ko’dni qanday yozganimiz va qanday natija olganimizni quyidagi rasmlar orqali bilib olshimiz mumkun.
Foydalanilgan adabiyotlar ro’xati
Gilat, Amos (2004). MATLAB: Dasturlar bilan tanishish 2-nashr. John Wiley & Sons. ISBN 978-0-471-69420-5.
Quarteroni, Alfio; Saleri, Fausto (2006). MATLAB va Oktav bilan ilmiy hisoblash. Springer. ISBN 978-3-540-32612-0.
Ferreyra, AJM (2009). Sonli elementlarni tahlil qilish uchun MATLAB kodlari. Springer. ISBN 978-1-4020-9199-5.
Lynch, Stiven (2004). MATLAB-dan foydalangan holda dasturli dinamik tizimlar. Birxauzer. ISBN 978-0-8176-4321-8.
Do'stlaringiz bilan baham: |