20.09.2019

Matlab 3D grafik. Matlab grafiklarini tuzish


Funktsiyani jadval sifatida ko'rsatish funksiya qiymatlarining nisbatan kichik soni bo'lsa qulay. Faraz qilaylik, siz buyruqlar oynasida funksiya qiymatlari jadvalini ko'rsatmoqchisiz

0,2, 0,3, 0,5, 0,8, 1,3, 1,7, 2,5 nuqtalarda.
Muammo ikki bosqichda hal qilinadi.
1. Qator vektor yaratiladi X, belgilangan nuqtalarning koordinatalarini o'z ichiga oladi.
2. Funktsiya qiymatlari hisoblanadi y(X)vektorning har bir elementidan X va olingan qiymatlar qator vektoriga yoziladi u.
Funktsiya qiymatlari satr vektorining har bir elementi uchun topilishi kerak X, shuning uchun funksiya ifodasidagi amallar bajarilishi kerak element bo'yicha.

" x =
x =
0,2000 0,3000 0,5000 0,8000 1,3000 1,7000 2,5000 » y = sin(x).^2./(l+cos(x))+exp(-x).*log(x)
Y =

Shuni esda tutingki, siz ^, bo'lish / va ko'paytirish * (elementlar bo'yicha emas) amallarini ishlatmoqchi bo'lganingizda, sin(x) kvadrati olinganda xato xabari ko'rsatiladi:

» y = sin(x)^2/(1+cos(x))+exp(-x)*log(x)
??? ==> ^ foydalanishda xato
Matritsa kvadrat bo'lishi kerak.

Gap shundaki, MatLab da * va ^ amallari mos o'lchamdagi matritsalarni ko'paytirish va kvadrat matritsani bir darajaga ko'tarish uchun ishlatiladi.
Funktsiya qiymatlarini to'g'ridan-to'g'ri argument qiymatlari ostiga qo'yish orqali jadvalni yanada o'qilishi mumkin:

"X
x =
0,2000 0,3000 0,5000 0,8000 1,3000 1,7000 2,5000 » y
y =
-1.2978 -0.8473 -0.2980 0.2030 0.8040 1.2258 1.8764

Ko'pincha bir-biridan teng masofada (qadam) bo'lgan segmentdagi nuqtalarda funksiyaning qiymatini ko'rsatish kerak. Siz funktsiya qiymatlari jadvalini ko'rsatishingiz kerak deylik y(X) 0,2 qadamli segmentda. Siz, albatta, argument qiymatlarining qator vektorini kiritishingiz mumkin x= buyruq satridan va yuqorida aytib o'tilganidek, barcha funktsiya qiymatlarini hisoblang. Biroq, agar qadam 0,2 emas, balki, masalan, 0,01 bo'lsa, vektorga kirish uchun juda ko'p ish qoladi. X.
MatLab vektorlarni yaratishning oddiy usulini taqdim etadi, ularning har bir elementi avvalgisidan doimiy miqdor bilan farq qiladi, ya'ni. bir qadam. Bunday vektorlarni kiritish uchun ikki nuqtadan foydalaning (ko'p nuqta yordamida indekslash bilan adashtirmaslik kerak). Keyingi ikkita operator bir xil satr vektorlarining shakllanishiga olib keladi. An'anaviy ravishda biz yozishimiz mumkin

" x =
x =
" x =
x =
1.0000 1.2000 1.4000 1.6000 1.8000 2.0000

An'anaviy ravishda biz yozishimiz mumkin

