|
Matlabda funksiyalardiń siziqli birikpesi arqali jaqinlasiw. Joba
|
bet | 3/5 | Sana | 16.09.2024 | Hajmi | 41,69 Kb. | | #271320 |
Bog'liq MATLABda funksiyalardin’ siziqli birikpesi arqali jaqinlasiw
2012-yilda 8-versiyada dasturiy taʼminotga katta oʻzgarishlar kiritildi[14] Foydalanuvchi interfeysi qayta ishlandi va Simulink funksiyasi kengaytirildi.[15] 2016-yilga kelib MATLAB bir qancha texnik va foydalanuvchi interfeysi yaxshilanishlarini, jumladan MATLAB Live Editor notebookini va boshqa funksiyalarni taqdim etdi[7].
Oʻzgaruvchilar[
Oʻzgaruvchilar tayinlash operatori, = yordamida aniqlanadi. MATLAB zaif tiplangan dasturlash tilidir, chunki turlar bilvosita aylantiriladi[17].Bu taxmin qilingan tiplashtirilgan tildir, chunki oʻzgaruvchilar ularning turini eʼlon qilmasdan tayinlanishi mumkin, agar ular ramziy ob’ektlar sifatida koʻrib chiqilishi kerak boʻlsa[18] va ularning turi oʻzgarishi mumkin. Qiymatlar konstantalardan, boshqa oʻzgaruvchilar qiymatlarini oʻz ichiga olgan hisoblashdan yoki funksiyaning chiqishidan kelib chiqishi mumkin.
Masalan:
>> x = 17
x =
17
>> x = 'hatʼ
x =
hat
>> x = [3*4, pi/2]
x =
12.0000 1.5708
>> y = 3*sin(x)
y =
-1.6097 3.0000
Oddiy massiv ikki nuqta sintaksisi yordamida aniqlanadi: boshlangʻich : increment : terminator . Masalan; misol uchun:
>> array = 1:2:9
array =
1 3 5 7 9
1, 3, 5, 7,9 va 11
L 9 qiymatlaridan tashkil topgan massiv nomli array belgilaydi (yoki mavjud oʻzgaruvchiga array nomi bilan yangi qiymat beradi). Yaʼni, massiv 1 dan (boshlangʻich qiymat) boshlanadi, har bir qadam bilan oldingi qiymatdan 2 ga (oʻsish qiymati) ortadi va 9 ga (yoki undan oshib ketishga yaqin) yetganda toʻxtaydi.
Birlamchi qiymat 1 dan foydalanish uchun oʻsish qiymati aslida ushbu sintaksisdan (koʻp nuqtalardan biri bilan birga) tashqarida qolishi mumkin.
>> ari = 1:5
ari =
1 2 3 4 5
ari nomli oʻzgaruvchiga 1, 2, 3, 4 va 5 qiymatlari boʻlgan massivni tayinlaydi, chunki oʻsish sifatida standart qiymat 1 ishlatiladi.
Indekslash bir asosli boʻlib,[19] C, C++ va Java kabi boshqa dasturlash tillarida qoʻllaniladigan nolga asoslangan indekslashdan farqli oʻlaroq, matematikada matritsalar uchun odatiy qoidadir.
Matritsalar qator elementlarini boʻsh joy yoki vergul bilan ajratish va satrlarni ajratish uchun nuqta-vergul yordamida aniqlanishi mumkin. Elementlar roʻyxati kvadrat qavslar bilan oʻralgan boʻlishi kerak [] . Qavslar () elementlar va pastki qatorlarga kirish uchun ishlatiladi (ular funksiya 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ʻplamini [2, 3, 4] ga baholovchi 2:4 kabi ifodalar bilan belgilash mumkin. Masalan, 2 dan 4 gacha satrlar va 3 dan 4 gacha ustunlardan olingan submatritsa quyidagicha yozilishi mumkin:
>> A(2:4,3:4)
ans =
11 8
7 12
14 1
n oʻlchamli kvadrat identifikatsiya matritsasi eye funksiyasi yordamida yaratilishi mumkin va nol yoki birlarga ega boʻlgan istalgan oʻlchamdagi matritsalar mos ravishda zeros va ones funksiyalari bilan yaratilishi mumkin.
>> eye(3,3)
ans =
1 0 0
0 1 0
0 0 1
>> zeros(2,3)
ans =
0 0 0
0 0 0
>> ones(2,3)
ans =
1 1 1
1 1 1
Vektor yoki matritsani koʻchirish transpose funksiyasi yoki matritsadan keyin nuqta-past qoʻshish orqali amalga oshiriladi (nuqtasiz, prime murakkab massivlar uchun konjugat transpozitsiyani amalga oshiradi):
>> ari = 1:5
ari =
1 2 3 4 5
Aksariyat funksiyalar massivlarni kirish sifatida qabul qiladi va har bir elementda elementlar boʻyicha ishlaydi. Masalan, mod(2*J,n) J dagi har bir elementni 2 ga koʻpaytiradi va keyin har bir element modulini n ga kamaytiradi. MATLAB standart for va while sikllarini oʻz ichiga oladi, lekin (R kabi boshqa shunga oʻxshash ilovalarda boʻlgani kabi) vektorlashtirilgan yozuvdan foydalanish tavsiya etiladi va tez-tez bajariladi. Magic.m funksiyasidan olingan quyidagi kod n ning toq qiymatlari uchun sehrli M kvadrat hosil qiladi (MATLAB funksiyasi meshgrid bu yerda 1:n ni oʻz ichiga olgan I va J kvadrat matritsalarini yaratish uchun ishlatiladi):
[J,I] = meshgrid(1:n);
A = mod(I + J — (n + 3) / 2, n);
B = mod(I + 2 * J — 2, n);
M = n * A + B + 1;
|
| |