调用用户定义函数时传输的数据

时间:2013-06-12 00:21:51

标签: matlab input user-defined-functions output variadic-functions

我需要分析一个很大的源代码。代码包含几个函数调用。 根据函数调用之间的计算和通信,我需要找出源代码整体执行的最佳配置方案。

  

据我说,

调用函数时传递的数据(如果它在不同的机器,服务器等上)=输入数据大小+输出数据大小

获取输入数据大小和输出数据大小,我想我应该重写所有函数,以获得可变数量的输入和变量输出。

[varargout] samplefunction(varargin) {

FOR i=0:nargin
 inputdata=inputdata+sizeof(varargin(i));



% Do stuff here


}

是不是有办法直接在Matlab中计算单元格数组(varargin / varargout)?

或者你是否可以建议另一种方法来测量函数调用之间的通信数据?

1 个答案:

答案 0 :(得分:0)

拨打cellfun() with string inputs的速度非常快:

sizes = [cellfun('size',varargin,1); cellfun('size',varargin,2)];

lenghts = cellfun('length',varargin);

numels  = cellfun('prodofsize',varargin);