CODESCRIPT

Matrisler

51 işlev. Her kaydın ne aldığı, ne verdiği ve çalışan örneği.

matrixAdd(a, b)

Aynı konumdaki hücreleri toplanmış yeni matris.

a
matrix
Birinci matris.
b
matrix
İkinci matris; boyutu a ile aynı olmalı.
NOT

İki matris hücre hücre toplanır. Sonuç yeni matristir; girdiler değişmez.

CODESCRIPT
a = matrixNew(2, 2, 1)
b = matrixNew(2, 2, 2)
s = matrixAdd(a, b)
plot(matrixGet(s, 0, 0))

1+2 = 3 (her hücre).

matrixAddCol(m, i?, dizi?)

Değer döndürmez (na); matrisi yerinde bir sütun büyütür.

matris
matrix
Sütun eklenecek matris.
i
number
Eklenecek konum (isteğe bağlı); verilmezse sona eklenir. Aralık dışıysa 0..sütun aralığına çekilir.
dizi
array
Sütun değerlerini taşıyan dizi (isteğe bağlı); satır sayısından kısaysa 0 ile doldurulur.
NOT

Diziyi verilen konuma sütun olarak sokar ve sütun sayısını artırır. Matris boşsa (0 satır) eklenen sütunun uzunluğu satır sayısını belirler.

CODESCRIPT
m = matrixNew(2, 1, 1)
matrixAddCol(m, 1, arrayFrom(7, 8))
plot(matrixGet(m, 0, 1))

Sona eklenen sütunun ilk hücresi 7.

matrixAddRow(m, i?, dizi?)

Değer döndürmez (na); matrisi yerinde bir satır büyütür.

matris
matrix
Satır eklenecek matris.
i
number
Eklenecek konum (isteğe bağlı); verilmezse sona eklenir. Aralık dışıysa 0..satır aralığına çekilir.
dizi
array
Satır değerlerini taşıyan dizi (isteğe bağlı); sütun sayısından kısaysa 0 ile doldurulur, uzunsa kırpılır.
NOT

Diziyi verilen konuma satır olarak sokar ve satır sayısını artırır. Matris boşsa (0 sütun) ilk eklenen satırın uzunluğu sütun sayısını belirler.

CODESCRIPT
m = matrixNew(1, 2, 1)
matrixAddRow(m, 1, arrayFrom(7, 8))
plot(matrixGet(m, 1, 0))

Sona eklenen satırın ilk hücresi 7.

matrixAvg(matris)

Bütün hücrelerin aritmetik ortalaması; matris boşsa ya da matris değilse na.

matris
matrix
Ortalaması alınacak matris.
NOT

Toplamı hücre sayısına böler. Boş matriste na döner (0 değil); sonucu na() ile koru.

CODESCRIPT
m = matrixNew(2, 2, 4)
plot(matrixAvg(m))

Tüm hücreler 4 → ortalama 4.

matrixCol(matris, j)

j. sütunun değerlerini taşıyan dizi; indeks sınır dışıysa boş dizi.

matris
matrix
Sütunu alınacak matris.
j
number
Sütun indeksi; 0 ilk sütundur.
NOT

Sütunu yukarıdan aşağıya dizi olarak toplar. Dönen dizi kopyadır; matrisi etkilemez.

CODESCRIPT
m = matrixNew(3, 2, 5)
c = matrixCol(m, 1)
plot(arraySize(c))

1. sütun 3 elemanlı.

matrixCols(matris)

Matristeki sütun sayısı; matris değilse 0.

matris
matrix
Ölçülecek matris.
NOT

Sütunlar üzerinde döngü sınırı için kullanılır. matrixColumns aynı işi yapan ikinci addır.

CODESCRIPT
m = matrixNew(3, 2, 0)
plot(matrixCols(m))

2 sütun.

matrixColumns(m)

Matristeki sütun sayısı; matris değilse 0.

matris
matrix
Ölçülecek matris.
NOT

matrixCols ile birebir aynı sonucu verir — okunurluk için sağlanan ikinci addır.

CODESCRIPT
m = matrixNew(3, 4, 0)
plot(matrixColumns(m))

4 sütun.

matrixConcat(m1, m2)

m1'in satırlarının altına m2'nin satırları eklenmiş yeni matris.

