主要内容

coder.getArgTypes

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

描述

例子

类型= coder.getArgTypes (test_fcn,fcn)返回一个单元阵列coder.Type对象由执行test_fcn。这个函数test_fcn必须调用指定的入口点MATLAB®函数fcn。输入参数fcn构建返回的类型。

例子

struct_of_types= coder.getArgTypes (test_fcn,{fcn_1,…, fcn_n})返回一个包含细胞阵列的结构coder.Type对象由执行test_fcn。这个函数test_fcn必须调用指定的入口点函数fcn_1通过fcn_n。输入参数,这些函数构造返回的类型。为每个函数返回的结构包含一个字段。字段名是一样的相应的函数的名称。

例子

struct_of_types= coder.getArgTypes (test_fcn,fcn“统一”,struct_flag)返回一个结构,即使只有一个入口点函数。房地产统一的定义输出数组类型是否结构单元阵列(真正的)或单元阵列(假)。

例子

全部折叠

函数的输入参数类型my_fun通过运行测试文件my_test,电话my_fun。使用这些输入类型来生成代码my_fun

在当地可写文件夹,创建MATLAB函数my_fun并将其保存在文件中my_fun.m

函数y = my_fun (u, v)% # codegeny = u + v;结束

创建测试函数my_test并将其保存在文件中my_test.m

函数y = my_test =单(10);b =单(20);y = my_fun (a, b);结束

得到的输入类型my_fun运行测试函数。

类型= coder.getArgTypes (“my_test”,“my_fun”)
类型= 1×2单元阵列{1×1编码器。PrimitiveType} {1×1 coder.PrimitiveType}

生成一个墨西哥人功能my_fun通过使用这些输入类型为例的输入。

codegenmy_funarg游戏类型

在当前文件夹,codegen生成一个墨西哥人的功能,my_fun_mex,接受输入的类型

墨西哥人的功能测试。例如:

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

函数的输入参数类型my_fun1my_fun2通过运行测试文件my_test2,电话my_fun1my_fun2。使用这些输入类型来生成代码my_fun1my_fun2

在当地可写文件夹,创建MATLAB函数my_fun1。保存的文件my_fun1.m

函数y = my_fun1 (u)% # codegeny = u;

创建函数my_fun2。保存的文件my_fun2.m

函数y = my_fun2 (u, v)% # codegeny = u + v;

创建测试函数。

函数(y1, y2) = my_test2 = 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编码器。PrimitiveType]} my_fun2:{[1×1编码器。PrimitiveType] [1×1 coder.PrimitiveType]}

生成一个墨西哥人功能my_fun1my_fun2通过使用这些输入类型为例的输入。

codegenmy_fun1arg游戏types.my_fun1my_fun2arg游戏types.my_fun2

在当前文件夹,codegen生成一个墨西哥人的功能,my_fun1_mex有两个入口点,my_fun1my_fun2接受输入的类型

测试每个入口点的墨西哥人的功能。例如:

日元= 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并将其保存在文件中my_test.m

函数y = my_test =单(10);b =单(20);y = my_fun (a, b);结束

得到的输入类型my_fun与结构领域,运行测试功能。

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

生成一个墨西哥人功能my_fun通过使用这些输入类型为例的输入。

codegenmy_funarg游戏types.my_fun

在当前文件夹,codegen生成一个墨西哥人的功能,my_fun_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路径可写的文件夹。的入口点函数的名称必须是唯一的。

例子:类型= coder.getArgTypes (my_test, {‘my_fun1’,‘my_fun2});

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

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

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

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

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

真正的 返回一个细胞阵列的结构coder.Type对象由执行test_fcn,即使只有一个入口点函数。
返回一个单元阵列coder.Type对象由执行test_fcn

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

数据类型:逻辑

输出参数

全部折叠

单元阵列的coder.Type对象由执行测试函数。

包含细胞阵列结构coder.Type对象由执行决定test_fcn函数。每个函数的结构包含一个字段。字段名是一样的相应的函数的名称。

提示

  • coder.getArgTypes返回输入类型的函数参数,类似自动定义输入类型一步应用。

  • 使用前coder.getArgTypes在MATLAB验证运行测试功能,它提供了预期的结果。

  • 验证测试函数调用指定的入口点函数与输入数据类型适合您的运行时环境。如果测试函数不能调用指定的函数,coder.getArgTypes不能确定这个函数的输入类型。

  • coder.getArgTypes为您的应用程序可能不计算理想类型。例如,您可能想要大小无限。的coder.getArgTypes函数返回一个基于最大的输入。调整大小的返回类型,使用coder.resize

  • 对于一些组合输入,coder.getArgTypes不能产生有效的类型。例如,如果测试与单输入函数调用的入口点函数,然后调用双输入,coder.getArgTypes生成一个错误,因为没有一个单独的类型可以表示两个电话。

  • MATLAB函数生成代码时,使用返回的类型为例输入通过他们codegen函数使用arg游戏选择。

版本历史

介绍了R2012a