将矢量传递给另一个矢量?

时间:2015-04-03 18:53:48

标签: matlab vector

我有什么:

syms X Y
funcF = [ (X.^2 + Y.^2 + X -4), (Y*cos(X) + X*Y.^3 - 1) ]
z0 = [0.5, 2]

说我想将z0传递给funcF,我不知道该怎么做。 (我对matlab的了解不是最好的)

所以我现在正在尝试:

funcF = funcF(z0)

基本上,我希望它能打印出这样的东西:

[#1   #2]

1 个答案:

答案 0 :(得分:2)

因为该表达式是符号,所以您需要使用subssubs用你想要的任何东西替换符号变量......包括数字。此外,因为这是一个符号表达式(感谢Nasser),所以不需要逐点运算符(即.^)。您可以删除它们并使用普通的标量运算符。

因此,您希望将表达式中的XY替换为z0中的相应值:

>> syms X Y;
>> funcF = [ (X^2 + Y^2 + X -4), (Y*cos(X) + X*Y^3 - 1) ];
>> out = subs(funcF, {'X','Y'}, z0)

out =

[ 3/4, 2*cos(1/2) + 3]