x = [boshlang'ich qiymat: qadam: yakuniy qiymat]

Oxirgi qadam qiymatining yig'indisi yakuniy qiymatga teng bo'lishini ta'minlash shart emas, masalan, keyingi tayinlash operatorini bajarishda.

" x =
x =
1.0000 1.2000 1.4000 1.6000 1.8000

Qator vektori biz belgilagan yakuniy qiymatdan oshmaydigan elementga to'ldiriladi. Qadam ham salbiy bo'lishi mumkin:

" x =
x =
1.9000 1.7000 1.5000 1.3000 1.1000

Salbiy qadam bo'lsa, bo'sh bo'lmagan qator vektorini olish uchun boshlang'ich qiymat yakuniy qiymatdan kattaroq bo'lishi kerak.
Ustun vektorini noldan boshlanadigan va 0,5 bilan tugaydigan elementlar bilan 0,1 lik qadamlar bilan to'ldirish uchun qator vektorini to'ldiring va keyin ko'chirish operatsiyasidan foydalaning:

" x = "
x =
0
0.1000
0.2000
0.3000
0.4000
0.5000

E'tibor bering, vektorning ikki nuqta bilan to'ldirilgan elementlari faqat haqiqiy bo'lishi mumkin, shuning uchun transpozitsiya uchun apostrofli nuqta o'rniga apostrofdan foydalanish mumkin.
Avtomatik to'ldirishda bittaga teng qadam belgilanmasligi mumkin:

" x =
x =
1 2 3 4 5

Faraz qilaylik, siz funktsiya qiymatlari jadvalini ko'rsatmoqchisiz

0,05 qadamli segmentda,
Ushbu vazifani bajarish uchun siz quyidagilarni bajarishingiz kerak:
1. Qator vektorini hosil qiling X yo'g'on ichak yordamida.
2. Qiymatlarni hisoblang da(X) elementlardan X.
3. Natijani qator vektoriga yozing y.
4. Olib tashlash X Va u.

» x = ;
» y = exp(-x).*sin(10*x);
"X
x =
1 dan 7 gacha ustunlar
O 0,0500 0,1000 0,1500 0,2000 0,2500 0,3000
8 dan 14 gacha ustunlar
0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500
15 dan 21 gacha ustunlar
0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000
» y
Y =
1 dan 7 gacha ustunlar
0 0.4560 0.7614 0.8586 0.7445 0.4661 0.1045
8 dan 14 gacha ustunlar
-0.2472 -0.5073 -0.6233 -0.5816 -0.4071 -0.1533 0.1123
15 dan 21 gacha ustunlar
0.3262 0.4431 0.4445 0.3413 0.1676 -0.0291 -0.2001

Qator vektorlari x va y yigirma bir elementdan iborat bo'lib, bir qatorda ekranga sig'maydi, shuning uchun ular qismlarga bo'linadi. Chunki X Va y o'lchamlari birdan yigirma birgacha bo'lgan ikki o'lchovli massivlarda saqlanadi, ular har biri bitta elementdan iborat bo'lgan ustunlarda ko'rsatiladi. Birinchidan, birinchidan ettigacha ustunlar (1 dan 7 gacha ustunlar), keyin sakkizdan o'n to'rtgacha ustunlar (8 dan 14 gacha ustunlar) va nihoyat o'n beshdan yigirma birinchi ustungacha (15 dan 21 gacha) ustunlar ko'rsatiladi. Funktsiyaning grafik tasviri yanada vizual va qulayroq.

2. Bitta o‘zgaruvchili funksiyaning grafigini tuzish

2.1. Chiziqli masshtabdagi funksiyalar grafiklari

MatLab ma'lumotlarni vizualizatsiya qilish uchun yaxshi rivojlangan grafik imkoniyatlarga ega. Keling, avvalo, funksiya misolidan foydalanib, bitta o‘zgaruvchili funksiyaning eng oddiy grafigini qurishni ko‘rib chiqaylik

,

segmentida aniqlanadi. Funktsiyaning grafik ko'rinishidagi chiqishi quyidagi bosqichlardan iborat:
1. Argument qiymatlari vektorini ko'rsatish X.
2. Vektorli hisoblash da funktsiya qiymatlari y(X).
3. Grafikni chizish uchun plot buyrug'ini chaqiring.
Vektorni belgilash uchun buyruqlar X va buyruq oynasiga ularning qiymatlarini chiqarishni bostirish uchun funksiya hisoblarini nuqtali vergul bilan yakunlagan ma'qul (chizma buyrug'idan keyin nuqta-vergul qo'yish shart emas, chunki u buyruqlar oynasiga hech narsa chiqarmaydi).

» x = ;
» y = exp(-x).*sin(10*x);
» chizma (x, y)

Buyruqlar bajarilgandan so'ng ekranda oyna paydo bo'ladi Rasm Yo'q. 1 funksiya grafigi bilan. Oynada menyu, asboblar paneli va grafik maydoni mavjud. Quyida, chizmachilik uchun maxsus mo'ljallangan buyruqlar tavsiflanadi. Endi biz grafiklarni qurish printsipi va funktsiyalarni vizualizatsiya qilishning eng oddiy imkoniyatlari bilan qiziqamiz.
MatLab ish muhitida funktsiya grafigini tuzish uchun bir xil o'lchamdagi ikkita vektor aniqlanishi kerak, masalan X Va u. Tegishli x massivida argumentlarning qiymatlari, y esa ushbu argumentlardan funktsiya qiymatlarini o'z ichiga oladi. Plot buyrug'i koordinatali nuqtalarni (x(i), y(i)) to'g'ri chiziqlar bilan bog'laydi, chizmani oynada optimal joylashtirish uchun o'qlarni avtomatik ravishda masshtablaydi. Grafiklarni qurishda MatLab ning asosiy oynasi va grafik yonma-yon joylashgan oynani ekranda bir-birining ustiga chiqmasligi uchun joylashtirish qulay.
Funktsiyaning tuzilgan grafigida burilishlar mavjud. Grafikni aniqroq chizish uchun funktsiyani hisoblash kerak y(X) segmentdagi ko'proq nuqtalarda, ya'ni. vektorni kiritishda kichikroq qadam qo'ying X:

» x = ;
» y = exp(-x).*sin(10*x);
» chizma (x, y)

Natijada silliqroq egri chiziq ko'rinishidagi funksiya grafigi hosil bo'ladi.
Bir nechta funktsiyalarni grafiklarini bir xil o'qlarda ko'rsatish orqali solishtirish qulay. Masalan, [-1, -0,3] oraliqda funksiya grafiklarini tuzamiz.
,

quyidagi buyruqlar ketma-ketligi yordamida:

"x = [-1:0,005:-0,3];
» f = sin(x.^-2);
» g = sin(1,2*x.^-2);
» chizma (x, f, x, g)

Funktsiyalar bir xil segmentda aniqlanishi shart emas. Bunday holda, grafiklarni qurishda MatLab qolgan qismini o'z ichiga olgan maksimal segmentni tanlaydi. Har bir abscissa va ordinat vektor juftida bir-biriga mos keladigan vektorlarni ko'rsatish muhimdir, masalan:

"x1 = [-1:0,005:-0,3];
» f = sin(x1.^-2);
"x2 = [-1:0,005:0,3];
» g = sin(1,2*x2.^-2);
» uchastka(x1, f, x2, g)

Xuddi shunga o'xshash tarzda, vergul bilan ajratilgan uchastkada ko'rsatish orqali ko'rinishdagi argumentlar juftlari: abscissa vektori, ordinata vektori, ixtiyoriy sonli funktsiyalarning grafiklari tuziladi.

Eslatma 1

Bitta argument - vektor bilan uchastkadan foydalanish natijasida "vektorli chizma" qurilishi, ya'ni. vektor elementlar qiymatlarining ularning soniga bog'liqligi. Plot argumenti matritsa ham bo'lishi mumkin, bu holda ustun grafiklari bir xil koordinata o'qlarida ko'rsatiladi.
Ba'zan siz qiymatlari bir-biridan juda farq qiladigan ikkita funktsiyaning xatti-harakatlarini taqqoslashingiz kerak. Kichik qiymatlarga ega funktsiya grafigi amalda x o'qi bilan birlashadi va uning ko'rinishini aniqlab bo'lmaydi. Bunday vaziyatda plotyy funktsiyasi yordam beradi, bu mos shkalaga ega bo'lgan ikkita vertikal o'qli oynada grafiklarni ko'rsatadi.
Masalan, ikkita funktsiyani solishtiring: va

» x = ;
» f = x.^-3;
"F = 1000*(x+0,5).^-4;
» syujet (x, f, x, F)

Ushbu misolni ishga tushirayotganda, grafikning rangi uning tegishli y o'qi rangiga mos kelishiga e'tibor bering.
Chizma funksiyasi ikkala koordinata o'qida chiziqli masshtabdan foydalanadi. Biroq, MatLab foydalanuvchiga bitta o'zgaruvchining funktsiyalarini logarifmik yoki yarim logarifmik shkalada chizish imkoniyatini beradi.

2.2. Logarifmik masshtabda funksiyalar grafiklari

Grafiklarni logarifmik va yarim logarifmik masshtabda chizish uchun quyidagi funksiyalardan foydalaning:
- loglog (ikkala o'qda logarifmik shkala);
- semilogx (faqat abtsissa o'qi bo'ylab logarifmik shkala);
-semilogiya (faqat ordinatada logarifmik masshtab).

Loglog, semilogx va semilogy argumentlari oldingi paragrafda tasvirlangan chizma funktsiyasi bilan bir xil tarzda abscissa va ordinata qiymatlari vektorlari juftligi sifatida ko'rsatilgan. Masalan, funksiyalar grafiklarini tuzamiz Va eksa bo'ylab logarifmik shkala bo'yicha segmentda X:

» x = ;
» f = log(0,5*x);
» g = sin(log(x));
» semilogx(x, f, x,g)

2.3. Funktsiya grafiklarida chiziq xossalarini o'rnatish

Tuzilgan funktsiya grafiklari iloji boricha tushunarli bo'lishi kerak. Ko'pincha markerlarni qo'llash, chiziqlar rangini o'zgartirish va monoxrom nashrga tayyorgarlik ko'rayotganda, chiziq turini (qattiq, nuqta, tire va boshqalar) o'rnatish kerak. MatLab plot, loglog, semilogx va semilogy yordamida tuzilgan grafiklarning ko'rinishini nazorat qilish imkoniyatini beradi, ular uchun har bir vektor juftidan keyin qo'shimcha argument qo'yiladi. Ushbu argument apostroflar ichiga olingan va uchta belgidan iborat bo'lib, ular belgilab beradi: rang, marker turi va chiziq turi. Kerakli o'zgarishlarga qarab bir, ikki yoki uchta pozitsiyadan foydalaniladi. Jadvalda ushbu argumentning mumkin bo'lgan qiymatlari va natija ko'rsatilgan.

Marker turi

Chiziq turi

qattiq

nuqtali

tire nuqtali

ortiqcha belgisi

chizilgan

Yulduz

Pastga qaragan uchburchak

Yuqoriga qaragan uchburchak

Chapga qaratilgan uchburchak

o'ngga ishora qiluvchi uchburchak

besh qirrali yulduz

olti burchakli yulduz

Agar, masalan, birinchi grafikni qizil nuqtali markerlar bilan chiziqsiz, ikkinchi grafikni esa qora nuqtali chiziq bilan chizish kerak bo'lsa, plot(x, f, "r.", x, g) buyrug'idan foydalanish kerak. , "k:").

2.4. Funksiya grafiklarini loyihalash

Grafiklardan foydalanish qulayligi ko'p jihatdan qo'shimcha dizayn elementlariga bog'liq: panjara, eksa teglari, sarlavha va afsona. To'r to'r buyrug'i bilan qo'llaniladi, o'qlar uchun teglar xlabel, ylabel yordamida joylashtiriladi, sarlavha buyrug'i bilan beriladi. Xuddi shu o'qlarda bir nechta grafiklarning mavjudligi, chiziqlar haqidagi ma'lumotlarga ega bo'lgan afsonaviy buyruq bilan afsonani joylashtirishni talab qiladi. Ro'yxatdagi barcha buyruqlar chiziqli, logarifmik va yarim logarifmik shkalalardagi grafiklarga nisbatan qo'llaniladi. Quyidagi buyruqlar barcha kerakli ma'lumotlar bilan ta'minlangan kunlik harorat o'zgarishlarining grafiklarini ko'rsatadi.

"vaqt =;
" temp1 = ;
" temp2 = ;
» syujet (vaqt, temp1, "ro-", vaqt, temp2, "go-")
» panjara yoqilgan
» sarlavha (“Kunlik haroratlar”)
» xlabel("Vaqt (soat)")
» ylabel("Harorat (C)")
» afsona("10-may, 11-may")

Afsonani qo'shganda, esda tutingki, afsona buyrug'iga argumentlar tartibi va soni grafikdagi satrlarga mos kelishi kerak. Oxirgi qo'shimcha argument grafik oynadagi afsonaning holati bo'lishi mumkin:

* -1 - grafik oynaning yuqori o'ng burchagidagi diagramma tashqarisida;
* 0 - grafik ichidagi eng yaxshi pozitsiya grafiklarning o'zini iloji boricha kamroq qoplaydigan qilib tanlanadi;
* 1 - diagrammaning yuqori o'ng burchagida (bu pozitsiya sukut bo'yicha ishlatiladi);
* 2 - grafikning yuqori chap burchagida;
* 3 - grafikning pastki chap burchagida;
* 4 - grafikning pastki o'ng burchagida.

