我正在尝试创建一个信号,然后通过对我首先创建的 CT 信号进行采样来构建一个离散时间信号。直到最后一个 for 循环,一切正常,但我需要取 N 个由 T 分隔的样本。如果没有 if 语句,我会收到索引越界错误,我必须在信号持续时间内限制采样.出于某种原因,我的代码只进入 if 语句一次,并且为了调试,我打印出 if 和 if 中的值。尽管逻辑运算应该在不止一次迭代中为真(打印语句将显示值),但它只是不打印 if 语句中的语句。这里有什么问题?
function x = myA2D(b,w,p,T,N)
%MYA2D description: Takes in parameters to construct the CT-sampled DT signal
%b,w,p are Mx1 vectors and it returns Nx1 vector.
timeSpace = 0:0.001:3*pi;
xConstT = zeros(size(timeSpace));
%Construct Xc(t) signal
for k = 1:size(b,1)
temp = b(k) .* cos(w(k).*timeSpace + p(k));
xConstT = xConstT + temp;
end
plot(xConstT);
%Sampling CT-Signal to build DT-signal
disp(strcat('xConstT size',int2str(size(xConstT))));**strong text**
x = zeros(N,1);
sizeConstT = size(xConstT);
for i = 0:N-1
index = i .* T .* 1000 + 1;
disp(strcat('indexoo=',int2str(index)));
disp(strcat('xConstSizeeee',int2str(sizeConstT)));
if index |