m1
matrix
Üstteki matris.
m2
matrix
Alta eklenecek matris; sütun sayısı m1 ile aynı olmalı.
NOT

Dikey birleştirme yapar (satırları alt alta ekler). Sonuç yeni matristir; girdiler değişmez.

CODESCRIPT
a = matrixNew(1, 2, 1)
b = matrixNew(2, 2, 2)
c = matrixConcat(a, b)
plot(matrixRows(c))

1 satır + 2 satır → 3 satır.

matrixCopy(matris)

Kaynağın bağımsız (derin) bir kopyası; matris değilse boş 0×0 matris.

matris
matrix
Kopyalanacak matris.
NOT

Kopya asıldan tümüyle ayrıdır; birini değiştirmek diğerini etkilemez. Bir matrisi bozmadan üzerinde denemek için kullanılır.

CODESCRIPT
m = matrixNew(2, 2, 1)
c = matrixCopy(m)
matrixSet(c, 0, 0, 9)
plot(matrixGet(m, 0, 0))

Kopya değişse de asıl [0,0] hâlâ 1.

matrixDet(matris)

Matrisin determinantı (tek sayı); kare değilse ya da matris değilse na. Tekil (tersi olmayan) matriste 0 döner.

matris
matrix
Determinantı alınacak kare matris.
NOT

Kısmi pivotlu eleme ile hesaplanır. Determinantın 0 olması matrisin tersinin olmadığını (satır/sütunların bağımlı olduğunu) gösterir.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 0, 0, 2)
matrixSet(m, 1, 1, 3)
plot(matrixDet(m))

Köşegen 2,3 → determinant 6.

matrixDiff(m1, m2)

m1'den m2'nin çıkarıldığı yeni matris.

m1
matrix
Kendisinden çıkarılacak matris.
m2
matrix
Çıkarılacak matris (aynı boyut) ya da her hücreden çıkarılacak tek sayı.
NOT

İkinci argüman matris ise hücre hücre çıkarma yapılır; tek sayı ise o sayı bütün hücrelerden çıkarılır. Sonuç yeni matristir.

CODESCRIPT
a = matrixNew(2, 2, 5)
b = matrixNew(2, 2, 2)
d = matrixDiff(a, b)
plot(matrixGet(d, 0, 0))

5-2 = 3 (her hücre).

matrixEigenvalues(m)

Öz-değerleri büyükten küçüğe sıralı taşıyan dizi; kare değilse ya da boşsa boş dizi.

matris
matrix
Öz-değerleri alınacak kare (simetrik) matris.
NOT

Simetrik matrisler için Jacobi yöntemiyle hesaplanır. Öz-değerler matrisin köşegen değerlerini (temel eksenlerdeki büyüklüğü) verir.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 0, 0, 2)
matrixSet(m, 1, 1, 3)
ev = matrixEigenvalues(m)
plot(arrayGet(ev, 0))

Köşegen 2,3 → en büyük öz-değer 3.

matrixEigenvectors(m)

Sütunları öz-vektörler olan yeni matris; kare değilse ya da boşsa boş matris.

matris
matrix
Öz-vektörleri alınacak kare (simetrik) matris.
NOT

Simetrik matrisler için Jacobi yöntemiyle hesaplanır; sonuç matrisinin her sütunu bir öz-vektördür ve matrixEigenvalues sırasıyla eşleşir.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 0, 0, 2)
matrixSet(m, 1, 1, 3)
v = matrixEigenvectors(m)
plot(matrixRows(v))

2×2 simetrik → öz-vektör matrisi 2 satırlı.

matrixElementsCount(m)

Toplam hücre sayısı (satır × sütun); matris değilse 0.

matris
matrix
Sayılacak matris.
NOT

İstatistik fonksiyonlarına (matrixAvg, matrixMedian) girmeden önce matrisin dolu olup olmadığını denetlemek için kullanışlıdır.

CODESCRIPT
m = matrixNew(2, 3, 0)
plot(matrixElementsCount(m))

2×3 = 6 hücre.

matrixFill(matris, değer)

Değer döndürmez (na); matrisin bütün hücrelerini yerinde değere eşitler.

matris
matrix
Doldurulacak matris.
değer
number
Tüm hücrelere yazılacak değer; sayı değilse 0.
NOT

