我正在尝试创建一个扫频余弦,我希望能够按照我的要求设置相位。我试过那段代码,但是我收到了一个错误。我想创建一个矢量垫(1:40),我可以手动设置它的相位。
Fs = 32000; %Sampling Frequency
t = 0: 1/Fs: 10 -1/Fs; %Time
tt = 10; %Time when the chance occurs
f1 = 20; %Starting Frequency
f2 = 250; %Ending Frequency
cosineph = zeros(1,40); %Phase of cosines
for iMat= 1:40
k=iMat/2;
mat(iMat) = chirp(t,k*f1,tt,k*f2,'linear',cosineph(iMat));
end
我得到的错误是“在作业A(I)= B中,B和I中的元素数必须相同。”
现在,我猜它是指变量t,所以我尝试将其实现为嵌入式for,但没有得到我想要的结果。
有什么建议吗?
由于
答案 0 :(得分:2)
您正在尝试将向量(chirp
的输出)分配给矩阵的单个元素(mat
)。这不会奏效。您可以使用单元格数组。在下面的示例中,我使用单元格数组mat
替换了outArray
。
Fs = 32000; %Sampling Frequency
t = 0: 1/Fs: 10 -1/Fs; %Time
tt = 10; %Time when the chance occurs
f1 = 20; %Starting Frequency
f2 = 250; %Ending Frequency
cosineph = zeros(1,40); %Phase of cosines
for iMat= 1:40
k=iMat/2;
outArray{iMat} = chirp(t,k*f1,tt,k*f2,'linear',cosineph(iMat));
end