MATLAB arama yolunda m-dosyaları arar, path
komutunu kullanarak görüntüleyebilirsiniz. Eğer MATLAB yolunda aynı basename (yani, dizinden hariç dosya isminin bir kısmı) ile birden fazla m-dosyanız varsa, MATLAB sadece yol üzerinde ilk geleni çalıştırabilir.
Yolu dinamik olarak değiştirmek için addpath
ve rmpath
işlevlerini kullanabilirsiniz. Örneğin, test dizininizde otomatik olarak ilgili dizinleri otomatik olarak ekleyebilirsiniz. addpath
'un yol listesinin başına yeni bir yol eklediğini unutmayın, bu da varolan girdilerden öncelikli olduğundan emin olur.
Bu gibi ad çakışmaları engellemenin başka bir yolu packages.
DÜZENLEME: aşağıdakileri yapın, paketin içine bir dizin dönüştürmek için:
- Adının başında
+
ekleyin.
- Yönetmenin ebeveynini MATLAB yoluna koyduğunuzdan emin olun.
- Paket içindeki tüm çağrıları onlara ya
packagename.
kodunu hazırlayarak ya da aramalardan önce paket içeriğini ekleyerek güncelleyin (import packagename.*
).
Genellikle, paketleri daha kolay kullanmaları nedeniyle dinamik yol değişikliklerine tercih ederim. Paketleri yuvalayabileceğinizi unutmayın (ör. my_matlab_files/+mypkg/+nested/foo.m
).
[this] (http://www.mathworks.se/matlabcentral/newsreader/view_thread/254911) ve [this] işaretleyin (http://compgroups.net/comp.soft-sys.matlab/files-shadowing-themselves -case-of-direc/866751) tartışma. Bu hatayı da gördüm ama çözmek için ne yaptığımı hatırlamıyorum. Belki de kodun içindeki yolu programlı olarak değiştirebilirsiniz. Veya dosyanın hangi dizinden çalıştığını kontrol edin 'hangi' –
Güncellemenizle ilgili olarak: Hata mesajı, test komut dosyalarının adları ile aynı görünmektedir. Yani önce düzeltmen gereken bir şey.Daha sonra, çekirdeğiniz için adlandırma şemasının benzer sorunlar yaratıp yaratmadığını kontrol etmeniz gerekir. –