Boyutu değiştirmez, yalnız içeriği tek değerle ezer. Bir matrisi yeniden kullanmadan önce sıfırlamanın hızlı yoludur.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixFill(m, 3)
plot(matrixSum(m))

Dört hücre 3 → toplam 12.

matrixGet(matris, i, j)

i. satır, j. sütundaki hücre değeri; indeks sınır dışıysa na döner (hata vermez).

matris
matrix
Okunacak matris.
i
number
Satır indeksi; 0 ilk satırdır.
j
number
Sütun indeksi; 0 ilk sütundur.
NOT

Satır ve sütun 0'dan başlar. Sınır dışı indekste çökmez, na verir; sonucu na() ile kontrol edebilirsin.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 0, 1, 9)
plot(matrixGet(m, 0, 1))

0. satır 1. sütuna yazılan 9 okunur.

matrixInv(matris)

Matrisin tersi (yeni matris); kare değilse ya da tekil (tersi yok) ise na.

matris
matrix
Tersi alınacak kare matris.
NOT

Gauss-Jordan eleme ile hesaplanır. Tersle çarpım birim matrisi verir. Determinantı 0 olan matrisin tersi yoktur; bu durumda na döner.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 0, 0, 4)
matrixSet(m, 1, 1, 4)
inv = matrixInv(m)
plot(matrixGet(inv, 0, 0))

Köşegen 4 → ters köşegen 0.25.

matrixIsAntidiagonal(m)

Kare ve karşı köşegen (i+j = n-1) dışındaki bütün hücreleri 0 ise true; aksi hâlde false.

matris
matrix
Denetlenecek matris.
NOT

Karşı köşegen sağ-üstten sol-alta uzanan köşegendir; bu denetim yalnız o köşegenin dolu olabileceğini doğrular.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 0, 1, 3)
matrixSet(m, 1, 0, 4)
plot(matrixIsAntidiagonal(m) ? 1 : 0)

Yalnız karşı köşegen dolu → 1 (evet).

matrixIsAntisymmetric(m)

Kare ve her hücre karşısının negatifine eşitse (m[i][j] = -m[j][i]) true; aksi hâlde false.

matris
matrix
Denetlenecek matris.
NOT

Ters-simetrik matriste köşegen zorunlu olarak 0'dır (çünkü m[i][i] = -m[i][i] ancak 0 için geçerlidir).

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 0, 1, 3)
matrixSet(m, 1, 0, -3)
plot(matrixIsAntisymmetric(m) ? 1 : 0)

Köşegen 0, karşılıklar zıt işaretli → 1.

matrixIsBinary(m)

Bütün hücreler yalnız 0 ya da 1 ise true, aksi hâlde false.

matris
matrix
Denetlenecek matris.
NOT

Bağlantı/komşuluk matrisi gibi 0-1 içermesi gereken yapıları doğrulamak için kullanılır.

CODESCRIPT
m = matrixNew(2, 2, 1)
plot(matrixIsBinary(m) ? 1 : 0)

Tüm hücreler 1 → 1 (evet).

matrixIsDiagonal(m)

Kare ve köşegen dışındaki bütün hücreleri 0 ise true; aksi hâlde false.

matris
matrix
Denetlenecek matris.
NOT

Köşegen değerleri herhangi bir sayı olabilir; koşul yalnız köşegen dışının 0 olmasıdır.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 0, 0, 5)
matrixSet(m, 1, 1, 7)
plot(matrixIsDiagonal(m) ? 1 : 0)

Yalnız köşegen dolu → 1 (evet).

matrixIsIdentity(m)

Kare, köşegeni 1 ve köşegen dışı hücreleri 0 ise true; aksi hâlde false.

matris
matrix
Denetlenecek matris.
NOT

Birim matris çarpımda etkisiz elemandır (m × birim = m). Bu denetim bir matrisin birim olup olmadığını söyler.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 0, 0, 1)
matrixSet(m, 1, 1, 1)
plot(matrixIsIdentity(m) ? 1 : 0)

Köşegen 1, gerisi 0 → 1 (evet).

matrixIsSquare(m)

Satır sayısı sütun sayısına eşitse true, değilse false.

matris
matrix
Denetlenecek matris.
NOT

Kare-gerektiren fonksiyonlardan (determinant, ters, kuvvet, iz) önce güvenlik denetimi olarak kullanılır.

