Merhaba, [1 1 1 2 2 2 3 3 3] şeklinde bir dizi bulunmakta her biri elemanıma 1'den 9'a kadar numara verdiğimi varsaydığım taktirde, yazacağım kodun rastgele 3'lü diziler oluşturmasını istiyorum ve bu diziler 1 2 3 şeklinde sıralansın ama varsayalım ilk dizide 3 numaralı 1 elemanı kullanıldığında bu elemanımı döngüden çıkarsın ve tekrar kullanmasın istiyorum.Bu şekilde bir küçük çaplı proje için incelememi önereceğiniz örnekler mevcut mudur? Şimdiden teşekkür ederim.
evet söylemek istediğim 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 bulunan dizide 5 farklı rakam olduğunu söyleyen bir kod yazdıktan sonra bunların gruplara ayırarak A için 1 1 1 B için 2 2 2 C için 3 3 3 gibi farklı dizilere bu grup bilgilerini yazmak anlamında demiştim. Unique() 5 farklı grup olduğunu bulabilir ama ben bulduğu bu farklı 5 grupu 5 farklı dizi halinde versin istiyorum 1 leri 2leri 3 leri hepsini ayrı grupta. Kusra bakmayın biraz karışık açıkladım ama sizin yazdığınız koddan sonra böyle birşey aklıma geldi. Sonra bu ayrılan grupların her birinden rasgele 1 rakam alarak istediğim kurallı dizimi oluşturabilirim diye düşündüm ?
Merhaba, 3 farklı dizi olarak A=[1 1 1] B=[2 2 2] , C[3 3 3] olarak ayırdım dizimi , şimdi bu üç diziyi kullanarak her birinden bir eleman alacak şekilde yeni bir diziyi nasıl oluşturabilirim , nasıl bir döngü kurabilirim yardımcı olur musunuz
Merhaba,
Bence bir iletişimsizlik oldu. Benim önerimi uygulamanız sizin faydanıza olacaktır. Sizin ısrarla yapmaya çalıştığınız şey bir yerden sonra içinden çıkılmaz bir hal alacak.
Benim önerim şudur:
YANİ şöyle bir şey:
rastgelematrisim = [1 2 3 3 2 1 2 1 3] buradaki her elemen A’daki bir elemente karşılık gelecek.
ŞÖYLE Kİ:
A’nin 1. elementi (Yani ilk 1) 1. gruba gidecek,
A’nin 2. elementi (Yani ikinci 1) 2. gruba gidecek,
A’nin 3. elementi (Yani son 1) 3. gruba gidecek,
A’nin 4. elementi (Yani ilk 2) 3. gruba gidecek,
A’nin 5. elementi (Yani ilk 1) 2. gruba gidecek.
…
——————————————————–
Tekrarlamam gerekirse size şunu söylüyorum:
A matrisinin her bir elamnını gideceği grup bilgisini içeren bir matris oluşturun. Bu matrisin adı da yukarıda açıkladığım gibi rastgele eleman eluşturan matris olsun.
Peki bu matrisi nasıl oluşturacaksınız???
CEVAP: Bir önceki dönütümdeki kodu inceleyerek, deneyerek, yanlış yapa yapa doğruyu bularak. Yani NASIL?
%% MATLABTurkiye.com clear; clc A = [11 21 31 12 22 32 13 23 33] %Kafa karismasin diye de bu sayilarin adlarini degistirdim % 11>> 1inci 1, 21>>2inci 1, 31>>3uncu 1, Bu sekilde gidiyorlar % rastgele = [randperm(3,3) randperm(3,3) randperm(3,3)] %1-3 arasinda sayi ureten 3 ayri grup %Bu rastgele matrisim A'daki her bir elemanin nereye gidecegine karar %verecek. Yani ratgele matrisi ile A matrisini eslestirecegim, buna mapping %de deniyor. % %Simdi 1 isimli gruba ait elemanlari bulalim: Grup1Konumlari = find(rastgele==1) %Bunun sonucu bana 1 grubuna gidecek elemanlarin A matrisindeki yerini verecek %Simdi de bu konum bilgisini kullanarak elamanlari cekelim Grup1Elemanlari= [A(Grup1Konumlari(1)) A(Grup1Konumlari(2)) A(Grup1Konumlari(3))] % Yukaridaki kodun aynisini 2. ve 3. gruplar icin de yapmalisiniz
Merhabalar teşekkür ederim şimdi daha iyi anladım ben daha kompleks bir şekilde ayırma işlemi yapmıştım