matlab中函数subspace,求两个向量之间的夹角,为什么要对向量矩阵转置?如:A(0,1),B(1,0).用矩阵表示之后为A=[0,1],B=[1 0].调用subspace(A,B),结果为0;必须对AB进行转置,如subspace(A',B'),请问为什么

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 05:29:22

matlab中函数subspace,求两个向量之间的夹角,为什么要对向量矩阵转置?如:A(0,1),B(1,0).用矩阵表示之后为A=[0,1],B=[1 0].调用subspace(A,B),结果为0;必须对AB进行转置,如subspace(A',B'),请问为什么
matlab中函数subspace,求两个向量之间的夹角,为什么要对向量矩阵转置?
如:A(0,1),B(1,0).用矩阵表示之后为A=[0,1],B=[1 0].调用subspace(A,B),结果为0;必须对AB进行转置,如subspace(A',B'),请问为什么需要转置?

matlab中函数subspace,求两个向量之间的夹角,为什么要对向量矩阵转置?如:A(0,1),B(1,0).用矩阵表示之后为A=[0,1],B=[1 0].调用subspace(A,B),结果为0;必须对AB进行转置,如subspace(A',B'),请问为什么
函数实现往往会有一些限制.如果要函数覆盖所有情况,函数实现者代价很高得.你如果简单转置就可以,那就转置吧

其实,我觉得,不转置也可以给出结果的,而且这个题目中给出的结果和转置后是一样的。如果A和B都不是一维的向量,计算出的结果会有不同。因为matlab是将每一列作为一个向量,而不是把每一行作为一个向量。在你的这个里面,如果不转置,给出的是矩阵[0 1]和矩阵[1 0]之间的夹角,如果转置,给出的是向量[0 1]‘和向量[1 0]’之间的夹角。...

全部展开

其实,我觉得,不转置也可以给出结果的,而且这个题目中给出的结果和转置后是一样的。如果A和B都不是一维的向量,计算出的结果会有不同。因为matlab是将每一列作为一个向量,而不是把每一行作为一个向量。在你的这个里面,如果不转置,给出的是矩阵[0 1]和矩阵[1 0]之间的夹角,如果转置,给出的是向量[0 1]‘和向量[1 0]’之间的夹角。

收起