CODESCRIPT
m = matrixNew(3, 3, 0)
plot(matrixIsSquare(m) ? 1 : 0)

3×3 kare → 1 (evet).

matrixIsStochastic(m)

Her satırın toplamı 1 ise (küçük yuvarlama payıyla) true; aksi hâlde false.

matris
matrix
Denetlenecek matris.
NOT

Satır-stokastik denetimidir; kare olma şartı yoktur, yalnız satır toplamları 1 olmalıdır. Geçiş (Markov) matrislerini doğrulamak için kullanılır.

CODESCRIPT
m = matrixNew(2, 2, 0.5)
plot(matrixIsStochastic(m) ? 1 : 0)

Her satır 0.5+0.5 = 1 → 1 (evet).

matrixIsSymmetric(m)

Kare ve devriğine eşitse (m[i][j] = m[j][i]) true; aksi hâlde false.

matris
matrix
Denetlenecek matris.
NOT

Simetrik matris köşegene göre aynadır. Kovaryans ve korelasyon matrisleri simetriktir; öz-değer fonksiyonları bu tür matrisler için tasarlanmıştır.

CODESCRIPT
m = matrixNew(2, 2, 5)
plot(matrixIsSymmetric(m) ? 1 : 0)

Tüm hücreler eşit → simetrik → 1.

matrixIsTriangular(m)

Kare ve alt-üçgen ya da üst-üçgen ise true (köşegenin bir yanı tümüyle 0); aksi hâlde false.

matris
matrix
Denetlenecek matris.
NOT

Üst-üçgende köşegenin altı, alt-üçgende üstü sıfırdır. İkisinden biri sağlanırsa üçgen kabul edilir.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 0, 0, 1)
matrixSet(m, 0, 1, 2)
matrixSet(m, 1, 1, 3)
plot(matrixIsTriangular(m) ? 1 : 0)

Köşegen altı 0 → üst-üçgen → 1.

matrixIsZero(m)

Bütün hücreler 0 ise true, biri bile sıfırdan farklıysa false.

matris
matrix
Denetlenecek matris.
NOT

Bir hesabın matrise değer yazıp yazmadığını denetlemek için kullanılabilir.

CODESCRIPT
m = matrixNew(2, 2, 0)
plot(matrixIsZero(m) ? 1 : 0)

Tüm hücreler 0 → 1 (evet).

matrixKron(m1, m2)

İki matrisin Kronecker çarpımı; boyutu (m1.satır×m2.satır) × (m1.sütun×m2.sütun) olan yeni matris.

m1
matrix
Soldaki matris.
m2
matrix
Sağdaki matris.
NOT

m1'in her hücresi m2'nin tümüyle çarpılıp blok blok yerleştirilir. Sonuç ikisinin boyutlarının çarpımı kadar büyür.

CODESCRIPT
a = matrixNew(2, 2, 1)
b = matrixNew(2, 2, 1)
k = matrixKron(a, b)
plot(matrixRows(k))

2×2 ⊗ 2×2 → 4×4, satır sayısı 4.

matrixMax(m)

Bütün hücreler içindeki en büyük değer; matris boşsa ya da matris değilse na.

matris
matrix
En büyüğü aranan matris.
NOT

Satır/sütun ayrımı yapmadan tüm hücreleri karşılaştırır.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 1, 1, 8)
plot(matrixMax(m))

Hücrelerden biri 8 → en büyük 8.

matrixMedian(m)

Bütün hücrelerin ortanca (medyan) değeri; hücre sayısı çiftse ortadaki iki değerin ortalaması. Boşsa na.

matris
matrix
Ortancası alınacak matris.
NOT

Tüm hücreler sıralanır, ortadaki değer alınır. Ortanca, aykırı değerlerden ortalamaya göre daha az etkilenir.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 0, 0, 1)
matrixSet(m, 0, 1, 2)
matrixSet(m, 1, 0, 3)
matrixSet(m, 1, 1, 4)
plot(matrixMedian(m))

1,2,3,4 → ortadaki ikisinin ortalaması 2.5.

matrixMin(m)

Bütün hücreler içindeki en küçük değer; matris boşsa ya da matris değilse na.

matris
matrix
En küçüğü aranan matris.
NOT

Satır/sütun ayrımı yapmadan tüm hücreleri karşılaştırır.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 0, 0, -5)
plot(matrixMin(m))

