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组成的矩阵。但是,我在访问matrix.This中的特定元素时遇到了问题,因为当我只想要一个特定的索引时,它会认为我想要计算矩阵。有办法绕过这件事吗?
发布于 2015-03-19 03:16:40
如果您想要符号表达式而不是函数,则不需要括号中的参数:
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
发布于 2022-01-08 07:49:15
这个怎么样?
syms x1 x2
f1 = x1^2-3*x2+5;
f2 = -2*sin(x1)+5*x2*x1;
M = [f1 ; f2];
disp([1 0]*M); % accessing the element 1 by scalar product.这样,您就可以访问函数向量的元素。
https://stackoverflow.com/questions/29136574
复制相似问题