我有一个全局单元格数组,其中数据存储在具有可变深度的结构中。假设它具有以下结构:
global table
table{1,1}.data
table{1,2}.sub{1,1}.data
table{1,2}.sub{1,2}.data
table{1,3}.sub{1,1}.sub{1,1}.data
table{1,3}.sub{1,1}.sub{1,2}.data
现在,我想定义一个可以改变table
变量数据的函数。问题是,当我使用例如table{1,2}.sub{1,2}
作为我的函数的输入,让我的函数改变数据时,原始table
变量中的数据没有改变。草图:
%function
function changedata(region)
region.data='banana';
end
%main
changedata(table{1,2}.sub{1,2});
(我还没有找到关于这个问题的信息)
您可以在输出
中使用相同的参数%function
function region = changedata(region)
region.data='banana';
end
%main
table{1,2}.sub{1,2} = changedata(table{1,2}.sub{1,2});
否则你需要一个句柄类,正如Matt在评论中提到的。