Hücrelerden biri -5 → en küçük -5.

matrixMode(m)

En sık yinelenen hücre değeri; birden fazla değer aynı sıklıktaysa en küçüğü. Boşsa na.

matris
matrix
Tepe değeri aranan matris.
NOT

Aynı sıklıkta birden çok değer varsa en küçük değer seçilir (kararlı, deterministik sonuç).

CODESCRIPT
m = matrixNew(2, 2, 1)
matrixSet(m, 0, 0, 5)
plot(matrixMode(m))

Üç adet 1, bir adet 5 → tepe değer 1.

matrixMult(a, b)

a×b matris çarpımı; boyutu a.satır × b.sütun olan yeni matris.

a
matrix
Soldaki matris (satır×orta).
b
matrix
Sağdaki matris; satır sayısı a'nın sütun sayısına eşit olmalı.
NOT

Gerçek matris çarpımıdır (hücre hücre değil): sonuç[i][j] = a'nın i. satırı ile b'nin j. sütununun nokta çarpımı.

CODESCRIPT
a = matrixNew(2, 2, 0)
matrixSet(a, 0, 0, 1)
matrixSet(a, 1, 1, 1)
b = matrixNew(2, 2, 5)
p = matrixMult(a, b)
plot(matrixGet(p, 0, 0))

Birim matris × b = b → [0,0] = 5.

matrixNew(satır, sütun, başlangıç?)

satır×sütun boyutunda, tüm hücreleri başlangıç değerine eşit yeni bir matris.

satır
number
Oluşturulacak matrisin satır sayısı; negatif verilirse 0'a çekilir.
sütun
number
Sütun sayısı; negatif verilirse 0'a çekilir.
başlangıç
number
Her hücrenin başlangıç değeri (isteğe bağlı). Verilmez ya da sayı değilse 0 kullanılır.
NOT

Matris satır ve sütunlardan oluşan iki boyutlu sayı ızgarasıdır; diğer tüm matrix fonksiyonları bununla üretilen nesneyi bekler.

CODESCRIPT
m = matrixNew(2, 3, 0)
plot(matrixElementsCount(m))

2×3 = 6 hücreli boş matris.

CODESCRIPT
m = matrixNew(2, 2, 5)
plot(matrixSum(m))

Dört hücre de 5 → toplam 20.

matrixPinv(m)

Matrisin sözde-tersi (Moore-Penrose sol-ters); (mᵀm) tersi alınamıyorsa na.

matris
matrix
Sözde-tersi alınacak matris.
NOT

(mᵀm)⁻¹mᵀ ile hesaplanır; kare olmayan ya da tam-tersi olmayan matrislerde en-küçük-kareler çözümü verir. Kare ve tersi olan matriste sonuç normal tersle aynıdır.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 0, 0, 2)
matrixSet(m, 1, 1, 4)
p = matrixPinv(m)
plot(matrixGet(p, 0, 0))

Köşegen 2 → sözde-ters köşegen 0.5.

matrixPow(m, n)

Matrisin n. kuvveti (matris×matris çarpımı n kez); yeni matris.

matris
matrix
Kuvveti alınacak kare matris.
n
number
Üs (tam sayı); negatifse 0 kabul edilir. 0 birim matris verir.
NOT

Matrisi kendisiyle n kez çarpar (sıradan sayı üssü değil). n=0'da birim matris, n=1'de matrisin kendisi döner.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 0, 0, 2)
matrixSet(m, 1, 1, 3)
p = matrixPow(m, 2)
plot(matrixGet(p, 0, 0))

Köşegen 2 → kare 4.

matrixRank(m)

Matrisin rankı (bağımsız satır/sütun sayısı); matris değilse 0.

matris
matrix
Rankı hesaplanacak matris.
NOT

Eleme ile hesaplanır. Rank, satır ya da sütun sayısından küçükse matriste bağımlılık (fazlalık) vardır ve tersi yoktur.

CODESCRIPT
m = matrixNew(2, 2, 5)
plot(matrixRank(m))

Bütün satırlar aynı → rank 1.

matrixRemoveCol(m, i)

Çıkarılan sütunun değerlerini taşıyan dizi; indeks sınır dışıysa boş dizi.

matris
matrix
Sütunu çıkarılacak matris.
i
number
Çıkarılacak sütun indeksi.
NOT

