全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2102 1
2016-06-13
如何将列向量A=[0 0 1 1 1]'扩充为其中向量A只可能是A=[0 0 1 1 1]'的形式即前边是0,后边是1不会出现其他的非零元素并且当第一个非零元素1出现后,后边的元素都是1是连续的中间不会有零元素,即不会出现A=[0 0 1 0 1]'或者A=[0 0 1 2 1]'、A=[0 0 1 0 2]'等情况
00000
00000
10000
01000
00100
列向量每个元素对应新矩阵的相应行,第一个元素对应第一行第二个对应第二行...,如果对应元素为0则新矩阵对应行的元素均为0,从第一个非0元素1开始,第一个非0元素放在矩阵对应行的第一列其余元素为0,第二个非零元素1放在对应行第二列其余元素为1....,最终生成的新矩阵为nxn方阵n为列向量元素个数。
如果现在有n个形式如A的向量,把他们堆叠为一个新的列向量B如B的形式可以如下
B=[0 0 1 1 1 0 0 0 1 1 0 1 1 1 1]'即每五个元素就是前边所述的A向量的一种实现形式,那么如何从向量B的第一行元素开始,每次自动截取连续5个元素进行如下操作:
列向量每个元素对应新矩阵的相应行,第一个元素对应第一行第二个对应第二行...,如果对应元素为0则新矩阵对应行的元素均为0,从第一个非0元素1开始,第一个非0元素放在矩阵对应行的第一列其余元素为0,第二个非零元素1放在对应行第二列其余元素为1....,最终生成的新矩阵为nxn方阵n为列向量元素个数。
并把最终生成的多个方阵对应竖向堆叠排列。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-6-13 21:14:30
我的天啊,文字太多了。分成小问题问,会好点。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群