26 Haziran 2013 Çarşamba

MATLAB DÖNGÜLER

MATLAB DÖNGÜLER
Bu gün ki yazımızda size Matlab programında Döngüleri anlatacağız.

Matlab Döngüler

İlk olarak,  for döngü  matris üzerinde satır işlemleri için örnekler ve yaklaşık bir ODE için Euler Yöntemi için tartışılmaktadır.For Döngüsü  aşağıdaki, while döngüsü bir gösteri verilir.
Size vektörler ve matrisler oluşturmak ve nasıl onlara endeksi bilmek nasıl üstlenecek.

For Döngüleri

MATLAB DÖNGÜLER

  For Döngüsü bize belirli komutları tekrar sağlar. Eğer önceden belirlenmiş bir şekilde bazı eylemleri tekrarlamak istiyorsanız, for döngüsü  kullanabilirsiniz. Matlab içinde döngü yapılarının tüm bu "için", veya "ise" ve kelime "son" ile hepsi uç olarak bir anahtar kelime ile başlamıştır. 

For döngüsü ifadelerden bazıları kümesi etrafında yazılır ve nerede nerede baştan sona ve Matlab söylemek gerekir.Temel olarak, "için" deyiminde bir vektör vermek ve Matlab vektör her değeri için döngü olacaktır:
Örneğin, basit bir döngü dört kez, j bir döngü değişkeni değişen her sefer gidecek:
 J = 01:04 için >>
    j
 son


 J =

      1


 J =

      2


 J =

      3


 J =

      4

 >>
Matlab "için" denildi zaman bir vektör oluşturur, [01:04], ve j için vektör içinde her değeri alacaktır. Matlab "son" denildi sonra, döngü yürütmek ve tekrar edecektir. Her zaman ifade için j değerini güncelleyecektir ve döngü içinde ifadeleri tekrarlayın. Bu örnekte j her zaman değerini yazdırır.
Başka bir örnek, bir vektör tanımlamak ve daha sonra girişleri değiştirmek. Burada olsa adım ve her bir girişi değiştirin:
 >> V = [01:03:10]

 v =

      1 4 7 10

 J = 01:04 için >>
      v (j) = j;
 son
 >> V

 v =

      1 2 3 4

Not, bu basit bir örnek olduğunu ve nasıl bir döngü işler için size göstermek için güzel bir gösteri olduğunu. Ancak, UYGULAMA BU YAPMAYIN!! Matlab bir dil olması ve böyle bir vektör döngü bir vektör değiştirmek için yavaş şekilde olduğunu. Ilk deyiminde kullanılan gösterim döngü çok daha hızlıdır.
Daha iyi bir örnek, bir matrisin satır işlemleri gerçekleştirmek istediğiniz biridir. : Bir matrisin ikinci sırada 'da başlayacak ve matris bir önceki satır çıkarma ve for döngüsü  kısa sırayla yapabilirsiniz, aşağıdaki satırları bu işlemi tekrarlamak isterseniz
 >> A = [[1 2 3] '[3 2 1] [2 1, 3]']

 A =

      1 2 3
      2 2 1
      3 1 3

 >> B = A;
 J = 02:03 için >>
     A, (j, :) = A, (j, :) - A (J-1, :)
 son

 A =

      1 2 3
      1 -1 -1
      3 1 3


 A =

      1 2 3
      1 -1 -1
      2 2 4

Şimdi döngüler kullanmak ve bir matris üzerinde satır işlemleri gerçekleştirebilirsiniz beri daha gerçekçi Örneğin, Gauss Eliminasyon sadece iki döngüler ve bir ifade kullanılarak yapılabilir:
 J = 02:03 için >>, i = J: 3, B (i :) = B (i :) - B (J-1, :) * B (i, j-1) / B ( j-1, j-1) end end B = 1 3 2 0 -4 -3 3 1 3 B = 1 3 2 0 -4 -3 0 -8 -3 B = 1 3 2 0 -4 -3 0 0 3 
Döngüler kullanışlı Başka bir örnek diferansiyel denklemlerin tahmindir. Aşağıdaki örnek DE y 'yaklaşan = x ^ 2-y ^ 2, y (0) Euler Yöntemi kullanılarak = 1,. İlk olarak, adım boyutu, s, tanımlanır. Bir kez, yapılan ızgara noktaları bulunur, ve bir yaklaşım bulunur. Yaklaşım sadece giriş y (h) x (j) 'de yaklaşım olduğu bir vektör, Y, bir.
 >> S = 0.1;
 >> X = [0: h: 2];
 >> Y = 0 * x;
 >> Y (1) = 1;
 >> Boyutu (x)

 ans =

      1 21

 I = 02:21 için >>
     y (i) = y (I-1) + H * (x (i-1) ^ 2 - Y (I-1) ^ 2);
    son
 >> Arsa (x, y)
 >> Arsa (x, y, 'git')
 >> Arsa (x, y ', go', x, y)

While Döngüler



