如何在matlab中求解线性符号方程

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

我试图在Matlab中解决下面的线性符号系统(20个方程),我得到的解中的所有值都是零,我的实现是否有任何错误?资料

%---------------------
% clear and close all
%---------------------
clearvars
close all
clc
%---------------------
% Data type long
%---------------------
format long g
%---------------------
% Read data
%---------------------
load('data.mat')
%---------------------------
% Symbolic variables
syms X11 X12 X13 X14 X21 X22 X23 X24 X31 X32 X33 X34 X41 X42 X43 X44;
%========================
% Quadric 4 x 4 matrix
Q = [X11, X12, X13, X14;
    X21, X22, X23, X24;
    X31, X32, X33, X34;
    X41, X42, X43, X44];

% loop all projections
for i=1:10
    % for wach projection matrix
    P = PPM(:, :, i);

    % Autocalibration equation
    DIAC(3*(i-1)+1:3*i,:) = P * Q * P';

    L(2*(i-1)+1:2*i,1) = DIAC(3*(i-1)+1:3*i-1,3)==0 ;
end

[A,B] = equationsToMatrix(L,[X11, X12, X13, X14,...
     X21, X22, X23, X24, X31, X32, X33, X34,X41, X42, X43, X44]);

Sol = linsolve(A,B)
matlab symbolic-math linear-equation
1个回答
0
投票

解决方案在此解释 场地,按照我得到的解释。

[Mat,B] = equationsToMatrix(L,[X11, X12, X13, X14,...
     X21, X22, X23, X24, X31, X32, X33, X34,X41, X42, X43, X44]);
% Solution is here
Sol = linsolve(Mat,B);
© www.soinside.com 2019 - 2024. All rights reserved.