Grafik sarlavhasi, afsonasi va eksa teglarida siz TeX formatidan foydalanib formulalar qo'shishingiz va shrift uslublarini o'zgartirishingiz mumkin.
MatLab grafiklarni turli ranglarda ko'rsatadi. Monoxromli printer grafiklarni kul rangning turli tuslarida chop etadi, bu har doim ham qulay emas. Plot buyrug'i, masalan, chiziq uslubi va rangini osongina o'rnatishga imkon beradi

» chizma(x,f,"k-",x,g,"k:")

birinchi grafikni qattiq qora chiziq bilan, ikkinchisini esa qora nuqta chiziq bilan tuzadi. "K-" va "k:" argumentlari birinchi va ikkinchi qatorlarning uslubi va rangini belgilaydi. Bu yerda k qora, defis yoki ikki nuqta esa qattiq yoki nuqtali chiziqni bildiradi. Grafik oynasini yuqori o'ng burchakdagi xochli tugmani bosish orqali yopish mumkin.

3. Ikki o‘zgaruvchili funksiyalarning grafiklarini tuzish

MatLab-da ikkita o'zgaruvchining funktsiyasini o'zgaruvchilarni aniqlashning to'rtburchaklar domenida chizish ikkita dastlabki bosqichni o'z ichiga oladi:
1. Aniqlash maydonini to'rtburchaklar panjara bilan bo'lish.
2. To‘r chiziqlarining kesishish nuqtalaridagi funksiya qiymatlarini hisoblang va ularni matritsaga yozing.
Keling, funktsiyani chizamiz z(x,da)= X 2 + da Kvadrat ko'rinishidagi ta'rif sohasi bo'yicha 2 X tegishli, y- . Kvadratni bir xil panjara bilan (masalan, 0,2 qadam bilan) bo'lish va nuqta bilan ko'rsatilgan tugunlardagi funktsiyalar qiymatlarini hisoblash kerak.
Tugunlarning koordinatalari haqidagi ma'lumotlarni saqlash uchun o'lchamlari oltidan oltigacha bo'lgan ikkita ikki o'lchovli x va y massivlaridan foydalanish qulay. X massivi koordinatalarini o'z ichiga olgan bir xil chiziqlardan iborat x 1, X 2, ..., X 6 va massiv da bilan bir xil ustunlarni o'z ichiga oladi y1, da 2, ..., da 6. Biz tarmoq tugunlaridagi funktsiya qiymatlarini bir xil o'lchamdagi (6 x 6) z massiviga yozamiz va matritsani hisoblash uchun Z funktsiya uchun ifodadan foydalaning, lekin bilan elementma-element matritsa operatsiyalari. Keyin, masalan z(3.4) funksiya qiymatiga aynan teng bo'ladi z(x,y) nuqtada (x3, da 4). Grid massivlarini yaratish uchun X Va da Tugunlar koordinatalaridan foydalanib, MatLab meshgrid funktsiyasini ta'minlaydi, simli ramka yuzasi ko'rinishidagi grafikni qurish uchun to'r funktsiyasidan foydalaniladi. Quyidagi gaplar ekranda funksiya grafigiga ega oynaning paydo bo‘lishiga olib keladi (massivlar generasiyasini boshqarish uchun gaplar oxirida nuqta-vergul qo‘yilmaydi):

" = meshgrid(0:0,2:1,0:0,2:1)
X =

0 0.2000 0.4000 0.6000 0.8000 1.0000
0 0.2000 0.4000 0.6000 0.8000 1.0000
0 0.2000 0.4000 0.6000 0.8000 1.0000
0 0.2000 0.4000 0.6000 0.8000 1.0000
0 0.2000 0.4000 0.6000 0.8000 1.0000
y=
0 0 0 0 0 0
0.2000 0.2000 0.2000 0.2000 0.2000 0.2000
0.4000 0.4000 0.4000 0.4000 0.4000 0.4000
0.6000 0.6000 0.6000 0.6000 0.6000 0.6000
0.8000 0.8000 0.8000 0.8000 0.8000 0.8000
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000

» Z = X.^2+Y.^2

Z=
0 0.0400 0.1600 0.3600 0.6400 1.0000
0.0400 0.0800 0.2000 0.4000 0.6800 1.0400
0.1600 0.2000 0.3200 0.5200 0.8000 1.1600
0.3600 0.4000 0.5200 0.7200 1.0000 1.3600
0.6400 0.6800 0.8000 1.0000 1.2800 1.6400
1.0000 1.0400 1.1600 1.3600 1.6400 2.0000

Tuzilgan grafikning qanday kamchiliklari bor? Va ularni qanday yo'q qilish kerak? Tuzilgan grafik va yangisi elektron laboratoriya hisobotiga kiritilishi kerak.

MatLab grafikda qo'shimcha ma'lumotlarni, xususan, ranglarning funksiya qiymatlariga mos kelishini chizish imkonini beradi. Mesh ikkita argument bilan chaqirilgan meshgrid buyrug'i yordamida yaratiladi. Argumentlar - bu funksiya tuzilgan to'rtburchaklar maydonidagi to'rga mos keladigan vektorlar. Agar funktsiyaning qurilish maydoni kvadrat bo'lsa, bitta argumentdan foydalanish mumkin. Funktsiyani baholash uchun siz elementlar bo'yicha operatsiyalardan foydalanishingiz kerak .

MatLab tomonidan ikkita o'zgaruvchining funktsiyalarini vizualizatsiya qilish uchun taqdim etilgan asosiy imkoniyatlarni funktsiyani chizish misolidan foydalanib ko'rib chiqaylik.

to'rtburchaklar aniqlangan maydonda X[-1, 1] ga tegishli, y .
Grid tugunlari koordinatalari va funksiya qiymatlari bilan matritsalarni tayyorlaymiz:

" = meshgrid(-1:0,05:1, 0:0,05:1);
» Z = 4*sin(2*pi*X).*cos(1.5*pi*Y).*(1-X.^2).*Y.*(1-Y);

Tel ramka yuzasini qurish uchun uchta argument bilan chaqirilgan mesh funktsiyasidan foydalaning:

Sirt chiziqlarining rangi funksiya qiymatlariga mos keladi. MatLab faqat sirtning ko'rinadigan qismini chizadi.

Buyruqdan foydalanish yashiringan Yashirin qismni qo'shib, ramka yuzasini "shaffof" qilishingiz mumkin. Yashirin buyrug'i sirtning ko'rinmas qismini olib tashlaydi, grafikani oldingi ko'rinishiga qaytaradi.

Funktsiya bemaqsad qilish funktsiya grafigining simli ramka yuzasini quradi va hujayra burchaklariga mos keladigan nuqtalardagi funktsiya qiymatlariga qarab sirtning har bir katakchasini ma'lum bir rang bilan to'ldiradi. Har bir hujayra ichida rang doimiydir. Buyruqni bajarish natijalarini ko'ring

Jamoa tekis soya qilish ramka chiziqlarini olib tashlash imkonini beradi. Funktsiya qiymatlariga qarab rang bilan silliq to'ldirilgan sirtni olish uchun shading interp buyrug'idan foydalaning.
Fasetli soya bilan siz simli chiziqli sirtga qaytishingiz mumkin.
Yuqorida tavsiflangan buyruqlar yordamida yaratilgan 3D chizmalar sirt shakli haqida tasavvurga ega bo'lish uchun foydalidir, ammo ular funktsiyaning qiymatlarini baholash qiyin. MatLab rang paneli buyrug'ini belgilaydi, u rang va funktsiya qiymati o'rtasidagi moslikni o'rnatuvchi grafik yonidagi satrni ko'rsatadi. Surfdan foydalanib, sirt grafigini tuzing va uni rang ma'lumotlari bilan to'ldiring.

