simulink传递函数参数如何设成可调

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了simulink传递函数参数如何设成可调相关的知识,希望对你有一定的参考价值。

参考技术A 使用Zero-Pole模块,参数设置如下: Zeros设为-1/15; Poles设为0; Gain设为1/0.075。

如何将自定义类型作为输入参数放入可调用语句中

【中文标题】如何将自定义类型作为输入参数放入可调用语句中【英文标题】:How to put custom type as an input parameter in a callable statement 【发布时间】:2012-06-07 17:07:04 【问题描述】:

我需要对记录表使用可调用语句。我知道如何传递字符串、int 等参数。你可以写

callableStatement.setString(1, variable);
callableStatement.setInt(2, variable);

但是对于自定义类型记录列表,我该怎么做呢?我可以考虑创建一个struct 并以某种方式发送它,但我不知道该怎么做。

这是我要使用的自定义表格和过程

type transaction is record(
     trans_id   varchar2(20)
    ,issuer_name varchar2(300)
    ,location_name varchar2(300)
    ,trans_date    date
    ,issue_date      date);
  type transaction_list is table of transaction;

  procedure set_transaction
  (
    caller_id     in varchar2
   ,trans_list   in transaction_list
   ,return_code out varchar2
  );

【问题讨论】:

【参考方案1】:

您不能将记录定义为类型。您可以改用 OBJECT:

CREATE OR REPLACE TYPE MY_TEST_REC AS OBJECT (
 id_ varchar2(30),
 name_ varchar2(30)
);

CREATE TABLE MY_TEST OF MY_TEST_REC;

create or replace package my_p is
  procedure proc(arg_  IN OUT MY_TEST_REC);
END;

create or replace package body my_p is
  procedure proc(arg_  IN OUT MY_TEST_REC)
  IS  
  BEGIN
    arg_.name_ := 'BAR';
  END;
END;

然后将可调用语句中的对象绑定到 Struct。

【讨论】:

【参考方案2】:

您可以在 Struct 类型旁边使用 callableStatement.setObject。

可以在此页面的_demoInsertUsingCallableStmt 方法中找到一个很好的示例:StructInsertExample

【讨论】:

以上是关于simulink传递函数参数如何设成可调的主要内容,如果未能解决你的问题,请参考以下文章

传递给函数的参数必须是可调用的,给定数组

如何键入一个以可调用对象及其参数作为参数的函数 - 例如函数的数值积分?

怎么使用m函数获取Simulink模型运行结果参数

thinkphp3.2 include 参数为变量的情况下如何传递

在从 simulink 调用 loadMNISTImages 函数时无法使用“machineformat”输入参数

Simulink 代码生成:来自 Function Caller 模块的函数存根及其返回值/参数