MATLAB DÖNGÜLER
 Eğer for döngüsü sevmiyorum, ayrıca bir sürü döngü kullanabilirsiniz. Bazı koşul olarak while döngüsü sürece komutları bir dizi tekrarlar. Bu daha verimli bir algoritma için yapabilirsiniz. Önceki örnekte yapmak için zaman adım sayısı 20 daha büyük olabilir. Böyle bir durumda for döngüsü sadece dizin için kullanılan vektör oluştururken çok fazla bellek kullanabilirsiniz. Algoritması uygulanması daha iyi bir yol aynı işlemleri tekrar ama sadece sürece alınan adım sayısı aşağıda bazı eşik. Bu örnekte DE y '= x-| y |, y (0) = 1, Euler Yöntemi kullanılarak yaklaşılır:
 >> H = 0.001;
 >> X = [0: h: 2];
 >> Y = 0 * x;
 >> Y (1) = 1;
 >> I = 1;
 >> Boyutu (x)

 ans =

            1 2001

 >> Max (boyut (x))

 ans =

         2.001

 >> While (i <max (boyut (x)))
      Y (i +1) = y, (i) + H * (x (i)-ABS (y (i)));
      i = i + 1;                         
    son
 >> Arsa (x, y, 'git')
 >> Arsa (x, y)

16 Haziran 2013 Pazar

MATLAB KOMUTLARI

MATLAB komutları

Merhaba arkadaşlar bugünkü yazımda sizlere Matlab Komutları hakkında bir kaç bilgi vereceğim.

Komut Yazma:

"Command Window"'a tıklayarak, MATLAB istemi sonrasında >> , bir komut yazılabilir. `Dönüş 'tuşundan sonra, komut yürütülür ve muhtemelen sonuç ekranda görünür.Örnek bir komut ve sonuç şöyle:

>> A = 1 + 2 + 3
A =6

1 + 2 + 3 sonucu değişkene atanır. Artık ardışık gibi işlemlerde, bu değişkeni kullanabilirsiniz:


 >> B = 2 * a + a / 3
 b =14

MATLAB, değişken bir değer atayarak tanıtılmaktadır. Not, değeri sayısal değerleri, matris (diziler denir), ya da diğer tür olabilir. Bu değişken kullandıktan sonra muhtemelen değişkene yeni bir değer atayabilirsiniz.Bir değer atanmamış değişkenler ile hesaplamalar yapmak mümkün değildir.
Bir komut şeklinde bir atama ile başlamak gerekmez variable = . Böyle bir durumda, sonuç otomatik olarak değişken ans atanır.Sonrasında daha fazla ans kullanabilirsiniz.

 
>> 4 * a + 1
 ans =
     25
 >> Ans * ans
 ans =
     625

Şimdi bir değerini ne olduğunu bilmek istiyorsanız, aşağıdaki komutu yeterlidir:
 >> Bir
 A =
     6
Normalde, MATLAB komutu aşağıdaki çıkışı gösterir. Çıktı bir noktalı virgül ile biten komutu  gösterir. Komut girdikten sonra $ S = 1 + 2 $ , Ekran aşağıdaki gibi görünüyor
 >> S = 1 + 2;
3 değeri S değişkenine  atanmıştır. Bu değişkenin değerini bilmek istiyorsanız, S değeri olarak aşağıda sizin MATLAB pencerenin sol üst, ya da istek üzerine "Çalışma Alanı" penceresinde bakabilirsiniz
 >> S
 s =
     3
Bir komut bir satırdan daha uzun ise, üç nokta ile çizginin biteceği noktadan sonra  `dön 'tuşuna basabilirsiniz. Daha sonra aşağıdaki satırdaki gibi devam edebilirsiniz. Aşağıdaki gibi komutu tamamladıktan sonra, ekranda görünür:
 >> S = 1 + 2 + ...
 3 + 4
 s =
     10

Matematiksel ifadeler

Kelimenin tam anlamıyla matematiksel ifadeler giremezsiniz. Tablo 1.1 - 1.2 matematiksel ifadeler girilebilir nasıl açıkça. Bu tablolarda değişkenler sayı olarak yorumlanmalıdır. 


Tablo 1.1: Standart işlemleri
MATLABStandart
a+b$ A + b $
ab$ A-b $
a*b$ Ab $
a/b$ \ Frac {a} {b} $
a^b$ A ^ b $





Tablo 1.2: Matematiksel işlemler
MATLABStandart
sin(x)$ \ Sin (x) $
sqrt(x)$ \ Sqrt {x} $
cos(x)$ \ Cos (x) $
exp(x)$ E ^ x $
tan(x)$ \ Tan (x) $
log(x)$ \ Ln (x) $
asin(x)$ \ Sin ^ {-1} (x) $
log10(x)$ \ Log_ {10} (x) $
acos(x)$ \ Cos ^ {-1} (x) $
abs(x)$ \ Vert x \ vert $ , Yani mutlak değer $ X $
atan(x)$ \ Tan ^ {-1} (x) $
sign(x)(oturum $ X $ )
mean(x)ortalama ( $ X $ )
std(x)standart sapma min(x)
max(x)max ( $ X $ )
rand(x,y)döner $ X \ kez y $ [0,1] 'de düzgün yayılı rasgele sayılar dizisi, *
randn(x,y)döner $ X \ kez y $ ortalama 0 ve varyans 1 * ile normal dağılım rasgele sayılar dizisi,
round(x)En yakın tam sayıya yuvarlama
floor(x)Küçük tam sayıya yuvarlama
ceil(x)Büyük tam sayıya yuvarlama
* Atlama y verimleri $ X \ kez x $ dizi ve
Belirtilmemesi x, y tek bir numara verir


Not: MATLAB operasyonların sırası standart sipariş: ilk iktidara yükselterek, daha sonra çarpma , bölme ,toplama ve çıkarma. Bu dizi sapma, parantez `('ve') 'örneğin, hesaplama sırasını tanımlamak için kullanılması gereken $ \ Frac {1} {\ exp (3) +1} $ çalıştırarak elde edilir
 1/(exp(3)+1) . 