» bemaqsad (X,Y,Z)
» rang paneli

Rang paneli buyrug'i uch o'lchovli ob'ektlarni tuzadigan barcha funktsiyalar bilan birgalikda ishlatilishi mumkin.

Rangli sirtdan foydalanib, tekislikning ma'lum bir nuqtasida funktsiyaning qiymati haqida xulosa chiqarish qiyin. xy. Meshc yoki surfc buyruqlari funksiyaning harakatini aniqroq tushunish imkonini beradi. Ushbu buyruqlar simli ramka yuzasini yoki rangli simli ramka yuzasini quradi va uni tekislikka joylashtiradi. xy funktsiya darajasining chiziqlari (funksiya qiymatlarining doimiylik chiziqlari):

» surfc(X,Y,Z)
» rang paneli

MatLab kontur3 funksiyasidan foydalanib, tekislik chiziqlaridan iborat sirtni qurish imkonini beradi. Bu funksiya yuqorida uchta argument bilan tavsiflangan mesh, surf, meshc va surfc bilan bir xil tarzda ishlatilishi mumkin. Bunday holda, darajali chiziqlar soni avtomatik ravishda tanlanadi. Kontur3 ning to'rtinchi argumenti sifatida sath chiziqlari sonini yoki elementlari darajali chiziqlar sifatida ko'rsatilgan funksiya qiymatlariga teng bo'lgan vektorni ko'rsatish mumkin. Vektorni ko'rsatish (to'rtinchi argument darajalari) funktsiyaning ma'lum bir qiymatlari oralig'ida (funktsiya tilim) harakatini tekshirish kerak bo'lganda qulaydir. Masalan, 0,01 qadam bilan 0 dan 0,5 gacha bo'lgan funktsiya qiymatlariga mos keladigan darajali chiziqlardan iborat sirtni yarating:

" darajalari = ;
» kontur3(X, Y, Z, darajalar)
» rang paneli

4. Ikki o‘zgaruvchili funksiyalarning kontur grafiklarini qurish

MatLab kontur va kontur funksiyalaridan foydalangan holda har xil turdagi kontur chizmalarini yaratish imkoniyatini beradi. Funktsiya misolidan foydalanib, ularning imkoniyatlarini ko'rib chiqaylik

Konturni uchta argument bilan ishlatish

» kontur(X,Y,Z)

natijada tekislikdagi sath chiziqlari ko'rsatilgan grafik paydo bo'ladi xy, lekin ulardagi raqamli qiymatlarni ko'rsatmasdan . Bunday grafik juda ma'lumotli emas, u har bir darajadagi satrda funktsiyaning qiymatlarini aniqlashga imkon bermaydi. Rang paneli buyrug'idan foydalanish ham funktsiya qiymatlarini aniq aniqlashga imkon bermaydi. Har bir darajadagi satrga MatLab da aniqlangan clabel funktsiyasidan foydalanib, o'rganilayotgan funksiya o'z zimmasiga oladigan qiymatni belgilash mumkin. Clabel funktsiyasi ikkita argument bilan chaqiriladi: daraja chiziqlari haqidagi ma'lumotlarni o'z ichiga olgan matritsa va belgilar qo'llaniladigan grafik ko'rsatgich. Foydalanuvchi clabel argumentlarini o'zi yaratishi shart emas. Ikki chiqish bilan chaqirilgan kontur funksiyasi nafaqat sath chiziqlarini chizibgina qolmay, balki clabel uchun zarur bo'lgan parametrlarni ham topadi. Konturdan CMatr va h chiqish argumentlari bilan foydalaning (CMatr massivida sath satrlari haqidagi ma'lumotlar, h massivida esa ko'rsatkichlar mavjud). Chiqish qiymatlarini bostirish va to'rni chizish uchun konturga qo'ng'iroqni nuqta-vergul bilan yakunlang:

" = kontur (X, Y, Z);
» clabel(CMatr, h)
» panjara yoqilgan

Kontur funktsiyasiga qo'shimcha argument (yuqorida tavsiflangan kontur3 bilan bir xil) daraja chiziqlari soni yoki daraja chiziqlari chizilishi kerak bo'lgan funktsiya qiymatlarini o'z ichiga olgan vektor bo'lishi mumkin.
Funktsiyaning o'zgarishi haqidagi vizual ma'lumot tekislikdagi to'rtburchakni to'ldirish orqali taqdim etiladi xy tekislik nuqtalaridagi funksiya qiymatiga qarab rang. Bunday grafiklarni qurish uchun kontur funksiyasi mo'ljallangan bo'lib, undan foydalanish konturdan foydalanishdan farq qilmaydi. Quyidagi misol yigirma darajali chiziqlardan iborat bo'lgan grafikni ko'rsatadi va ular orasidagi bo'shliqlar o'rganilayotgan funktsiya qiymatlariga mos keladigan ranglar bilan to'ldiriladi:

» kontur (X, Y, Z, 20)
» rang paneli

5. Funksiya grafiklarini loyihalash

Grafikning rang sxemasini o'zgartirishning oddiy va samarali usuli bu rang xaritasi funksiyasidan foydalangan holda ranglar palitrasini o'rnatishdir. Quyidagi misolda kulrang palitradan foydalanib, monoxrom printerda chop etish uchun funktsiya grafigini tayyorlash ko'rsatilgan.

» surfc(X, Y, Z)
»ranglar paneli
» rang xaritasi (kulrang)
» sarlavha("z(x,y) funksiya grafigi")
» xlabel("x")
» ylabel("y")
» zlabel("z")

E'tibor bering, rang xaritasi (kulrang) buyrug'i grafik oyna palitrasini o'zgartiradi, ya'ni. quyidagi grafiklar ushbu oynada kulrang tonlarda ham ko'rsatiladi. Palitraning asl qiymatini tiklash uchun colormap("standart") buyrug'idan foydalaning. MatLab da mavjud ranglar palitralari jadvalda keltirilgan. 2.

jadval 2


Palitra

Rang o'zgarishi

Qizil - to'q sariq - sariq rangdan silliq o'zgarish.

Kulrang palitraga o'xshash, lekin ko'k rangning engil soyasi bilan.

Har bir rang quyuqdan yorqingacha o'zgaradi.

Ko'k va binafsha ranglarning soyalari.

Mis rangining soyalari.

Tsiklik o'zgarish qizil - oq - ko'k - qora.

Kulrang soyalari.

Silliq o'zgarish qora - qizil - to'q sariq - sariq - oq.

Kamalak ranglari kabi silliq o'zgarishlar.

Silliq o'zgarish ko'k - ko'k - qizil - yashil - sariq - qizil.

Kulrang palitraga o'xshash, ammo jigarrangning engil soyasi bilan

Tsiklik o'zgarish qizil - to'q sariq - sariq - yashil - ko'k - binafsha rang.

Binafsha va sariq ranglarning soyalari.

Yashil va sariq ranglarning soyalari.

O'n olti rangdan iborat Windows palitrasi.

Bitta oq rang.

Ko'k va yashil soya.

6. Bir xil o'qlarda bir nechta grafiklarni ko'rsatish

Bitta o'zgaruvchining funktsiyalarining bir nechta grafiklarini bir xil o'qlarda ko'rsatish uchun funktsiyalarning imkoniyatlari ishlatilgan. syujet, plotyy, semilogx, semilogiya, loglog. Ular sizga mos vektor argumentlarini juft-juft qilib belgilash orqali bir nechta funksiyalarni chizish imkonini beradi, masalan plot(x,f,x,g). Biroq, ularni 3D grafiklarni birlashtirish uchun ishlatib bo'lmaydi. Bunday grafiklarni birlashtirish uchun ushlab turish buyrug'i mo'ljallangan, uni chizishdan oldin ko'rsatish kerak. Quyidagi misolda ikkita grafikni (tekislik va konusni) birlashtirib, ularning kesishishiga olib keladi. Konus parametrik ravishda quyidagi bog'liqliklar bilan belgilanadi:

, , , .

Konusni grafik ko'rinishda ko'rsatish uchun siz birinchi navbatda berilgan oraliqdagi parametrlarning qiymatlarini o'z ichiga olgan ikkita nuqta yordamida ustun vektorini va qator vektorini yaratishingiz kerak (muhim u M. Ustun vektori va satr vektori o'lchamlaridan biri bittaga teng bo'lgan matritsalardir. Aslida, BILAN = abT, bu erda ko'paytirish qoidaga muvofiq sodir bo'ladi matritsa mahsuloti. MatLab da matritsa mahsulotini hisoblash uchun yulduzcha operatoridan foydalaniladi. Ikki vektor uchun tashqi mahsulotni aniqlaymiz:

" a = ;
" b = ;
"C = a * b"
C=
5 6 7
10 12 14
15 18 21

Keling, matritsalarni shakllantiramiz X,Y, konusning grafik ko'rinishi uchun zarur:

» X = 0,3*u*cos(v);
» Y = 0,3*u*sin(v);

Matritsa Z matritsalar bilan bir xil o'lchamda bo'lishi kerak X Va Y. Bundan tashqari, u parametr qiymatlariga mos keladigan qiymatlarni o'z ichiga olishi kerak. Agar funktsiya mahsulotni o'z ichiga olgan bo'lsa Va Va v, keyin matritsa Z matritsalar kabi to'ldirilishi mumkin X Va Y tashqi mahsulotdan foydalanish. Boshqa tomondan, funktsiya z(u, v) shaklida ifodalanishi mumkin, bu erda. Shuning uchun, hisoblash uchun Z va vektorlarining tashqi mahsulotini qo'llash mumkin, bu erda qator vektori bir xil o'lchamga ega v, lekin birliklardan iborat:

» Z = 0,6*u*bir(hajmi(v));

Konusni ko'rsatish uchun barcha kerakli matritsalar yaratilgan. Samolyot quyidagicha belgilanadi:

" = meshgrid(-2:0,1:2);
» Z = 0,5*X+0,4*Y;

Endi kesishuvchi konus va tekislikni qurish uchun buyruqlarning to'liq ketma-ketligini yozish qiyin emas:

"u = [-2*pi:0.1*pi:2*pi]";
» v = [-2*pi:0.1*pi:2*pi];
» X = 0,3*u*cos(v);
» Y = 0,3*u*sin(v);
» Z = 0,6*u*bir(hajmi(v));
» bemaqsad (X, Y, Z)
" = meshgrid(-2:0,1:2);
» Z = 0,5*X+0,4*Y;
"to'xtab tur"
» mash (X, Y, Z)
» yashirin

Yashirin o'chirish buyrug'i konusning tekislik ostida joylashgan qismini ko'rsatish uchun ishlatiladi.
Esda tutingki, ushlab turish buyrug'i joriy oynaning barcha keyingi grafik chiqishlari uchun amal qiladi. Grafiklarni yangi oynalarga joylashtirish uchun ushlab turish buyrug'idan foydalaning. Hold on buyrug'i bir o'zgaruvchining funksiyalarining bir nechta grafiklarini tartibga solish uchun ham ishlatilishi mumkin, masalan,

» chizma(x,f,x,g)

ketma-ketlikka teng

» chizma(x,f)
"to'xtab tur"
» chizma(x,g)

Men olgan ish natijalari:

MatLab to'plami har xil rang va chiziq turlariga ega bo'lgan grafiklarni ko'rsatish, grafikdagi to'rni, yorliq o'qlarini va butun grafikni ko'rsatish yoki yashirish, afsona yaratish va boshqalarga imkon beradi. Ushbu bo'limda biz ikki o'lchovli sxemalar misolidan foydalanib, bunday dizaynlarni yaratishga imkon beradigan eng muhim funktsiyalarni ko'rib chiqamiz.

Plot() funksiyasi ko'rsatilgan chiziqning rangi va turini o'zgartirishga imkon beradi. Buning uchun qo'shimcha parametrlar qo'llaniladi, ular quyidagicha yoziladi:

syujet ( , , <’цвет линии, тип линии, маркер точек’>);

E'tibor bering, uchinchi parametr apostroflar bilan yozilgan va 3.1-3.3-jadvallarda berilgan belgiga ega. Quyidagi markerlar birin-ketin yoziladi, masalan,

'ko' - grafik nuqtalarini grafikdagi qora doiralarda ko'rsatadi,
‘ko-‘ – qora chiziqli grafik chizadi va nuqtalarni doira shaklida joylashtiradi.

Jadval 3.1. Grafik chiziq rangini belgilash

Chiziq rangi

binafsha

Jadval 3.2. Grafik chiziq turini belgilash

Chiziq rangi

davomiy

chizilgan

nuqtali

tire nuqtali

Jadval 3.3. Grafik nuqtalarining turini belgilash

Chiziq rangi

Yulduz

Quyida plot() funksiyasini boshqa markerlar to‘plami bilan yozish misollari keltirilgan.

x = 0:0,1:2*pi;
y = sin(x);

subplot(2,2,1); uchastka(x,y,"r-");
subplot(2,2,2); uchastka(x,y,"r-",x,y,"ko");
subplot(2,2,3); uchastka(y,"b--");
subplot(2,2,4); uchastka(y,"b--+");

Dastur fragmentining natijasi rasmda ko'rsatilgan. 3.7. Taqdim etilgan misol, kerakli natijaga erishish uchun markerlarni qanday birlashtirish mumkinligini ko'rsatadi. Va rasmda. 3.7 dasturda ishlatiladigan turli markerlar qanday vizual effektlarga olib kelishini aniq ko'rsatadi. Shuni alohida ta'kidlash kerakki, dasturning to'rtinchi qatorida ikkita grafik ko'rsatiladi: birinchisi qizil va uzluksiz chiziq bilan chizilgan, ikkinchisi esa grafikning belgilangan nuqtalarining qora doiralarida chizilgan. Markerlarni yozishning qolgan variantlari aniq.

Guruch. 3.7. Har xil turdagi markerlar bilan grafiklarni ko'rsatishga misollar

Shakldagi misollardan. 3.7 dan ko'rinib turibdiki, Ox o'qi bo'ylab grafiklarning masshtablari haqiqiy qiymatlardan biroz kattaroqdir. Gap shundaki, MatLab tizimi ma’lumotlarni to‘liq aks ettirish uchun koordinatalar tizimini avtomatik ravishda masshtablaydi. Biroq, bunday avtomatik konfiguratsiya har doim ham foydalanuvchining manfaatlarini qondira olmaydi. Ba'zan siz grafikning alohida qismini tanlashingiz va uni faqat to'liq ko'rsatishingiz kerak. Buning uchun MatLab tilining axis() funksiyasidan foydalaning, u quyidagi sintaksisga ega:

eksa([ xmin, xmax, ymin, ymax ]),

bu erda ko'rsatilgan parametrlarning nomlari o'zlari uchun gapiradi.

Keling, 0 dan gacha bo'lgan sinus funksiyasining grafigini ko'rsatish uchun ushbu funksiyadan foydalanamiz:

x = 0:0,1:2*pi;
y = sin(x);

subplot(1,2,1);
uchastka (x, y);
eksa();

subplot(1,2,2);
uchastka (x, y);
eksa();

Dastur natijasidan (3.8-rasm) ko'rinib turibdiki, sinus funksiyasi 0 dan - gacha bo'lgan oraliqda ko'rsatilgan bo'lishiga qaramay, axis() funksiyasidan foydalanib, diapazonda butun grafikni ham, uning fragmentini ham ko'rsatish mumkin. 0 dan .

Guruch. 3.8. axis() funktsiyasi qanday ishlashiga misol

Ushbu bo'limni yakunlashda biz grafik belgilarini, o'qlarini yaratish va grafikda panjara ko'rsatish imkoniyatlarini ko'rib chiqamiz. Buning uchun jadvalda keltirilgan MatLab tilining funksiyalaridan foydalaning. 3.4.

3.4-jadval. Diagrammani loyihalash funktsiyalari

Ism

Tavsif

