假设我有一个向量 A 1x10000 double,我想对这个向量进行一些操作,并将其存储在一个新的向量 B 1x1000000 double(A*100) 中。
例如,我想对 A(1) 进行操作,比如说乘以 2,执行 100 次。并将结果放在向量 B 的 1:100 位置。然后取 A(2),并进行相同的操作,但将这些结果存储在向量 B 的 101:200 位置。
我怎样才能做到这一点?
我尝试过使用双循环,但我不知道如何更改它,以便第二轮存储在 101:200 位置。
这是我一直在尝试做的代码:
% Random bitstream
msg = rand(1,10000) > 0.5;
% generate phaseshift bitstream with phaseshift +-180deg(+-1)
L = length(msg);
newmsg = zeros(1,L);
for i=1:L,
if msg(i) == 0
newmsg(i) = -1;
else
newmsg(i) = 1;
end
end
% t = 0:.1:(L/100)-1;
t = 0:0.1:10-0.1;
fc = 10e6;
fs = 2*fc;
sint = sin(2*pi*fc/fs*t);
%plot sine
plot(t*1/fs,sint);
%% This is the problem
Tx1 = zeros(1,L*length(t));
m = 0;
for j=1:L*length(t),
m = m+1;
if (m < L)
for k=1:L,
Tx1(k) = sint.*newmsg(m);
end
end
end