Soru sorFor döngüsünün çıkışını bir matrixe yazdırma
s.ercetnn tarafından 7 yıl önce soruldu

öncelikle herkese merhaba, bir türlü yapamadığım bir şeyi sormak istiyorum.
Bir tane fonksiyon yazdım. şu şekilde çalışıyo.
Diyelim ki 1×10 luk ikili sayı sisteminden rastagele oluşturulmuş bir matrixim var.
Ben bu matrixi 5 er li iki eşit parçaya böldüm.
ve for düngüsünü kullanarak ilk beşliyi aldım, içerisinde 1 fazla varsa 1 diğer durumlarda çıkışa 0 yazdırdım.
buraya kadar sıkıntı olmadı ama sonucu bana ayrı ayrı veriyor. ben sonunu 1xN lik bir matrixte gömek istiyorum.
Yazdığım kod şu şekilde:

 x=[1 0 0 1 1 0 0 1 1 0];
N=size(x,2);
L=5;
 
for i=1:L:N
 C=x(i:((i+(L-1))));
 if sum(C)/L>0.5;
 F=1

else
 F=0

end

end

 
Aldığım sonuç ise şu şekilde:
F =
1

F =
0

ama dediğim gibi ben sonucu F=[1 0] olarak görmek istiyorum. Çok zor bir şey olmadığınadan eminim ama bi türlü yapamadım.
Şimdiden teşekkürler.

3 Cevap
sayginer Yönetici tarafından 7 yıl önce cevaplandı

Her bir döngü sırasındaki F değerini  tüm döngü boyunca bir matriste depolayabilirsiniz. Aşağıdaki örneği inceleyebilirsiniz:

x=[1 0 0 1 1 0 0 1 1 0];
N=size(x,2);
L=5; for i=1:L:N
C=x(i:((i+(L-1))));
if sum(C)/L>0.5;
F=1; else
F=0; end SONUC(1,i) = F end
s.ercetnn tarafından 7 yıl önce cevaplandı

Cevap için teşekkürler.
Bunu denedim ama for döngüm 3 er 3 er arttığı için sonucuda 2 şer boşluklu yazıyor.

sayginer Yönetici tarafından 7 yıl önce cevaplandı

O zaman döngünüzü -2'den başlatarak sonuç SONUC vektörünü de ona göre yazabilirsiniz, yani

SONUC(1,(i-3)) = F

Ancak bunu yapmak işleri daha da karıştırabilir. Şöyle bir yol daha izleyebiliriz,
Bırakalım 2şer boşluklu SONUC matrisini yazdırsın. Daha sonra bu matristen bize lazım olan elementleri yani 1. 4. 7. … elementlerı ayrı bir döngü ile farklı bir matrise çekelim.