如何解决Matlab Symbolic - 如何解决“矩阵方程”:索引问题
我尝试求解一个方程组(实际上,这就像一个“矩阵方程,因为我希望 2 个矩阵的每个元素都相等)
两个相等的矩阵被命名为:
FISH_GCsp_XC_SYM
和 FISH_GCsp_XC_SYM2
我刚刚在我的系统中设置了一个关键约束,即:
% Set 1 bias spectro equal for sp and xc
FISH_GCsp_SYM(8,:) = FISH_XC_SYM(8,:)
FISH_GCsp_SYM(:,8) = FISH_XC_SYM(:,8)
这是整个剧本:
FISH_GCsp_SYM = sym('sp_',[8 8])
FISH_XC_SYM = sym('xc_',[8 8])
FISH_GCsp_SYM2 = sym('sp2_',[9 9])
FISH_XC_SYM2 = sym('xc2_',[9 9])
% Set 1 bias spectro equal for sp and xc
FISH_GCsp_SYM(8,8)
% Sum for Fisher matrices;
FISH_GCsp_XC_SYM = FISH_GCsp_SYM + FISH_XC_SYM;
% Marginalisation on 9th dimension
COV_GCsp_SYM2 = inv(FISH_GCsp_SYM2)
COV_XC_SYM2 = inv(FISH_XC_SYM2)
COV_GCsp_SYM2(9,:) = [];
COV_GCsp_SYM2(:,9) = [];
COV_XC_SYM2(9,:) = [];
COV_XC_SYM2(:,9) = [];
FISH_GCsp_SYM2 = inv(COV_GCsp_SYM2);
FISH_XC_SYM2 = inv(COV_XC_SYM2);
% Sum for Fisher matrices;
FISH_GCsp_XC_SYM2 = FISH_GCsp_SYM2 + FISH_XC_SYM2;
% Equation matricial to solve
eqn = FISH_GCsp_XC_SYM == FISH_GCsp_XC_SYM2;
% Solving : matrix1 equal to matrix2
sol = solve([eqn(:)],FISH_GCsp_XC_SYM(:,8))
符号确定的未知数是 FISH_GCsp_XC_SYM
的最后一列,即 FISH_GCsp_XC_SYM(:,8)
(so,8 unknown)
不幸的是,我在执行时遇到以下错误:
Error using sym.getEqnsVars>checkVariables (line 92)
Second argument must be a vector of symbolic variables.
Error in sym.getEqnsVars (line 54)
checkVariables(vars);
Error in solve>getEqns (line 429)
[eqns,vars] = sym.getEqnsVars(argv{:});
Error in solve (line 226)
[eqns,vars,options] = getEqns(varargin{:});
Error in building_observable_to_find_SIMPLE_EXAMPLE_ONLY_1_BIAS_COMMON (line 190)
sol = solve([eqn(:)],:))
为什么会失败?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。