Matlab函数字符串参数后跟变量序列

时间:2014-05-07 17:30:58

标签: matlab function

如何在matlab中创建一个函数,例如:

[pos, speed]=my_function('position',1,2,4,5.2,'speed',50,1)

这样

pos = [1,2,4,5.2]

speed = [50,1]

如果没有输入值,则为空矢量?

非常感谢

1 个答案:

答案 0 :(得分:0)

您可以使用narginvarargin获取此功能:

function [position, speed] = my_function(varargin)
   if nargin == 8
      position = cell2mat(varargin(2:5));
      speed = cell2mat(varargin(7:8));
   else
   position = [];
   speed = [];
end

这个功能确实符合你的要求,但不要让它欺骗你:这并不能使它成为一个“好”的功能。你需要做更多的工作才能使它更健壮,更好。我会把那部分留给你。

祝你好运=)