Sütunu matristen siler (sütun sayısı bir azalır) ve o sütunu dizi olarak döndürür. Yerinde değiştirir.

CODESCRIPT
m = matrixNew(2, 3, 0)
matrixSet(m, 0, 1, 5)
c = matrixRemoveCol(m, 1)
plot(arrayGet(c, 0))

Çıkarılan 1. sütunun ilk değeri 5.

matrixRemoveRow(m, i)

Çıkarılan satırın değerlerini taşıyan dizi; indeks sınır dışıysa boş dizi.

matris
matrix
Satırı çıkarılacak matris.
i
number
Çıkarılacak satır indeksi.
NOT

Satırı matristen siler (satır sayısı bir azalır) ve o satırı dizi olarak döndürür. Yerinde değiştirir.

CODESCRIPT
m = matrixNew(3, 2, 0)
matrixSet(m, 1, 0, 9)
r = matrixRemoveRow(m, 1)
plot(arrayGet(r, 0))

Çıkarılan 1. satırın ilk değeri 9.

matrixReshape(m, satır, sütun)

Aynı hücreleri yeni satır×sütun düzenine yerleştiren yeni matris.

matris
matrix
Yeniden biçimlendirilecek matris.
satır
number
Yeni satır sayısı.
sütun
number
Yeni sütun sayısı.
NOT

Hücreler satır-öncelikli okunup yeni biçime doldurulur. Yeni boyut daha büyükse eksik hücreler 0 olur; daha küçükse fazla hücreler atılır. Kaynağı değiştirmez.

CODESCRIPT
m = matrixNew(2, 3, 4)
r = matrixReshape(m, 3, 2)
plot(matrixRows(r))

2×3 (6 hücre) → 3×2, satır sayısı 3.

matrixReverse(m)

Değer döndürmez (na); satır ve sütun sırasını yerinde tersine çevirir.

matris
matrix
Tersine çevrilecek matris.
NOT

Hem satırların hem de her satır içindeki hücrelerin sırasını ters çevirir; ilk hücre ile son hücre yer değiştirir (180° dönme etkisi). Yerinde değiştirir.

CODESCRIPT
m = matrixNew(1, 3, 0)
matrixSet(m, 0, 0, 1)
matrixSet(m, 0, 2, 3)
matrixReverse(m)
plot(matrixGet(m, 0, 0))

[1,0,3] → ters [3,0,1], ilk hücre 3.

matrixRow(matris, i)

i. satırın bir kopyasını taşıyan dizi; indeks sınır dışıysa boş dizi.

matris
matrix
Satırı alınacak matris.
i
number
Satır indeksi; 0 ilk satırdır.
NOT

Dönen dizi bir kopyadır; onu değiştirmek asıl matrisi etkilemez. Boş sonuç arraySize ile 0 döner.

CODESCRIPT
m = matrixNew(2, 3, 4)
r = matrixRow(m, 0)
plot(arraySum(r))

0. satır [4,4,4] → toplam 12.

matrixRows(matris)

Matristeki satır sayısı; matris değilse 0.

matris
matrix
Ölçülecek matris.
NOT

Satırlar üzerinde döngü kurmadan önce sınırı bilmek için kullanılır. Sütun sayısı için matrixCols.

CODESCRIPT
m = matrixNew(3, 2, 0)
plot(matrixRows(m))

3 satır.

matrixSet(matris, i, j, değer)

Değer döndürmez (na); matrisi yerinde değiştirir.

matris
matrix
Değiştirilecek matris.
i
number
Yazılacak satır indeksi.
j
number
Yazılacak sütun indeksi.
değer
number
Hücreye konacak değer; sayı değilse 0 yazılır.
NOT

Var olan bir hücreyi günceller; matrisi büyütmez. İndeks sınır dışıysa sessizce hiçbir şey yapmaz. Yeni satır/sütun eklemek için matrixAddRow/matrixAddCol kullan.

CODESCRIPT
m = matrixNew(2, 2, 0)
matrixSet(m, 1, 1, 7)
plot(matrixGet(m, 1, 1))

Sağ alt hücre 7 yapılır.

matrixSort(m, sütun, artan?)

Değer döndürmez (na); matrisin satırlarını yerinde sıralar.

