如何在Matlab中将数组的值传递给数学函数?

时间:2014-01-28 04:19:16

标签: matlab

我有一个定义的数学函数:f =Inline('x1^2+x2^2+2*x1*x2','x1','x2')

我有一个数组,表示x1和x2的数字值。 (例如,数组是A=[1 2]

我想自动完成获取f(x1,x2)的过程,但我无法找到Matlab可以接受数组并将值分配给x1x2的正确方法

如何将数组值传递给数学模型并获取函数值?

1 个答案:

答案 0 :(得分:2)

您应该使用anonymous函数而不是inline,因为在将来的MATLAB版本中将删除inline

示例(来自docs):

sqr = @(x) x.^2;
a = sqr(5)
a =
   25

在你的情况下:

f = @(x) x(1)^2+x(2)^2+2*x(1)*x(2);

现在它期望x是两个(或更多)值数组。

A = [1 2];
f(A) =
    9

注意:

我的家用电脑上没有MATLAB,所以我实际上没有对它进行测试,但它应该让你朝着正确的方向前进。看看文档,你会没事的。