【问题标题】:Solving a homogeneous underdetermined system of symbolic linear equations求解符号线性方程组的齐次欠定系统
【发布时间】:2017-01-19 00:36:09
【问题描述】:

假设我在 3 个变量中有 2 个符号方程:

syms u v w
eq1 = u+v+w == 0
eq2 =     w == 0

两者都应该等于0。 有没有办法将这些方程提供给 Matlab 并让 Matlab 得出结论:

u=-v
w=0

我尝试了以下方法:

%Attempt 1:
x=solve([eq1 eq2],[u v w]);
x.u, x.v, x.w 
%Outputs 0 for each of these

% Attempt 2:
[A,B]=equationsToMatrix([eq1 eq2],[u v w]);
linsolve(A,B)
%Outputs 0 for all variables and gives a warning "Warning: The system is rank-deficient. Solution is not unique."

所以它似乎只返回微不足道的零解决方案。这当然是一个基本的例子。我希望它适用于 81 个相互交织的变量。

【问题讨论】:

  • 那么您打算将eq1eq2 的值设为零,还是任意设置?我不知道你怎么能得出结论 w = 0 否则。
  • 好吧,在我之前的编辑中,solve() 包含 eq1==0 和 eq2==0。为了清楚起见,编辑了问题。
  • 这主要是由于一个错误,我以不同的方式解决了问题

标签: matlab linear-algebra symbolic-math


【解决方案1】:

由于您有两个方程,您只能求解两个变量,而不是三个。您想查看u=-vw=0,这是uw 中的解决方案,但v 中没有。

对我来说x = solve([eq1,eq],u,w) 有效,它给出了x.u=-vx.w=0

【讨论】:

  • 嗯,这似乎是合理的,我在尝试解决更大的实际示例时可能犯了一个错误......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-21
  • 1970-01-01
  • 2018-05-01
相关资源
最近更新 更多