- Giriş (İleri Yapı Statiği II. Kısım) Doç. Dr. Özgür Özçelik Dokuz Eylül Üniversitesi, Müh. Fak., İnşaat Müh. Böl.
Matrisler Hakkında Alman amatör matematikçi Albrecht Dürer in (1471-1528) Rönesans Gravürü Melencolia I adlı eserinden, matematiksel sembollerle dolu br çalışması, içide bir de tabi ki matris var! Magic Square (15-14) Bu matrisin bazı özelliklerini le inceleyelim
Matrislerin Girilmesi - 1 e matrisler birçok yolla tanıtılabilir: Direkt elemanlar girilerek, Dışarıdan bir dosyadan yüklenerek, Built-in fonksiyonları kullanılarak, Kendi yazdığınız fonksiyonları kullanarak. Dürer in matrisinden başlarsak: Satır elemanları bir boşlukla yazılır, Noktalı virgüller satırların bittiği belirtilir, Tüm sayı listesi, [] parantezleri i içine alınır.
Matrislerin Girilmesi - 2 bunu komut olarak anlayacak ve aşağıdaki sonucu verecek: sum() komutu: Sonucu herhangi bir değişkene atamazsanız bunu ans değişkenine atar, ans değişkeni her defasında değişir!
Matrislerin Girilmesi - 3 Transpoze komutu:
Matrislerin Girilmesi - 4 diag() komutu - diyagonal: Anti-diyagonalinelde edilmesi: de bunun için direkt bir komut yoktur, ancak aşağıdaki şekilde bu kolaylıkla bulunur. Matrislerle işlemler son derece kolay!
Matrisler Üzerinde İndislerle İşlemler - 1 A(i,j): A matrisinin i. satırı ve j. kolonu anlamına gelmektedir. A(4,2) = 15 (4. satır, 2. kolon elemanı) A matrisinin boyutlarından büyük bir elemana referans yaparsanız: A(4,5) gibi, bu durumda çok sık karşılaşılan aşağıdaki hata durumuyla karşılaşırsınız,
Matrisler Üzerinde İndislerle İşlemler - 2 Tersi durumda A matrisinin boyutlarından büyük bir elemana yeni bir sayı atarsanız: Şeklinde bir X matrisi elde edersiniz! Buna de dynamic sizing özelliği denir.
Kolon Operatörü -1 de kolon operatörü : en önemli operatörlerden biridir. Birden farklı formda kullanılır Eşit aralıklar istemezseniz: ve bir başka örnek
Kolon Operatörü -2 Kolon op. içeren indisli ifadeler, matrisin belli bir bölümünü refere eder: j kolonunun İlk k satırı gibi Bu toplama işlemini yapmanın daha iyi bir yolu vardır:
Magic Square Neden 4X4 lük Magic Square matrisinin toplamları her zaman 34 eder? Çünkü 1 den 16 ya kadar tam sayıları, toplamları birbirine eşit 4 gruba ayırırsanız, toplamları 34 etmek zorundadır.
magic() Fonksiyonu de built-in magic() fonksiyonu vardır, ve hemen hemen istenilen her boyutta magic matrisler türetir: Bu Dürer in matrisiyle hemen hemen aynıdır. Tek fark, ortadaki iki kolonun yerleri değişiktir. Bunu Dürer in matrisiyle aynı yapmak için:
3 Boyutlu Matrisler de programlama işini kolaylaştıran üç boyutlu matris oluşturma özelliği vardır:
Matris Türeten Fonksiyonlar Aşağıda de istenilen boyutta ve özellikte matris türeten built-in fonksiyonlar verilmiştir: zeros() fonksiyonu:
Matris Türeten Fonksiyonlar ones() fonksiyonu: rand() ve randn() fonksiyonu:
Matrislerin Birleştirilmesi - Concatenation Küçük matrisleri birleştirerek, büyük matrisler oluşturma işlemine denir:
Matrislerden Satır veya Kolon Silinmesi Matrislerden aşağıdaki gibi satır/kolon silinebilir:
Lineer Cebir -1 Toplama: Çarpma:
Lineer Cebir -2 Determinant: Singular olduğunu göstermekte! Matris tersi: veya X = A^-1 Özdeğer hesabı:
İki Boyutlu Vektörler (Arrays) - 1 Aritmetik operasyonlar: ÖNEMLİ! Note: Backslash or matrix left division. If A is a square matrix, A\B is roughly the same as inv(a)*b, except it is computed in a different way. If A is an n-by-n matrix and B is a column vector with n components, or a matrix with several such columns, then X = A\B is the solution to the equation AX = B computed by Gaussian elimination. A warning message is displayed if A is badly scaled or nearly singular. See the reference page for mldivide for more information. If A is an m-by-n matrix with m ~= n and B is a column vector with m components, or a matrix with several such columns, then X = A\B is the solution in the least squares sense to the under-or overdetermined system of equations AX = B. The effective rank, k, of A is determined from the QR decomposition with pivoting (see Algorithm for details). A solution X is computed that has at most k nonzero components per column. If k < n, this is usually not the same solution as pinv(a)*b, which is the least squares solution with the smallest norm.
İki Boyutlu Vektörler (Arrays) - 2 Eleman-eleman çarpma:
İki Boyutlu Vektörler (Arrays) - 3 Sayı tablosu oluşturma:
For Next Döngüleri Pseudo- Programı Sistem Rijitlik Matrisinin Oluşturulması Nested for Loops! forn = 1:Nel fori = 1:6 for j = 1:6 if((id(i,n) ~= 0) & ID(j,n) ~= 0) ) Kff(ID(i,n), ID(j,n)) = Kff(ID(i,n), ID(j,n)) + K_el(i,j,n); end end end end Bir sonraki derste ID ARRAY karvaramına bakacağız ve programlama işlemlerine gececeğiz