主要内容

coder.getArgTypes

通过执行测试文件确定函数输入参数的类型

描述

例子

类型=coder.getArgTypes(测试fcn返回的单元格数组编码器.类型通过执行测试.这个函数测试必须调用指定的入口点®作用fcn.输入参数fcn构造返回的类型。

例子

_类型的结构_=coder.getArgTypes(测试,{fcn_1,…,fcn_n})返回包含单元格数组的结构编码器.类型通过执行测试.这个函数测试必须调用指定的入口点函数fcn_1通过fcn_n。这些函数的输入参数构造返回的类型。返回的结构包含每个函数的一个字段。字段名与相应函数的名称相同。

例子

_类型的结构_=coder.getArgTypes(测试fcn“统一”,结构标志返回结构,即使只有一个入口点函数。财产制服定义输出数组类型是单元格数组(true)结构还是单元格数组(false)结构。

例子

全部崩溃

获取函数的输入参数类型my_fun通过运行测试文件my_test,电话my_fun.使用这些输入类型为my_fun

在一个本地可写文件夹中,创建MATLAB函数my_fun并保存在文件中my_fun.m

作用y = my_fun (u, v)% # codegeny = u + v;结束

创建测试函数my_test并保存在文件中我的测试

作用Y = my_test a = single(10);b =单(20);y = my_fun (a, b);结束

获取的输入类型my_fun,运行测试功能。

类型= coder.getArgTypes (“my_test”“my_fun”
types=1×2单元数组{1×1编码器.PrimitiveType}{1×1编码器.PrimitiveType}

为生成一个MEX函数my_fun通过使用这些输入类型作为示例输入。

codegenmy_funarg游戏类型

在当前文件夹中,codegen生成一个MEX函数,my_fun_mex,它接受类型为的输入

测试MEX功能。例如:

y = my_fun_mex(单(10)、单(20))

获取函数的输入参数类型my_fun1my_fun2通过运行测试文件我的测试2,电话my_fun1my_fun2.使用这些输入类型为my_fun1my_fun2

在一个本地可写文件夹中,创建MATLAB函数my_fun1.保存在文件中my_fun1.m

作用y = my_fun1 (u)% # codegeny = u;

创建函数my_fun2.保存在文件中我的妈妈2.m

作用y = my_fun2 (u, v)% # codegenY = u + v;

创建测试函数。

作用[y1, y2] = my_test2 a = 10;b =单(20);日元= my_fun1(一个);y2 = my_fun2 (a, b);结束

获取的输入类型my_fun1my_fun2,运行测试功能。

类型= coder.getArgTypes (“my_test2”,{“my_fun1”“my_fun2”})
my_fun1: {[1×1编码器。} my_fun2: {[1×1编码器。PrimitiveType][1×1编码器。PrimitiveType]}

为生成一个MEX函数my_fun1my_fun2通过使用这些输入类型作为示例输入。

codegenmy_fun1arg游戏types.my_fun1my_fun2arg游戏types.my_fun2

在当前文件夹中,codegen生成一个MEX函数,my_fun1_mex,有两个入口,my_fun1my_fun2,它接受类型为的输入

测试MEX函数中的每个入口点。例如:

y1=my_fun1_mex(“my_fun1”,10) y2 = my_fun1_mex(“my_fun2”、10、20)

获取函数的输入参数类型my_fun通过运行测试文件my_test,电话my_fun.使用这些输入类型为my_fun

在一个本地可写文件夹中,创建MATLAB函数my_fun并保存在文件中my_fun.m

作用y = my_fun (u, v)% # codegeny = u + v;结束

创建测试函数my_test并保存在文件中我的测试

作用Y = my_test a = single(10);b =单(20);y = my_fun (a, b);结束

获取的输入类型my_fun与带字段的结构一样,运行测试函数。

类型= coder.getArgTypes (“my_test”“my_fun”“统一”,真正的)
my_fun: {[1×1编码器。PrimitiveType][1×1编码器。PrimitiveType]}

为生成一个MEX函数my_fun通过使用这些输入类型作为示例输入。

codegenmy_funarg游戏类型。我的乐趣

在当前文件夹中,codegen生成一个MEX函数,my_fun_mex,它接受类型为的输入

测试MEX功能。例如:

y = my_fun_mex(单(10)、单(20))

输入参数

全部崩溃

要确定输入类型的入口点MATLAB函数的名称或句柄。该函数不能是局部函数。它必须在可写文件夹的MATLAB路径上。

例子:类型= coder.getArgTypes(“my_test”、“my_fun”);

例子:类型= coder.getArgTypes (@my_test @my_fun);

数据类型:烧焦|字符串|function_handle

要确定输入类型的入口点MATLAB函数的名称或句柄的逗号分隔列表。函数不能是局部函数。它们必须位于MATLAB路径上的可写文件夹中。入口点函数名必须是唯一的。

例子:types=coder.getArgTypes('my_test',{'my_fun1','my_fun2'});

例子:types=coder.getArgTypes(@my_test,{@my_fun1,@my_fun2});

数据类型:烧焦|字符串|function_handle

测试函数或测试脚本的名称或句柄。测试函数或脚本必须在MATLAB路径上。测试必须至少调用一个指定的入口点函数。这些函数的输入参数构造返回的类型。

例子:类型= coder.getArgTypes(“my_test”、“my_fun”);

数据类型:烧焦|字符串|function_handle

符合事实的 返回的单元格数组的结构编码器.类型通过执行测试,尽管只有一个入口点函数。
返回的单元格数组编码器.类型通过执行测试

例子:coder.getArgTypes(“my_test”、“my_fun”、“统一”,真正的);

数据类型:逻辑

输出参数

全部崩溃

细胞阵列编码器.类型通过执行测试函数确定的对象。

包含细胞阵列的结构编码器.类型通过执行测试作用该结构包含每个函数的一个字段。字段名与相应函数的名称相同。

提示

  • 使用前coder.getArgTypes,在MATLAB中运行测试函数,验证其提供了预期的结果。

  • 验证测试函数是否使用适合运行时环境的输入数据类型调用指定的入口点函数。如果测试函数未调用指定函数,coder.getArgTypes无法确定此函数的输入类型。

  • coder.getArgTypes可能无法计算应用程序的理想类型。例如,您可能希望大小不受限制。的coder.getArgTypes函数返回基于最大输入的边界。若要调整返回类型的大小,请使用coder.resize

  • 对于某些输入组合,coder.getArgTypes无法生成有效类型。例如,如果测试函数用单输入调用入口点函数,然后用双输入调用它,coder.getArgTypes生成错误,因为没有一种类型可以表示两个调用。

  • 为MATLAB函数生成代码时,通过将返回的类型传递给codegen函数使用arg游戏选项

2012年推出