将矢量输入传递给MATLAB函数

问题描述 投票:0回答:1

我正在尝试在MATLAB中编写一个将1x3向量作为输入的函数。我的代码如下所示:

function myFunction=([x1, x2, x3], [y1, y2, y3], [z1, z2, z3])

其中所有输入都是数字,然后在函数的主体中,通过向量中的数值进行一些计算索引。但是,我收到一条错误消息:“表达式无效。调用函数或为变量建立索引时,请使用括号。否则,请检查不匹配的分隔符。”因此,我相信我有语法或其他错误。我知道MATLAB应该能够在函数中进行矢量输入,所以请让我知道我在做什么错。谢谢!

matlab function vector
1个回答
0
投票

您需要做的就是这样声明您的函数:

function myFunction(x,y,z)

然后您可以在函数中使用x(1)y(2)等访问向量的各个元素

如果需要返回值,可以使用:

function [a,b,c] = myFunction(x,y,z)

然后只需在代码中在a语句之前分配bcend

请参阅offical Matlab documentation了解更多信息。

我会补充说,matlab的许多优点是以矢量形式处理数据,因此,如果您可以避免拆分成单独的元素,我会这样做。例如,如果您需要添加两个vecor,则可以执行z = [x(1)+y(1), x(2)+y(2), x(3)+y(3)],但更好的方法(可读性更高,更易维护,更快)是z=x+y

© www.soinside.com 2019 - 2024. All rights reserved.