我正在嘗試gather()在 MatLab 中動態呼叫該函式。
我目前正在做這樣的事情:
for index_1 = 1:1:document_count
current_filename = "random_file" index_1 ".mat";
data = load(current_filename);
pci= gather(datasets.current_filename.pci.dist);
end
在上面,資料被加載但是收集函式失敗,我假設是因為我在中間傳遞了一個字串。我不確定可能的解決方法是什么。
任何建議將不勝感激。
uj5u.com熱心網友回復:
將字串 (current_filename) 用作 a 的欄位名稱時,需要將其放在括號中struct。見這里。
for index_1 = 1:1:document_count
current_filename = "random_file" index_1 ".mat";
data = load(current_filename);
pci= gather(datasets.(current_filename).pci.dist);
end
也就是說,我猜您需要從檔案名中洗掉擴展名 (.mat) 才能使其正常作業。例如,你真的有datasets.random_file1.mat.pci.dist嗎?
uj5u.com熱心網友回復:
我這樣做的方式是:
fields = fieldname(data)
data = getfield(data,fields{1})
我使用這種技術來遍歷子欄位
pci_field = getfield(data, fields{1})
pci = gather(pci_field.dist)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/350375.html
下一篇:在matlab中比較2個浮點數
