if contains(p_path, 'left')
save(left_path', 'a', 'b', 'c', 'd');
a = load(left_path);
elseif contains(p_path, 'right')
save(right_path', 'a', 'b', 'c', 'd');
b = load(right_path);
end
left_path 定义如下(基本路径类似于“C:\Users\Documents”)
left_mean_data_path = [base_path, '\left_data.mat'];
运行此代码,我检查文件是否已在正确的文件夹中创建且名称正确(left_path),这意味着“保存”效果良好。然而,“加载”那些不起作用。文件“left_data.mat”或变量“a”、“b”、“c”、“d”不在工作区中。
要将这些变量输入工作场所,我必须直接单击“left_data.mat”文件。
有人可以帮助我吗?
语法
data = load(filename)
会将该 matfile 的内容加载到结构体 data
。所以在data
里面,你会找到你保存的所有变量。
但是,如果您在函数中执行此行,数据将加载到该函数的工作区中,而不是基础工作区中。读取基础和函数工作区并在工作区之间共享数据。
将数据获取到基础工作区的最简单方法是在函数中使用
assignin
。在你的函数中,你会这样做:
function myfunction()
data = load(filepath);
assignin('base', 'data',data); % base workspace, variable name in base workspace, variable to assign in base workspace
end