Soru sorDöngü ile kombinasyon
tuba tarafından 7 yıl önce soruldu

Merhaba, daha önce bir kombinasyon için yardım almıştım bu kombınasyonları uint16 ve nchoosek kodlarıyla yapmıstım ben sımdı 1 den 27 ye kadar olan sayıları yıne ıkişerli üçerli şekilde kombinasyon yaomak istiyorum ama bunu if ve for döngüleriyle yapmam gerek nasıl yapanılırım.
Teşekkürler

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

Merhaba,
1'den 27'ye kadar olan sayıların bütün kombinasyonlarının* yer aldığı kod örneğini önceki sorunuzda cevaplamıştım. Verdiğim cevabı tekrar aşağıya yapıştırıyorum.
If döngüsü kullanmak istemenizdeki amacınızı anlayamadım?

Merhaba,
for döngüsü ile bütün kombinasyonarı yazdırabilirsiniz:
Örneğin 1’den 10 kadar olan bir matrisin bütün kombinasyonları oluşturabilmek için aşağıdaki kodu inceleyebilirsiniz:

for i=1:10 
a = uint16(1:10);
c = nchoosek(a,uint16(i))
end

 
ANCAK bu kodu 27 sayısı için denerken çok fazla sayı olacağı için hafıza sorunu yaşamanız çok muhtemel.
*Bütün kombinasyonları demek zaten boş küme hariç toplam alt küme sayısı oluyor ve 2^{27}'ye denk geliyor.

tuba tarafından 7 yıl önce cevaplandı

bu kodu plc nın içine yazıcam fakat plc de uint16 veya nchoocek ın karısılıgı yok bu yuzden bır stracture seklinde yazmak istiyorum scl de. Yani spesifik bir kod yazmak istemiyorum
struct1=struct('f1',num2cell(1:10))
struct2=struct('f2',num2cell(1:5))
new_struct=struct('new_f',num2cell([struct1.f1 struct2.f2 ])) bu kod işime yarıcak gibi ama f1 f2 new_f yerine sayılar gırınce hata alıyorum