如何使用具有可变深度的单元格数组作为函数的输入



我有一个全局单元格数组,其中数据存储在具有可变深度的结构中。假设它具有以下结构:

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在评论中提到的。

相关内容

  • 没有找到相关文章

最新更新