使用两种不同的方式在Matlab中传递输入来编写函数

时间:2017-11-15 12:56:28

标签: matlab input

我想知道如何使用两种不同的传递相同输入的方式在Matlab中编写函数。

这方面的一个例子是内置函数lsqcurvefit。您可以像这样传递输入:

x = lsqcurvefit(fun,x0,xdata,ydata,lb,ub,options)

其中前4个参数是必需的,后3个是可选的,或者您可以这样调用它:

x = lsqcurvefit(problem)

其中problem是包含相同输入的struct。在这种情况下,只有一个必需的输入。

我的问题是:如何编写一个能够以两种不同方式获取相同输入的函数?

我查看了文档但似乎无法找到它因为我只是不知道要搜索哪些单词或术语...有人能指出我这个吗?我相信这很简单。也许这是微不足道的,我只是错过了它?

编辑:我似乎一直在寻找的是“函数重载”和“函数签名”。

1 个答案:

答案 0 :(得分:-3)

我不确定如何在matlab上编写代码,但我相信所有编程语言的概念都是一样的,所以"只做方法覆盖一个方法将传递4个参数和其他传递2的位置。  e.g

//assume that the  following method are defined within the class

public void FirstFunction( int x, int y,int c,int f){
    System.out.print(x + y + c + f);
}

public void SecondFunction( int m,int s){
    System.out.print(m - s);
}

//within the main method on java you call these method
//so it will depend on the number of parameters you have passed the it will call.