Matlab定义具有向量作为输入的函数

时间:2014-03-11 23:42:35

标签: matlab function input vector

我的教授给了我一个简单的练习,即定义一个特殊的功能。这是我的功能

function [a,b,c] = PHUN([x,y],[z,t,w])

a = x
b = ((y+z)^2)*t 
c = z/w + x 

然而,matlab声明我在第一行使用了无效语法。所以,我想,也许有一种特殊的方式可以输入矢量输入。我已尝试使用向量输入(或参数)定义函数的几次搜索,但尚未成功。我想知道是否有人可以帮助我。

1 个答案:

答案 0 :(得分:1)

您可以像传递变量一样传递矢量作为参数。然后适当地在函数体中访问它们。您的功能可以重写如下:

function [a,b,c] = PHUN(X,Y)

a = X(1)
b = ((X(2)+Y(1))^2)*Y(2) 
c = Y(1)/Y(3) + X(1) 

或者如果你想保留原始变量:

function [a,b,c] = PHUN(X,Y)

Z = num2cell([X,Y]);
[x,y,z,t,w] = Z{:};

a = x
b = ((y+z)^2)*t 
c = z/w + x