使用MATLAB的符号工具箱用向量求向量函数

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

我有一个函数F,它是n个变量中函数的向量。例如,考虑以下内容:

syms x y z f(f1,f2,f3) f1(x,y,z) f2(x,y,z) f3(x,y,z)

X0 = [1 0 1 0]';

f1(x,y,z) =  x+y+2;
f2(x,y,z) =  w-5*x+z^2-4;
f3(x,y,z) =  2*x+y^2-z-12;


F = vertcat(f1, f2, f3)

这里,F是三个变量中三个函数的向量。在我考虑的情况下,我希望F被视为n个变量中的n个方程。

我想取一个标量向量,其长度为F,如下所示:

X = [1 2 3]';

并在此向量处评估F。像这样:

F(X(1),X(2),X(3))

但是,我需要一种不知道n的方式来编写它。我可以通过写找到n

dims = size(X);

但是那不能解决我如何在X上参数化评估F的情况。有没有办法做到这一点?

matlab symbolic-math
1个回答
0
投票

[如果您不介意使用单元格而不是数组,则可以将X = [1 2 3]'替换为X = {1 2 3}(不需要转置,而将F(x(1),x(2),x(3))替换为F(X{:})

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