变量矢量的线性组合

时间:2017-07-09 06:59:13

标签: matlab

我有不同数量的向量,它们具有线性相关性。我想找到系数的线性组合,它们的总和为0。 例如:

a*[1;1;1]+b[2;2;2]=0
a=2, b=-1

我可以使用迭代器,但是向量的数量正在变化并且可能非常大。

由于

1 个答案:

答案 0 :(得分:0)

<强>解决方案

您可以使用following approach

  1. 将基本向量排列在列
  2. Use SVD计算一个非平凡的解决方案。
  3. <强>码

    %defines input
    v1 = [1;1;1];
    v2 = [2;2;2];
    
    %perform calculation
    [U S V] = svd([v1,v2]);
    x = V(:,end)
    

    <强>结果

    v1*x(1)+v2*x(2)
    
    ans =
     0
     0
     0
    
    x =
    0.8944
    -0.4472