Kesinti

MATLAB hesaplaması 'ctrl-c `ile kesilebilir. Bundan sonra, yeni bir istemi görüntülenir ve yeni komutlar girilebilir. Programlanmış bir döngü bozuk olduğu halde çalışırken, bu kesinti özellikle yararlıdır.

Eksik komutları

Bir komut eksik veya geçersiz ve `dön 'tuşuna basarsanız, iki olasılık vardır:
  • Bir hata mesajı ve yeni bir MATLAB istemi görünür.Tekrar başlayabilirsiniz.
  • Titrek imleç komut altında satırın solda yer almaktadır. Bu durumda iki olasılık vardır.
    • Komut bitmiş ve değerlendirilmesi sonra olabilir.
    • `Ctrl-c 'kullanarak, komuta girerek kesebilirsiniz. Yeni bir MATLAB istemi görüntülenir.
Değişkenler
MATLAB bir değişken adını bir harfle başlamak zorundadır. '-' Bundan sonra, adı harf, sayı ya da '_' ve gibi sembollerin keyfi bir sayı oluşabilir. MATLAB üst ve küçük harfler arasında ayrım yapar. 
MATLAB Tabloda gösterilen bazı özel değişkenleri kullanır 1.3 . 



Tablo 1.3: MATLAB önceden tanımlanmış değişkenleri
DeğişkenAçıklama
ansBu değişken başka bir değişkene atanmamış son hesaplamanın sonucunu içerir.
epsBu değişkenin değeri yaklaşık olarak 2,2204 $ \ cdot 10 ^ {-16} $ve MATLAB tarafından dahili olarak kullanılıyor. Bu numara, bilgisayarın belleğinde depolama için tüm numaraların yuvarlak için kullanılan MATLAB, varsayılan hesaplama doğruluğu. Sayısı ile eps karıştırmayın $ E $Çünkü, $ E = \ textup {exp} (1) = 2,7182 ... $
I ve JKarmaşık sayı $ I $ özelliği ile bu $ I ^ 2 = -1 $ .
pi3.1415 ...
InfBu değer sonsuzdur. Bir 0 ile 1 böler zaman, 1/0, sonuç Inf olacaktır.
NaNBu değişken 'bir sayı değil `bir temsilidir. NaN ile bir hesaplama her zaman NaN ile sonuçlanır. Komut 0/0 NaN üretir.


Uyarı: ilke olarak, Tabloda sunulan iç MATLAB değişkenlere bir değer atamak mümkündür 1.3 . Bu hesaplamaları etkileyebilir. Bu nedenle, bir iç MATLAB değişkene bir değer atamak için hiçbir zaman akıllıca olmayacaktır.>>pi=10  Gibi komutlardan  her zaman kaçınılmalıdır! Kazara bir iç MATLAB değişkene farklı bir değer verdiyseniz, clear kullanarak bu değeri kaldırabilirsiniz ya da çalışma alanı tarayıcı.
Varsayılan MATLAB penceresinin sağ üst köşesinde, kullanımdaki listelenen  tüm değişkenleri "Çalışma Alanı" penceresinde bulacaksınız. Tarayıcı ayrıca hangi sınıf değişkenlerine ait olduğunu gösterir. Gerekirse, tarayıcı kullanarak değişkenleri kaldırabilirsiniz. Özel değişkenler yukarıda olmayacak 
Değişkenlerin yönetimi için bazı diğer önemli komutlar tabloda verilmiştir 1.4 .



Tablo 1.4: Önemli komutları.
KomutaAçıklama
kimKullanılan değişkenlerin bir listesini verir.
whosKullanımının yanı sıra bazı ekstra bilgi değişkenlerin bir listesini verir.
temizleyinTüm değişkenleri kaldırır.
açık xyDeğişkenleri kaldırır $ X $ ve $ Y $ .