如何在函数SUB MATLAB中不求元素重矩阵
我有这个:如何在函数SUB MATLAB中不求元素重矩阵,matlab,Matlab,我有这个: syms X Y; F=X*Y; A=ones(2); B=ones(2); 为什么subs(F,{X,Y},{A,B})=one(2)? 如何获得2*one(2)?首先尝试一下,将X和Y初始化为符号矩阵 X=sym('X',[2 2]); Y=sym('Y',[2 2]); 这可能是一个bug,但是这里有一个简单的解决方法。正如David所说,将X和Y初始化为矩阵 X=sym('X',[2 2]); Y=sym('Y',[2 2]); 之后,您需要使用两个替换,因为有时Mat
syms X Y;
F=X*Y;
A=ones(2);
B=ones(2);
为什么subs(F,{X,Y},{A,B})=one(2)?
如何获得
2*one(2)
?首先尝试一下,将X
和Y
初始化为符号矩阵
X=sym('X',[2 2]);
Y=sym('Y',[2 2]);
这可能是一个bug,但是这里有一个简单的解决方法。正如David所说,将
X
和Y
初始化为矩阵
X=sym('X',[2 2]);
Y=sym('Y',[2 2]);
之后,您需要使用两个替换,因为有时Matlab会将“矢量化”输入转换为符号表达式
F = X*Y;
A = ones(2);
B = ones(2);
FA = subs(F, X, A);
FAB = subs(FA, X, B);
现在如何获得
2*one(2)
subs(F,{X,Y},{A,B})
不工作X=sym('X',[2])代码>Y=sym('Y',[2])代码>f=X*Y代码>A=一(2)代码>B=一(2)代码>subs(f,{X,Y},{A,B})
ans=[X1_1*Y1_1+X1_2*Y2_1,X1_1*Y1_2+X1_2*Y2][X2_1*Y1_1+X2_2*Y2_1,X2_1*Y1_2+X2_2*Y2][/code>如何插入A和B?X
和Y
的每个元素称为Xi_j
,其中i是行,code>Y是列。您必须单独替换每个值。你为什么要这样做,为什么不干脆做一个呢?