【问题标题】:Combining multiple column vectors into larger column vector将多个列向量组合成更大的列向量
【发布时间】:2015-01-22 14:17:18
【问题描述】:

我从 32 个列向量开始,例如 [1;2;3;4]。它们都是这种格式,我想将它们组合成 2 个不同的列向量,如下所示:

chan0=[adc0;adc2;adc4...]
chan2=[adc1;adc3;adc5...]

所以 chan0 看起来像:

[0;1;2;3;4;5;6;7;8;9;...]

我试过了

for i=0:31
    data_in = dlmread(['raw\adc',num2str(i),'.txt']);
    if(mod(i,2)==0)
        chan0=chan0+data_in;
    else
        chan2=chan0+data_in;
    end
end

首先我显然得到一个错误,说 chan0 未定义,那么我应该将 chan0 和 chan2 定义为什么?

其次,即使这样,这段代码也会给我想要的向量吗?

第三,不妨趁我在这里的时候,把chan0和chan2都写到一个txt文件中

dlmwrite('raw\chan0.txt',chan0);
dlmwrite('raw\chan2.txt',chan2);

对吗?

谢谢, 泰勒

【问题讨论】:

  • 为什么循环中有dlmread()?它似乎在所有循环迭代中从同一个文件中读取。
  • 抱歉修正了这个问题。我只是想确保它正在读取数据。

标签: matlab vector


【解决方案1】:

你可以试试这个-

chan0=[];
chan2=[];
for i=0:31
    data_in = dlmread(['raw\adc',num2str(i),'.txt']);
    if(mod(i,2)==0)
        chan0=[chan0;data_in];
    else
        chan2=[chan2;data_in];
    end
end

【讨论】:

  • 给出了一个带有 64 个零的列向量,然后是数据,我想它很容易摆脱。谢谢!
  • 我删除了chan0=zeros(64,1),因为这给出了错误的结果,您可以简单地按照上面的说明执行chan0=[]
猜你喜欢
  • 2013-03-09
  • 1970-01-01
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-25
  • 1970-01-01
  • 2020-06-15
相关资源
最近更新 更多