FAQ > 金融建模 > 第三方交互 > MatLab

Q:Matlab中如何传数组进天软函数中    

  • A:在天软中,数组都是用array()表示,一维,二维,多维等,矩阵也如此。
    在matlab调天软函数的过程中,经常会需要传入数组到天软模型中去使用,下面分别介绍传入一维数组(序列)、二维数组、多维数组等的方法。

    封装天软函数:该函数仅返回展示传入的数组源代码,方便对照是否有效。

    Function TestMatlab_01(s,t);
    Begin

        return '传入'$s$'参数 '$tostn(t);

    End;

    Matlab调用天软之前,首先创建一个Com对象,代码如下(后面的范例中不再重复该步骤):

    ts=actxserver('TSExpert.CoExec');

    1、一维数组传递:matlab中使用{a,b,c}这种形式传递
    展示范例:

    data = ts.RemoteCallFunc('TestMatlab_01',{'一维数组',{'SZ000002','SZ000008'}})

    结果展示:其中参数成功转换成天软的一维数组array('SZ000002','SZ000008')


    2、二维数组传递:matlab中使用{a,b;c,d;e,f}的形式传递

    data = ts.RemoteCallFunc('TestMatlab_01',{'二维数组',{'a','b';2,2;3,3}})

    结果展示:


    3、多维数组传递:matlab中比如四维表示用{{a,b},{c,d};e,f}}的形式

    data = ts.RemoteCallFunc('TestMatlab_01',{'多维数组',{'a',1;{'b1','b2'},2;'c',{3,3}}})

    结果展示: