矩阵插值的问题

楼主: fkpanda (fkpanda)   2017-12-23 10:11:43
小弟菜鸟想请问各位大大
现在有一个1*60000的矩阵
想要每次取样2个点并在2点之间插入0
我试着用循环但没有成功
请问循环该用什么方法
或是有其他的方式
感谢各位大大
作者: LiamIssac (Madchester)   2017-12-23 11:12:00
先看看加入0之后 向量的总长度多少(假设n) 然后建立一个n的0向量 然后把原本的按位置丢进去丢进去那步 可以用简单循环 或是你可以试试看arrayfun或是bsxfun之类的函数
楼主: fkpanda (fkpanda)   2017-12-23 13:19:00
我就是卡在循环那个步骤 我的想法是用 n=1For I=1:90000y(1,i+n+1)=y(1,i+n)可是好像不能这样用
作者: ejialan (eji)   2017-12-23 14:13:00
设原矩阵A, B=reshape(A,2,30000);C=[B(:,1);zeros(1,30000);B(:,2)];D=reshape(C,1,90000)C打错 C=[B(1,:);zeros(1,30000);B(2,:)];
作者: profyang (prof)   2017-12-23 14:24:00
B=[A;zeros(size(A))]; C=B(1:end-1).'; 你是要这样吗?两两之间插入0 最后C总共长度是2*60000-1阿 上面用C=B(1:end-1)就好了 不用.'
作者: ejialan (eji)   2017-12-23 14:30:00
我本来觉得是楼上那样 但看原po推文的90000我猜是我那样
楼主: fkpanda (fkpanda)   2017-12-23 16:15:00
抱歉表达有点不清楚 意思是 假设原本元素是123456改成102304506谢谢各位 我晚上回去试试
作者: profyang (prof)   2017-12-23 18:02:00
那就是ejialan大的才对
楼主: fkpanda (fkpanda)   2017-12-24 18:20:00
已解决谢谢各位

Links booklink

Contact Us: admin [ a t ] ucptt.com