Grafikdagi to'rni yoqadi/o'chiradi

sarlavha ('grafik sarlavha')

Grafik sarlavha yorlig'ini yaratadi

xlabel('Ox o'qi yorlig'i')

Ox o'qi yorlig'ini yaratadi

ylabel ('Oy o'qi yorlig'i')

Oy o'qi yorlig'ini yaratadi

matn (x, y, ‘matn’)

(x,y) koordinatalarida matn yorlig'ini yaratadi.

Keling, ushbu funktsiyalar qanday ishlashini quyidagi misolda ko'rib chiqaylik:

x = 0:0,1:2*pi;
y = sin(x);

uchastka (x, y);
eksa();
panjara yoqilgan;
title("sin(x) funksiyasining grafigi");
xlabel("Ox koordinatasi");
ylabel("Oy koordinatasi");
text(3.05,0.16,"\leftarrow sin(x)");

Ushbu dastur natijasidan, rasmda keltirilgan. 3.9, siz diagrammada teglar yaratish funktsiyalari qanday ishlashini, shuningdek, diagramma panjarasini ko'rsatishni ko'rishingiz mumkin.

Shunday qilib, tavsiflangan funktsiyalar va parametrlar to'plamidan foydalanib, siz MatLab tizimida grafiklarni loyihalashning kerakli usuliga erishishingiz mumkin.

Guruch. 3.9. Diagrammani loyihalash funktsiyalari qanday ishlashiga misol

MATLAB turli xil 2D va 3D grafiklarni yaratish, shuningdek ularni sozlash, tahrirlash va formatlash uchun juda kuchli tizimga ega. MATLAB diagrammalarining turlari va kichik turlari juda xilma-xildir. Buyruq yordamida 2D grafik funksiyalar ro'yxatini olish mumkin Yordamgrafik2 d, uch o'lchamli - Yordamgrafik3 d.

Grafiklar ko'rish buyrug'i yordamida alohida grafik oynalarda ko'rsatiladi raqam (n) , Qayerda n- grafik oyna raqami. Bitta grafikda siz bir-biridan rang va chiziqlar va nuqtalar turlari bilan farq qiluvchi bir nechta egri chiziqlarni chizishingiz mumkin. Grafiklarni boshqa ilovalarga nusxalash va joylashtirish mumkin: Word, Excel, PowerPoint va boshqalar. Buning uchun buyruqdan foydalaning. Tahrirlash/ Nusxalash Rasm grafik oynalar.

Grafiklarni tuzishda keng tarqalgan buyruqlar

plot(t,y) % uzluksiz funksiya grafigi y(t)

chizma(x1, y1, x2, y2) % y1 va x1 va y2 ning x1ga nisbatan grafiklari

ildiz(x,y) %Diskret funksiya grafigi (signal)y(x)

zinapoyalar(x,y) % Qadam chiziqli grafigi

loglog(f,Y) %X va y da logarifmik masshtabli grafik

semilogx(f,Y) % Logarifmik shkala x va chiziqli x

polar(phi,r) % Qutb koordinatalaridagi grafik

title(‘title’) % Diagramma sarlavhasini ko‘rsatadi

xlabel('vaqt') % x o'qi belgisi

ylabel(‘Kuchlanish’) % O‘q yorlig‘i

legend(‘Tizimning chastota javobi‘) % Tushuntiruvchi matnni ko‘rsatadi

axis() % X va y o'qlari bo'ylab masshtablarni o'rnatish

xlim() % X o'qi shkalasini o'rnating

ylim() % Y o'qi bo'ylab masshtabni o'rnatish

raqam ( n) % Raqamni o‘rnatadi (oyna) n faol

pastki chizma ( r, c, n) % Grafik oynani ikkiga ajratadi r * c sill va subplot( rcn) % pastki oynani o‘rnatadi n sifatida faol.

gridon% diagrammaga panjara qo'shadi

holdon% oynada bir nechta grafiklarni chizish imkonini beradi

holdoff% joriy grafik uchun holdonni bekor qiladi

text% diagrammaga matnni joylashtirish imkonini beradi

zoomon/off% yordamida diagramma qismlarini % oshirish imkoniyatini yoqish/o‘chirish

% sichqonchaning chap va o‘ng tugmalari

Oddiy misollar:

>> x=0:0,01:2*pi;

>> y=sin(x);

Funktsiyaga bog'liqlik grafigini tuzish y massiv indeksidan (element raqami) x

y(x) bog‘liqligi grafigini tuzish

>> uchastka (x, y)

Funktsiyaga bir nechta argumentlar juftligi uchastka() bir grafik oynada bir nechta grafiklarni chizish imkonini beradi. Bu holda MATLAB har bir grafik uchun alohida chiziq rangidan foydalanadi.

Misol.

>> x = 0:pi/100:2*pi;

>> y = sin(x);

>>y2 = sin(x-.5);

>>y3 = sin(x+.5);

>> chizma (x,y,x,y2,x,y3)

>> legend("sin(x)","sin(x-.5)","sin(x+.5)")

Rang, chiziq turi va nuqtalarning belgilanishi (turi) funksiyaning argumentlari hisoblanadi syujet, yordam buyrug'i yordamida tegishli yordam ma'lumotlarini olish mumkin yordam uchastkasi.

Grafik oynani pastki oynalarga bo'lish uchun buyruqdan foydalaning uchastka (m, n, p) yoki uchastka (mnp), unda m- qatorlar soni, n- ustunlar soni, p- pastki oyna raqami. Funksiya grafigini tuzishga misol
funksiyasidan foydalangan holda ikkita pastki oynada syujet() bir holatda va vazifalari poya() argument o'qi bo'ylab turli chegaralarga ega bo'lgan boshqasida (7-rasm):

t=linspace(0, 8, 401); oraliqda 402 ballni % hisoblash

x = t.*exp(-t).*cos(2*pi*4*t);

eksa()

Yana bir misol

Fs=1024; % Namuna tezligi

f1=50; % garmonik chastota

N=512; signal namunalarining % soni

t=0:1/Fs:(N-1)/Fs; % vaqt vektori

% signal ishlab chiqarish

x=cos(2*pi*f1*t)+0,5*cos(2*pi*f2*t)+randn(1,uzunlik(t));

chizma(t,x), grid % signal chizmasi

sarlavha ("Signal")

xlabel("Vaqt, s")

Mavjud bo'lganlarga grafik qo'shish uchun buyruqdan foydalaning tutmoq yoqilgan

x1=sin(2*pi*4*t);

x2=cos(2*pi*4*t);

uchastka(t,x1+x2, "--b")

legend("x1=sin(2*pi*4*t)", "x2=cos(2*pi*4*t)","x1+x2")

