1
爲了組合數據,我想加載一個數據作爲基礎,將數據分配給另一個變量(例如將其命名爲base_data)。然後加載另一個數據並遍歷所有字段。如果基礎數據中不存在當前字段,請將該字段添加到基礎數據。 (例如,base_data.fieldname = data.fieldname)。然後我想將base_data保存到文件中。我可以知道命令在Matlab中做到這一點嗎?結合2個.mat文件
爲了組合數據,我想加載一個數據作爲基礎,將數據分配給另一個變量(例如將其命名爲base_data)。然後加載另一個數據並遍歷所有字段。如果基礎數據中不存在當前字段,請將該字段添加到基礎數據。 (例如,base_data.fieldname = data.fieldname)。然後我想將base_data保存到文件中。我可以知道命令在Matlab中做到這一點嗎?結合2個.mat文件
使用動態字段名:
base_data = load('A.mat');
B = load('B.mat');
fn = fieldnames(B);
for ii=1:length(fn)
fieldname = char(fn(ii));
if ~isfield(base_data,fieldname)
base_data.(fieldname) = B.(fieldname);
end
end
save('base_data','base_data')
嗨,當我使用上面的命令,我可以創造一個base_data.mat。但是,當我使用以下命令: - load base_data.mat; base_data.variable1;我得到錯誤: - 引用到不存在的字段'variable1'。我是否犯了一個錯誤?變量1是B.mat中的一個字段。 –
加載base_data後,可以使用gui(變量檢查器窗格)或disp(fieldnames(base_data))來顯示結構中包含的內容。你可以從那裏調試。您還可以在上面的代碼中設置斷點,以查看是否將「B」的字段正確地複製到「base_data」中。這可能是用'B = load('B.mat')'語法加載你的matfiles並沒有給你你所期望的,在這種情況下你可能需要重新安排這個結構。 – tmpearce