对于这3个向量线性相关的k值是多少

时间:2015-09-24 11:28:06

标签: matlab

所以我有这三个载体:

enter image description here

我必须找出这三个向量的k值是线性相关的。我已尝试将 rref linsolve 与syms一起使用,但这没有用。我对MatLab和矩阵比较新,所以请记住这一点。

我知道为了检查矢量是否与线性相关,c1 ... cn必须非零

我还想知道在MatLab中解决这些类型的方程式时如何使用变量。

1 个答案:

答案 0 :(得分:7)

一组向量(至少如果n维度中有n个向量)是线性相关的,如果从它们构造的矩阵是单数的,即如果它的行列式为0.如果你有符号数学工具箱,你可以构造一个符号矩阵:

syms k;
M = [1 k 0; -1 1 2; 0 0 3];
det(M)

这将告诉您det(M)==3*k+3,您可以手动解决。但一般来说,你可以让matlab来解决它:

solve(det(M)==0,k);

会告诉你答案是-1。因此,除非k==-1,否则这些向量是线性无关的(即它们包含欧几里德空间的基础R^3)。

更新:如果您没有拥有符号数学工具箱,您仍然可以尝试找到数值解法。首先定义一个函数

detfun=@(k) det([1 k 0; -1 1 2; 0 0 3]);

对于k的任何值,将为您提供矩阵的行列式,例如detfun(3)给出12.然后您可以使用fsolve找到等式的数值解{ {1}},通过调用

detfun(k)==0

其中第二个参数 fsolve(detfun,0) 指的是0执行搜索的起点。这会告诉您答案是fsolve,但只需拨打k==-1一次,您就可以获得一个解决方案。如果你的函数有多个根,你必须使用起点来找到更多的根。在这种情况下,您可以知道您的函数(即fsolvedet(M(k))中是线性的,因此它具有唯一的根。