Bir for döngüsü ile oluşturduğum işlemlerin sonuçlarını tabloya atamak istiyorum ancak tabloda for döngüsünün son değeri ile yapılan işlemi görüyorum. Sorunu nasıl aşarım.
Merhaba,
Döngü içerisinde yaptığımız hesaplamaları yeni bir matriste depolayabiliriz.
Mesela aşağıdaki örnekte, x değişkenim for döngüsünün her dönüşünde hesaplanıyor ancak döngü boyunca hafızada her değer hafızada kalıyor ve döngü bittiğinde (yani i'nin son değerini hesapladığında) sadece x'in son değere göre hesaplanmış hali gösteriliyor. Aşağıdaki kodu çalıştırın, döngü dönerken i değerlerine bağlı her x değerinin Command Window'da hızlıca anlık basıldığını sonrada hafızadan gittiğini göreceksiniz.
for i=1:10; x = 5+i Tablo(i)=x; end
Peki hafızada hesaplanan her x değerini nasıl hafızada tutabiliriz? Cevap: bir tablo (Vektor) olusturarak onun her bir hücresine yazarak. Lütfen aşağıya bakın.
for i=1:10; x = 5+i Tablo(i)=x; end
Ancak bazen döngülerinizdeki artış miktarı tamsayı olmayabilir. Yani yukarıdaki örneklerde i değeri 1,2,3 …şeklinde ilerliyor. Yani Tablonun birinci hücresi, ikinci hücresi v.b. Ama ya artış miktarımız ondalıklıysa?
Böyle bir durumda da toplam artış sayımız kadar (her bir artış adımımız kadar) dönecek bir sayaç oluşturmamız gerekecek. Aşağıdaki örneğe bakalım.
sayac=1; %Sayacimiz ilk olarak birinci hucreye yaziyor for i=10:0.5:20; x = 5+i Tablo(sayac)=x; sayac=sayac+1; %Dongu her bittiginde sonraki hucreye yazmak icin hucre numarasini guncelliyor end