zoukankan      html  css  js  c++  java
  • Matlab高级教程_第二篇:关于MATLAB转C#过程中遇到输出两组参数的问题

    1. 在matlab的m函数很可能遇到原函数[a,b] = func(a);

    这样的两个输出参数。

    2. 在观察C#生成后定义中我们发现:

    public MWArray HP();
    public MWArray HP(MWArray Y);
    public MWArray HP(MWArray Y, MWArray smoothing);
    public MWArray[] HP(int numArgsOut);
    public MWArray[] HP(int numArgsOut, MWArray Y);
    public MWArray[] HP(int numArgsOut, MWArray Y, MWArray smoothing);
    public void HP(int numArgsOut, ref MWArray[] argsOut, MWArray[] argsIn);
    public void WaitForFiguresToDie();
    protected virtual void Dispose(bool disposing);

    3. 这个地方表示有几个输出参数,如果numArgsOut为2的话为2个输出参数。因此在C#调用中可以这样调用。

    MWArray array = (MWNumericArray)new double[] {50140, 50140, 50110, 50130, 50170, 50200, 50160, 50130, 50130, 50120};
    MWArray smoothing = 1600;
    HPFilter.HPFilter demo = new HPFilter.HPFilter();
    //其中对应的2位置为几个输出参数
    MWArray[] result = demo.HP(2,array, smoothing);
    MWNumericArray Trend = (MWNumericArray)result[0];
    MWNumericArray Cycle = (MWNumericArray)result[1];
    Console.WriteLine("趋势分析的结果如下:");
    Console.WriteLine(Trend);
    Console.WriteLine("周期分析的结果如下:");
    Console.WriteLine(Cycle);

    根据上一篇的知识:MWNumericArray为MWArray的子类。因此我们输出的是MWArray的父类,因此我们要用子类的函数把这两个子类调用出来

    result[0]:为第一个序列

    result[1]:为第二个序列

  • 相关阅读:
    vue 路由的实现 hash模式 和 history模式
    标准规范
    知识产权、项目收尾
    合同法、著作权、实施条例
    招投标法、政府采购法
    项目成熟度模型、量化项目管理
    信息系统综合测试与管理
    信息系统安全管理
    Spring Boot 6. 与数据访问
    Spring Boot 5. 与Docker
  • 原文地址:https://www.cnblogs.com/noah0532/p/9893984.html
Copyright © 2011-2022 走看看