用matlab提取一个长长的数据序列中的等间隔的提取区块元素,比如第[4 5 6] [14 15 16]等。请看本次分解。
工具/原料
matlab
方法/步骤
1
首先需要掌握的知识:1、[m,n]=size(a)求a矩阵的行、列值并分别赋值给m和n。2、如果是一个向量,求长度的函数为length,如m=length(b)3、改变矩阵形状的函数reshape,reshape(a,m,n)是把a变成一个m*n的矩阵,前提是要知道a的矩阵规模。
2
举例:我们从矩阵a是一个很长的列向量说起。如果a是一个矩阵,可以用reshape先把它变成向量。
3
a=1:12*300; %比如a是一个每天12个点,一共300天的数据m=length(a);%先求一下矩阵规模b=reshape(a,12,m/12);%b成为一个12行的矩阵,a的前k(k<12)个元素,是b的第一列的前k个元素%也就是说,b矩阵的获得,是按照把a的所有元素按列来一列一列填满的,不是按行逐个填。c=b([6 7 8],:);%取区块,比如每天的第6--8个采样点%把c再变成列向量[m,n]=size(c);d=reshape(c,m*n,1);
注意事项
在数据序列处理中,掌握这一点很有帮助
上一篇:指标权重设置方法
下一篇:肌底液和精华液的使用区别