我有一个全局单元数组,其中数据存储在具有可变深度的结构中。假设它具有以下结构:
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});
(我还没有找到有关此问题的信息。)
答案 0 :(得分:1)
您可以在输出中使用相同的参数
%function
function region = changedata(region)
region.data='banana';
end
%main
table{1,2}.sub{1,2} = changedata(table{1,2}.sub{1,2});
否则你需要一个句柄类Matt mentioned in the comments。