Soru sorfor döngüsü ile bir fonksiyonun içerisine belirli bir şablon halindeki dosya adını yazdırmak
ptmertdogan tarafından 3 yıl önce soruldu

Merhaba,
MATLAB öğrenmeye ve araştırmalarımın analizini bu programla yapmaya çalışan bir akademisyenim. Sağlıkçı olduğum için bu program bana epeyce uzak. Bu sebeple aşağıda belirttiğim soruyu nasıl çözebileceğim hususunda yardımcı olabilirseniz çok sevinirim.
Elimdeki değişkenlere örnek olarak aşağıdakileri verdim.
isim = { 'Ali','Veli','Yusuf','Kemal'}
hareket = { 'Uzanma','Dokunma','Topuatma'}
taraf = {'Sag','Sol'}
harekettekrar=  {'1','2','3'}  
Elde etmek istediğim veri ise aşağıdaki gibi:
AliUzanmaSag1
AliUzanmaSag2
AliUzanmaSag3
AliUzanmaSol1
AliUzanmaSol2
AliUzanmaSol3
AliDokunmaSag1
AliDokunmaSag2
…. vb.
Bu verileri ise otomatik olarak bir fonksiyonun içerisine entegre edip, çalıştırmak istiyorum. Yukarıdan elde edeceğim veriyi dosyaadı.abc bölümüne yazdırmak istiyorum.
fonksiyon('dosyaadı.abc')
 
Yardımcı olabilirseniz çok sevinirim. Teşekkür ederim.

2 Cevap
En iyi cevap
Caglar Yönetici tarafından 3 yıl önce cevaplandı

Tanımladığınız kombinasyonun içeriğini metin formatında şifrelemek en sağlıklı yaklaşım değil. O veriyi işlemek istediğinizde tekrar o metni parçalara ayırmak gerekecek. Ama programlama alıştırması ya da sadece dosya adı oluşturmak içinse, iç içe for döngüleri ile yapabilirsiniz:

isim = { 'Ali','Veli','Yusuf','Kemal'}
hareket = { 'Uzanma','Dokunma','Topuatma'}
taraf = {'Sag','Sol'}
harekettekrar= {'1','2','3'}
isim_adedi = length(isim);
hareket_adedi = length(hareket);
taraf_adedi = length(taraf);
hareket_tekrar_adedi =length(harekettekrar);
for i_isim = 1:1:isim_adedi
for i_hareket = 1:1:hareket_adedi
for i_taraf = 1:1:taraf_adedi
for i_harekettekrar = 1:1:hareket_tekrar_adedi
dosya_adi = strcat(isim(i_isim), hareket(i_hareket), taraf(i_taraf), harekettekrar(i_hareket))
end
end
end
end

Veriyi dosyaya yazdıran komutlar dosya adı seçmenize de izin verir. Yazdırmakla ilgili farklı yontemler var. Yazdıracağınız verinin içeriğine göre ve nerede kullanılacağına göre doğru yöntemi belirlemek lazım.
Metin dizileri için de string array kullanabilirsiniz, daha temiz olacaktır. Metinleri cell dizisi şeklinde (köşeli parantez içinde tırnaklar) dizmeniz gerektiğini anlatan bir kaynak kullanıyorsanız o büyük ihtimalle birkaç yıl kadar eskide kalmış.

ptmertdogan tarafından 3 yıl önce cevaplandı

Teşekkür ederim Çağlar Bey..