syms x1 x2
f1(x1,x2)=x1^2-3*x2+5;
f2(x1,x2)=-2*sin(x1)+5*x2*x1;
M = [f1 ; f2];
disp(M(1));
我正在尝试创建一个符号表达式f1和f2的矩阵。但是,我在访问矩阵中的特定元素时遇到了麻烦。这给了我一个错误,因为它认为我想在我想要特定索引时评估矩阵。有没有办法解决这个问题?
答案 0 :(得分:2)
如果您需要符号表达式而不是函数,则不需要括号中的参数:
syms x1 x2
f1 = x1^2-3*x2+5;
f2 = -2*sin(x1)+5*x2*x1;
M = [f1 ; f2];
disp(M(1));
如果要将函数句柄放入矩阵中,Matlab会告诉您这是不允许的,并建议使用单元格数组。像这样:
f1 = @(x1,x2) x1^2-3*x2+5;
f2 = @(x1,x2) -2*sin(x1)+5*x2*x1;
M = {f1 , f2};
disp(M{1});
然后你可以调用这些函数:M{1}(5,3)
返回21,M{2}(5,3)
返回76.9