您可以利用struct
數據類型的動態字段命名。
- 您可以通過使用
load
- 那麼你可以使用
fieldnames
函數提取變量的名稱
- 然後在
forloop
你可以創建一個加載.mat
文件保存在一個結構體變量列表cellarray
保存從mat
文件中讀取的變量的值(它們是要保存的工作區中變量的名稱)
- 最後一步是將該變量列表保存爲函數
save
一種可能implementatin couls是:
% Define the variables holding the variable names
var1='loop_no'
var2='phase'
var3='flow'
% Save in a ".mat" file
save names.mat var1 var2 var3
% Create the variables in the Workspace
loop_no=100
phase=333
flow=123.456
% Load the file with the varaible names
tmp_var=load('names.mat')
% Get the names of the variables to be saved
var_names=fieldnames(tmp_var)
% Create a cellarray with the variables names
for i=1:length(fieldnames(tmp_var))
var_list{i}=tmp_var.(var_names{i})
end
% Save the Workspace variables in a ".mat" file
save('new_mat_file.mat',var_list{:})
測試:
clear loop_no phase flow
load new_mat_file.mat
whos
Name Size Bytes Class Attributes
flow 1x1 8 double
loop_no 1x1 8 double
phase 1x1 8 double
[loop_no;phase;flow]
ans =
100.0000
333.0000
123.4560
希望這有助於
Qapla」