İleri Yapı Statiği – Kiriş Teorisi Matlab - 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.
İleri Yapı Statiği – Kiriş Teorisi
Matlab - Giriş(İleri Yapı Statiği – II. Kısım)
Doç. Dr. Özgür ÖzçelikDokuz Eylül Üniversitesi, Müh. Fak., İnşaat Müh. Böl.
İleri Yapı Statiği – Kiriş Teorisi
MatlabMatrisler 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 Matlab’le inceleyelim
İleri Yapı Statiği – Kiriş Teorisi
MatlabMatrislerin Girilmesi - 1
Matlab’e matrisler birçok yolla tanıtılabilir:
� Direkt elemanlar girilerek,
� Dışarıdan bir dosyadan yüklenerek,
� Built-in Matlab 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.
İleri Yapı Statiği – Kiriş Teorisi
MatlabMatrislerin Girilmesi - 2
� Matlab bunu komut olarak anlayacak ve aşağıdaki sonucu verecek:
� sum() komutu:
Sonucu herhangi bir değişkene atamazsanız Matlab bunu ans değişkenine atar, ans değişkeni her defasında değişir!
İleri Yapı Statiği – Kiriş Teorisi
MatlabMatrislerin Girilmesi - 4
� diag() komutu - diyagonal:
� Anti-diyagonalin elde edilmesi: Matlab’de bunun için direkt bir komut yoktur, ancak aşağıdaki şekilde bu kolaylıkla bulunur.
Matrislerle işlemler son derece kolay!
İleri Yapı Statiği – Kiriş Teorisi
MatlabMatrisler Ü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,
İleri Yapı Statiği – Kiriş Teorisi
MatlabMatrisler Ü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 Matlab’de “dynamic sizing” özelliği denir.
İleri Yapı Statiği – Kiriş Teorisi
MatlabKolon Operatörü - 1
� Matlab’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
İleri Yapı Statiği – Kiriş Teorisi
MatlabKolon 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:
İleri Yapı Statiği – Kiriş Teorisi
MatlabMagic 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.
İleri Yapı Statiği – Kiriş Teorisi
Matlabmagic() Fonksiyonu
� Matlab’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:
İleri Yapı Statiği – Kiriş Teorisi
Matlab3 Boyutlu Matrisler
� Matlab’de programlama işini kolaylaştıran üç boyutlu matris oluşturma özelliği vardır:
İleri Yapı Statiği – Kiriş Teorisi
MatlabMatris Türeten Fonksiyonlar
� Aşağıda Matlab’de istenilen boyutta ve özellikte matris türeten built-in fonksiyonlar
verilmiştir:
� zeros() fonksiyonu:
İleri Yapı Statiği – Kiriş Teorisi
MatlabMatris Türeten Fonksiyonlar
� ones() fonksiyonu:
� rand() ve randn() fonksiyonu:
İleri Yapı Statiği – Kiriş Teorisi
MatlabMatrislerin Birleştirilmesi - Concatenation
� Küçük matrisleri birleştirerek, büyük matrisler oluşturma işlemine denir:
İleri Yapı Statiği – Kiriş Teorisi
MatlabMatrislerden Satır veya Kolon Silinmesi
� Matrislerden aşağıdaki gibi satır/kolon silinebilir:
İleri Yapı Statiği – Kiriş Teorisi
MatlabLineer Cebir - 2
� Determinant:
Singular olduğunu göstermekte!
� Matris tersi:
veya X = A^-1
� Özdeğer hesabı:
İleri Yapı Statiği – Kiriş Teorisi
Matlabİ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 leastsquares solution with the smallest norm .
İleri Yapı Statiği – Kiriş Teorisi
Matlabİki Boyutlu Vektörler (Arrays) - 3
� Sayı tablosu oluşturma:
İleri Yapı Statiği – Kiriş Teorisi
MatlabFor – Next Döngüleri
Pseudo-Matlab ProgramıSistem Rijitlik Matrisinin Oluşturulması
for n = 1:Nelfor i = 1:6
for j = 1:6if ((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
endend
end
Nested for Loops!
Bir sonraki derste “ID ARRAY” karvaramına bakacağız ve programlama işlemlerine gececeğiz…