matris
matrix
Sıralanacak matris.
sütun
number
Sıralama ölçütü sütun indeksi.
artan
bool
true → artan (küçükten büyüğe), false → azalan (isteğe bağlı, varsayılan artan).
NOT

Satırlar, seçilen sütundaki değere göre bütün olarak yeniden dizilir (her satır kendi içinde bozulmaz). Sütun indeksi geçersizse hiçbir şey yapmaz.

CODESCRIPT
m = matrixNew(2, 1, 0)
matrixSet(m, 0, 0, 5)
matrixSet(m, 1, 0, 1)
matrixSort(m, 0, true)
plot(matrixGet(m, 0, 0))

Artan sıralama → en küçük (1) başa gelir.

matrixSubmatrix(m, r1, r2, c1, c2)

[r1, r2) satırları ve [c1, c2) sütunlarından oluşan yeni matris.

matris
matrix
Alt matrisi alınacak matris.
r1
number
Başlangıç satırı (dahil).
r2
number
Bitiş satırı (hariç).
c1
number
Başlangıç sütunu (dahil).
c2
number
Bitiş sütunu (hariç).
NOT

Bitiş indeksleri hariçtir (r2 ve c2 dahil değildir). Kaynağı değiştirmez; kesilen bölgenin kopyasını verir.

CODESCRIPT
m = matrixNew(3, 3, 0)
matrixSet(m, 1, 1, 5)
s = matrixSubmatrix(m, 1, 2, 1, 2)
plot(matrixGet(s, 0, 0))

Ortadaki tek hücre (5) alınır.

matrixSum(matris)

Bütün hücrelerin toplamı; matris değilse 0.

matris
matrix
Toplanacak matris.
NOT

Satır ve sütun ayrımı yapmadan tüm değerleri toplar. Boş matriste 0 verir.

CODESCRIPT
m = matrixNew(2, 2, 2.5)
plot(matrixSum(m))

Dört hücre 2.5 → toplam 10.

matrixSwapColumns(m, i, j)

Değer döndürmez (na); i. ve j. sütunları yerinde yer değiştirir.

matris
matrix
Sütunları değiştirilecek matris.
i
number
Birinci sütun indeksi.
j
number
İkinci sütun indeksi.
NOT

İki sütunu bütün olarak takas eder. İndekslerden biri sınır dışıysa hiçbir şey yapmaz.

CODESCRIPT
m = matrixNew(1, 2, 0)
matrixSet(m, 0, 0, 1)
matrixSet(m, 0, 1, 2)
matrixSwapColumns(m, 0, 1)
plot(matrixGet(m, 0, 0))

Sütunlar takas → [0,0] artık 2.

matrixSwapRows(m, i, j)

Değer döndürmez (na); i. ve j. satırları yerinde yer değiştirir.

matris
matrix
Satırları değiştirilecek matris.
i
number
Birinci satır indeksi.
j
number
İkinci satır indeksi.
NOT

İki satırı bütün olarak takas eder. İndekslerden biri sınır dışıysa hiçbir şey yapmaz.

CODESCRIPT
m = matrixNew(2, 1, 0)
matrixSet(m, 0, 0, 1)
matrixSet(m, 1, 0, 2)
matrixSwapRows(m, 0, 1)
plot(matrixGet(m, 0, 0))

Satırlar takas → [0,0] artık 2.

matrixTrace(matris)

Ana köşegen (i==j) hücrelerinin toplamı; matris değilse 0.

matris
matrix
İzi alınacak matris.
NOT

Kare olmayan matriste kısa kenar kadar köşegeni toplar. İz, matrisin köşegen enerjisini tek sayıya indirir.

CODESCRIPT
m = matrixNew(3, 3, 0)
matrixSet(m, 0, 0, 1)
matrixSet(m, 1, 1, 2)
matrixSet(m, 2, 2, 3)
plot(matrixTrace(m))

Köşegen 1+2+3 = 6.

matrixTranspose(matris)

Satır ve sütunları yer değiştirmiş yeni matris (sütun×satır boyutunda).

matris
matrix
Devriği alınacak matris.
NOT

Kaynağı değiştirmez, yeni matris döner. i. satır j. sütun, çıktıda j. satır i. sütun olur.

CODESCRIPT
m = matrixNew(2, 3, 0)
t = matrixTranspose(m)
plot(matrixRows(t))

2×3 → devrik 3×2, satır sayısı 3.