Harakatni bekor qilish uchun tutmoq yoqilgan(grafik oynani qo'yib yuboring) foydalaning tutmoq o'chirilgan.

Misol qutbli koordinatalar tizimida grafik tuzish

>> t=0:pi/100:2*pi;

>> qutbli(t,cos(6*t))

MATLAB grafik oynasida menyu yoki asboblar paneli yordamida grafik oyna va uning obyektlarini turli xil sozlashlarni bajarish mumkin (9-rasm).

Muharrir oynasida yoki kontekst menyusi yordamida sichqonchaning o‘ng tugmasi yordamida grafik oynasi obyektining kerakli sozlamalari (rangi, o‘lchami, turi, chiziq qalinligi va boshqalar) amalga oshiriladi.

Bunday interaktiv grafik sozlamalari uchun imkoniyatlar juda keng. Avvalo, ular oyna asboblar panelidagi Edit Plot tugmasi orqali taqdim etiladi.

Uch o'lchovli grafik MATLAB juda rivojlangan va xilma-xil bo'lib, o'z-o'zidan dasturning juda muhim qismidir, lekin "Signals and Systems" kursida juda kam qo'llaniladi.

Ba'zi 3D chizma buyruqlari

>> plot3(…) % 3D yuzaning aksonometrik tasvirini chizadi

>> mesh(…) % koʻrsatilgan 3D yuzalarni yaratadi

% rang berish

Misol.

>> =meshgrid([-3:0,1:3]);

>> Z=X.^2+Y.^2;

>> toʻr(X,Y,Z)

Ikkinchi tartibli sistemaning uzatish funksiyasini uzatish funksiyasi bilan grafigiga misol
.

Tizimning nollari va qutblari:

Meshgrid(-2:0,01:1, -2:0,01:2);

H=(s+0)./((s+1).^2+1);

mesh (x,y,abs(H))

MatLab ma'lumotlarni vizualizatsiya qilish uchun boy vositalarni taqdim etadi. Ichki tildan foydalanib, siz 2D va 3D syujetlarni dekart va qutb koordinatalarida ko'rsatishingiz, turli rang chuqurligidagi tasvirlarni va turli rangdagi xaritalarni ko'rsatishingiz, hisob-kitoblar paytida simulyatsiya natijalarining oddiy animatsiyalarini yaratishingiz va boshqalar.

3.1. chizma funktsiyasi

MatLab-ning ma'lumotlarni vizualizatsiya qilish imkoniyatlarini ikki o'lchovli grafiklar bilan ko'rib chiqishni boshlaylik, ular odatda plot() funksiyasi yordamida qurilgan. Muayyan misollar yordamida ushbu funktsiya qanday ishlashining ko'plab variantlarini ko'rib chiqish yaxshidir.

Faraz qilaylik, siz sinus funksiyasini 0 dan ga qadar diapazonda chizmoqchisiz. Buning uchun biz Ox o'qi bo'ylab nuqtalar vektorini (to'plami) o'rnatamiz, unda sinus funktsiyasi qiymatlari ko'rsatiladi:

Natijada 0 dan 0,01 gacha bo'lgan turli qiymatlarga ega ustun vektori. Keyin, biz ushbu nuqtalarda sinus funktsiyasi qiymatlari to'plamini hisoblaymiz:

va natijani ekranda aks ettiring

Natijada, biz rasmda ko'rsatilgan grafikni olamiz. 3.1.

Plot() funksiyasining quyidagi yozuvi shuni ko'rsatadiki, avval Ox o'qidagi nuqtalar to'plami bilan argument, keyin esa Oy o'qidagi nuqtalar to'plami bilan argument yoziladi. Ushbu qiymatlarni bilgan holda, plot() funksiyasi nuqtalarni tekislikda chizish va ularni chiziqli interpolyatsiya qilish uchun uzluksiz grafik yaratishga qodir.

Guruch. 3.1. plot() funksiyasi yordamida sinus funksiyasini ko'rsatish.

plot() funksiyasi bitta x yoki y argumenti bilan ham yozilishi mumkin:

uchastka(x);
uchastka(y);

Natijada, biz rasmda ko'rsatilgan ikki xil grafikni olamiz. 3.2.

Shakl tahlili. 3.2-rasm shuni ko'rsatadiki, bitta argument bo'lsa, plot() funksiyasi Oy o'qi bo'ylab nuqtalar to'plamini ko'rsatadi va Ox o'qi bo'ylab birlik qadam bilan avtomatik ravishda nuqtalar to'plamini hosil qiladi. Shuning uchun vektorni oddiygina ikki o'lchovli grafik sifatida tasavvur qilish uchun plot() funksiyasidan bitta argument bilan foydalanish kifoya.

Bir xil koordinata o'qlarida bir nechta chizmalarni chizish uchun plot() funktsiyasi quyidagicha yoziladi:

x = 0:0,01:pi;
y1 = sin(x);
y2 = cos(x);
uchastka(x,y1,x,y2);

Ushbu dastur fragmentining natijasi rasmda ko'rsatilgan. 3.3.

Guruch. 3.2. Bitta argument bilan plot() funksiyasining natijalari:

a – uchastka(x); b – uchastka(y).

Guruch. 3.3. Xuddi shu koordinata o'qlarida ikkita grafikni ko'rsatish.

Xuddi shunday, plot() funksiyasiga bitta argument yordamida ikkita syujetni chizishingiz mumkin. Faraz qilaylik, qiymatlarning ikkita vektori bor

y1 = sin(x);
y2 = cos(x);

ekranda ko'rsatmoqchi bo'lgan. Buning uchun biz ularni ikki o'lchovli matritsaga birlashtiramiz

bunda ustunlar mos ravishda y1 va y2 vektorlardan tashkil topgan. Bunday matritsa funktsiya tomonidan ko'rsatiladi

uchastka(); % apostroflar satr vektorini tarjima qiladi
% ustun vektoriga

ikkita grafik shaklida (3.4-rasm).

Guruch. 3.4. Ikki o'lchovli matritsani ikkita grafik sifatida ko'rsatish.

Xuddi shu o'qdagi ikkita vektor faqat ularning o'lchamlari mos keladigan bo'lsa, ko'rsatilishi mumkin. Turli o'lchamdagi vektorlar bilan ishlashda ularni elementlar soni bo'yicha bir-biriga qisqartirish yoki turli grafiklarda ko'rsatish kerak. Turli koordinata o'qlarida grafiklarni ko'rsatishning bir necha usullari mavjud. Eng oddiy holatda siz ikkita grafik oyna yaratishingiz va ularda kerakli grafiklarni ko'rsatishingiz mumkin. Bu quyidagicha amalga oshiriladi:

x1 = 0:0,01:2*pi;
y1 = sin(x1);

x2 = 0:0,01:pi;
y2 = cos(x2);


raqam; % 2-grafik oynasini yaratish
uchastka (x2, y2); % 2-chi oynada 2-grafani chizish

Bu dasturda foydalaniladigan figura funksiyasi yangi grafik oynani yaratadi va uni faollashtiradi. Rasm funksiyasidan keyin darhol chaqiriladigan plot() funksiyasi hozirda faol grafik oynasida syujetni aks ettiradi. Natijada, ekranda ikkita grafikli ikkita oyna ko'rsatiladi.

Dasturning yuqoridagi fragmentining noqulayligi shundaki, figurali funksiyani qayta chaqirish ekranda yana bir yangi oyna paydo bo'ladi va agar dastur ikki marta bajarilsa, u holda ekranda uchta grafik oyna bo'ladi, lekin ulardan faqat ikkitasi. joriy ma'lumotlarni o'z ichiga oladi. Bunday holda, dasturni ekranda har doim kerakli grafiklarga ega ikkita oyna ko'rsatiladigan qilib qurish yaxshi bo'ladi. Agar siz figura funksiyasini chaqirayotganda argument sifatida yaratilishi yoki allaqachon yaratilgan bo'lsa faollashtirilishi kerak bo'lgan grafik oyna raqamini ko'rsatsangiz, bunga erishish mumkin. Demak, yuqoridagi dasturni shunday yozish mumkin.

x1 = 0:0,01:2*pi;
y1 = sin(x1);

x2 = 0:0,01:pi;
y2 = cos(x2);

raqam (1); %1-sonli oyna yaratilmoqda
uchastka (x1, y1); Birinchi grafikni chizish %
raqam (2); % 2-raqamli grafik oynani yaratadi
uchastka (x2, y2); % 2-chi oynada 2-grafani chizish

Ushbu dasturni bajarishda ekranda doimo 1 va 2 raqamlari bo'lgan ikkita grafik oyna paydo bo'ladi va ular mos ravishda sinus va kosinus funktsiyalarining grafiklarini ko'rsatadi.

Ba'zi hollarda ma'lumotni taqdim etishda ko'proq qulaylikka ikkita grafikni bitta grafik oynada ko'rsatish orqali erishish mumkin. Bunga quyidagi sintaksisga ega subplot() funksiyasidan foydalanish orqali erishiladi:

pastki chizma (<число строк>, <число столбцов>, <номер координатной оси>)

Yuqoridagi sinus va kosinus funksiyalarining bir-biridan pastda joylashgan ikkita grafigini ko‘rsatish misolini ko‘rib chiqamiz.

x1 = 0:0,01:2*pi;
y1 = sin(x1);

x2 = 0:0,01:pi;
y2 = cos(x2);

raqam (1);
subplot(2,1,1); % oynani 2 satr va bitta ustunga ajrating
uchastka(x1,y1); Birinchi grafikning % ko'rsatilishi
subplot(2,1,2); % 2-koordinata o'qini qurish
uchastka(x2,y2); % yangi o'qlarda 2-grafani ko'rsatish

Dasturning natijasi rasmda ko'rsatilgan. 3.5.

Xuddi shunday, siz ikki yoki undan ortiq grafiklarni ustunda, jadval shaklida va hokazolarda ko'rsatishingiz mumkin. Bundan tashqari, siz grafik oynada uchastkaning aniq koordinatalarini belgilashingiz mumkin. Buning uchun subplot() funksiyasida joylashuv parametridan foydalaning:

subplot('pozitsiya', );

chap tomonda oynaning chap tomonidan ofset joylashgan; pastki - oynaning pastki tomonidan ofset; kengligi, balandligi - oynadagi diagrammaning kengligi va balandligi. Ushbu o'zgaruvchilarning barchasi 0 dan 1 gacha.

Guruch. 3.5. Subplot funksiyasiga misol.

Quyida grafik oynaning markazida sinus funksiyasining grafigini ko'rsatish uchun dasturning bir qismi keltirilgan. Ishning natijasi rasmda ko'rsatilgan. 3.6.

x1 = 0:0,01:2*pi;
y1 = sin(x1);

subplot('pozitsiya', );
uchastka(x1,y1);

Ushbu misolda subplot() funksiyasi chizmani oynaning chap va pastki chegaralaridan uchdan biriga siljitadi va grafik oynasining kengligi va balandligining uchdan bir qismiga teng chizma chizadi. Natijada asosiy oynaning markazida sinus funksiyasini chizish effekti paydo bo'ladi.

Shunday qilib, pozitsiya parametridan foydalanib, siz grafik elementlarni o'zboshimchalik bilan oyna tekisligiga joylashtirishingiz mumkin.

Guruch. 3.6. Subplot funksiyasi joylashuv parametri bilan qanday ishlashiga misol.

4.0 versiyasidan boshlab MATLAB tizimi kuchli grafik quyi tizimni o'z ichiga oladi, bu ikkala o'lchovli va uch o'lchovli grafiklarni terminal ekranida vizualizatsiya qilish vositalarini va taqdimot grafikasi vositalarini qo'llab-quvvatlaydi. Grafik ob'ektlar bilan ishlashning bir necha darajalarini ta'kidlash kerak. Avvalo, bu to'rtburchaklar va qutbli koordinatalar, gistogrammalar va shtrixli diagrammalar, uch o'lchovli yuzalar va darajali chiziqlar, animatsiyadagi grafiklarni qurish uchun mo'ljallangan oxirgi foydalanuvchiga yo'naltirilgan buyruqlar va funktsiyalardir. Yuqori darajadagi grafik buyruqlar grafik ob'ektlarning xususiyatlarini manipulyatsiya qilishni talab qilmasdan avtomatik ravishda masshtab va rang tanlashni boshqaradi. Tegishli past darajadagi interfeys deskriptorli grafiklar bilan ta'minlanadi, bu erda har bir grafik ob'ekt ushbu ob'ektga kirishda murojaat qilish mumkin bo'lgan grafik yordam (deskriptor) bilan bog'langan. Tutqich grafikasidan foydalanib, siz menyular, qo'ng'iroq tugmalari, matn panellari va boshqa GUI obyektlarini yaratishingiz mumkin.

Ushbu ma'lumotnomaning cheklangan doirasi tufayli faqat grafik buyruqlar va minimal grafik deskriptorlari bo'lgan funksiyalar kiritilgan. Qiziqqan o'quvchi MATLAB tizimi hujjatlariga, ayniqsa yaqinda chop etilgan "MATLAB Grafiklaridan foydalanish" kitobiga (Natick, 1996) murojaat qilishi kerak.

Asosiy grafik funktsiyalari MATLAB tizimlari ekranda quyidagi turdagi grafiklarni qurish va ularni bosma qurilmada chop etish imkonini beradi: chiziqli, logarifmik, yarim logarifmik, qutbli.

Har bir grafik uchun siz sarlavha o'rnatishingiz, o'qlarni belgilashingiz va masshtab panjarasini qo'llashingiz mumkin.

2D grafiklar

  • POT - chiziqli masshtabdagi syujet
  • LOGLOG - logarifmik masshtabdagi grafik
  • SEMILOGX, SEMILOGIYA - yarim logarifmik masshtabdagi grafik
  • POLAR - qutb koordinatalaridagi grafik

3D grafiklar

MATLAB uch o'lchovli chizmalarni qurish uchun bir nechta buyruqlar va funktsiyalarni taqdim etadi. Raqamli massiv elementlarining qiymatlari x va y koordinatalari bilan belgilangan tekislik ustidagi nuqtalarning z-koordinatalari deb hisoblanadi. Ushbu nuqtalarni ulashning bir necha mumkin bo'lgan usullari mavjud. Ulardan birinchisi bo'limdagi nuqtalarni bog'lash (plot3 funktsiyasi), ikkinchisi to'r yuzalarini qurish (to'r va bemaqsad funktsiyalari). Mesh funksiyasi bilan yaratilgan sirt - bu hujayralar fon rangiga ega bo'lgan va chegaralari sirt grafik ob'ektining EdgeColor xususiyati bilan belgilanadigan rangga ega bo'lishi mumkin bo'lgan to'r yuzasi. Surf funktsiyasi yordamida qurilgan sirt - bu nafaqat chegarasi uchun, balki uning hujayralari uchun ham belgilangan rangga ega bo'lishi mumkin bo'lgan to'r yuzasi; ikkinchisi sirt grafik obyektining FaceColor xususiyati bilan boshqariladi. Ushbu kitobning taqdimot darajasi o'quvchidan ob'ektga yo'naltirilgan dasturlash bo'yicha bilimga ega bo'lishni talab qilmaydi. Uning hajmi ushbu yondashuv asosida qurilgan grafik quyi tizimni to'liq tavsiflashga imkon bermaydi. Qiziqqan o'quvchiga MATLAB tizimi hujjatlariga, ayniqsa, yaqinda chop etilgan "MATLAB Graphics" (Natick, 1996) kitobiga murojaat qilish tavsiya etiladi.

  • PLOT3 - uch o'lchovli fazoda chiziqlar va nuqtalarni chizish
  • MESHGRID - ikki o'lchovli X va Y massivlarni hosil qilish
  • MESH, MESHC, MESHZ - uch o'lchamli to'r yuzasi
  • SURF, SURFC - soyali to'r yuzasi
  • SURFL - orqa yorug'lik bilan soyali sirt
  • AXIS - o'qni masshtablash va ko'rsatish
  • GRID - grid ilovasi
  • HOLD - joriy grafik oynaning saqlash rejimini boshqarish
  • SUBPLOT - grafik oynani bo'lish
  • ZOOM - diagramma masshtabini boshqarish
  • COLORMAP - ranglar palitrasi
  • CAXIS - ranglar palitrasi va o'qlarni masshtablash o'rtasidagi yozishmalarni o'rnatish
  • SHADING - yuzalarni soya qilish
  • KONTURK - sath chiziqlari tavsiflari massivini shakllantirish
  • KONTUR - uch o'lchamli sirt uchun tekis chiziqlar tasviri
  • CONTOUR3 - uch o'lchamli darajali chiziqlar tasviri

Grafika uchun yozuvlar va tushuntirishlar

  • TITLE - ikki va uch o'lchovli grafiklar uchun sarlavhalar
  • XLABEL, YLABEL, ZLABEL - o'qlarni belgilash
  • CLABEL - sath chizig'ini belgilash
  • TEXT - joriy diagrammaga matn qo'shish
  • GTEXT - belgilangan matnni sichqoncha yordamida diagrammaga joylashtiradi
  • LEGEND - diagrammaning tushuntirishi
  • COLORBAR - palitra shkalasi

Maxsus grafikalar

Ixtisoslashgan grafik boʻlimda shtrixli grafiklar, gistogrammalar, vektor va murakkab displeylar, diskret maʼlumotlar ketma-ketligi va 2D va 3D grafiklar uchun harakatlanish yoʻllarini yaratish uchun grafik buyruqlar va funksiyalar mavjud. Ushbu bo'lim MATLAB 5.0 versiyasida yanada rivojlantirildi, unda maxsus grafik vositalar takomillashtirildi va sezilarli darajada kengaytirildi.