komut dosyasının bulunduğu konuma göre numaralı bir dizinde bulunan load
.mat
dosyasını isteyen bir matlab komut dosyası var. Komut dosyası mevcut çalışma dizinine göre farklı yerlerde olabilir, bu nedenle .mat
dosyasının konumu onunla ilgili bilinmemektedir. Yürütülmekte olan komut dosyasına göre yüklenecek dosyanın konumunu nasıl belirleyebilirim?Matlab yükleme dosyası komut dosyasının içinde
cevap
mfilename
işlevi, şu anda çalışan komut dosyası'un adını döndürür. Ancak bu, komut dosyasının tam yolunu döndürmez. Muhtemelen bunu istiyorsunuz ve bu nedenle, komut dosyasının adı da dahil olmak üzere gerçek betiğin tam yolunu döndürmek için 'fullpath'
seçeneğini belirtebilirsiniz.
Sadece dosyanın bulunduğu dizinin gerçek dizinini istiyorsunuz ve ilk önce gerçek dosyanın tam yolunu almak için mfilename
kullanın, sonra dosyanın gerçek dizinini gerçekte ayıklamak için fileparts
kullanın. fileparts
, dosyanın bulunduğu dizini, dosya adını ve uzantıyı döndürür. Sadece ilk çıktı argümanını istiyorsun ve diğer çıktıları umursamıyorsun. Her alt dizin için size göstermek istiyorum böylece,
p = mfilename('fullpath');
[pathstr,~,~] = fileparts(p);
d = fullfile(pathstr, 'path', 'to', 'your', 'file.mat');
fullfile
OS bağımsız bir dizin dizesi oluşturur: Bu edindikten sonra, daha sonra .mat
dosyanın konumuyla birlikte bu dizesi ekleyin sonra gerçek dizinini kullanabilirsiniz .mat
dosyanıza gidin, istediğiniz dosyaya ulaşıncaya kadar bunları ayrı giriş dizeleri olarak yerleştirin. d
, geçerli olarak çalışan komut dosyasına göre .mat
dosyanızın tam yolunu içerecek ve daha sonra load
'a göre kullanabilirsiniz.