矩阵和向量的转换

原创 2018-04-18 02:17 阅读(137)次

向量是维度N*1的矩阵,是一种特殊的矩阵

不过在机器学习计算中,经常需要把矩阵和向量互相转换。比如神经网络中的fminunc方法的使用就需要把矩阵作为向量传递(方法约定参数和返回值都是向量)。这就想我们需要符合方法参数的定义把单个对象放到List或者set进行传递一样。

假设有1个或者多个矩阵,要变成一个向量

vector = [matrix1(:);matrix2(:)]

如上,将matrix1和matrix2中的元素遍历出来放在, 每个元素都作为矩阵中的一行

b = [1:1:3;2:2:6;3:3:9];
a = [1:1:3;2:2:6;3:3:9];
c = [a(:);b(:)];
得到的c

c =

   1
   2
   3
   2
   4
   6
   3
   6
   9
   1
   2
   3
   2
   4
   6
   3
   6
   9

将向量变成矩阵

matrix1 = reshape(c(1:9),3,3)

将向量c中的第1到第9个元素转成 3*3的矩阵。

matrix1 =

   1   2   3
   2   4   6
   3   6   9


本文完。

本站作品的版权皆为作品作者所有。

本站文字和内容为本站编辑或翻译,部分内容属本站原创,所以转载前务必通知本站并以超链接形式注明内容来自本站,否则以免带来不必要的麻烦。

本站内容欢迎分享,但拒绝有商业目的的转载!