フィルターのクリア

why does the following code give error?

2 ビュー (過去 30 日間)
Sadiq
Sadiq 2023 年 12 月 13 日
コメント済み: Sadiq 2023 年 12 月 13 日
u=[3 4 30 50];% Desired Vector
b=u;
[R,C]=size(b);
P=C/2;
M=2*C;
% calculate observed vector
xo=zeros(1,M);
for k=1:M
for i=1:P
xo(1,k)=xo(1,k)+1*exp(1i*((-pi/2)*sin(u(P+i))*(k-1)+(pi/(16*u(i)))*cos^2(u(P+i))*(k-1)^2)));
Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters.
end
end
xe=zeros(1,M);
for k=1:M
for i=1:P
xe(1,k)=xe(1,k)+1*exp(1i*((k-1)*(-pi/2)*sin(b(P+i))+(pi/(16*b(i)))*cos^2(b(P+i))*(k-1)^2));
end
end
abc=0.0;
for m1=1:M
abc=abc+(abs(xo(1,m1)-xe(1,m1))).^2;
end
abc=abc/M;
e=abc

採用された回答

Torsten
Torsten 2023 年 12 月 13 日
Use
xo(1,k)=xo(1,k)+1*exp(1i*((-pi/2)*sin(u(P+i))*(k-1)+(pi/(16*u(i)))*cos(u(P+i))^2*(k-1)^2));
xe(1,k)=xe(1,k)+1*exp(1i*((k-1)*(-pi/2)*sin(b(P+i))+(pi/(16*b(i)))*cos(b(P+i))^2*(k-1)^2));
instead of
xo(1,k)=xo(1,k)+1*exp(1i*((-pi/2)*sin(u(P+i))*(k-1)+(pi/(16*u(i)))*cos^2(u(P+i))*(k-1)^2)));
xe(1,k)=xe(1,k)+1*exp(1i*((k-1)*(-pi/2)*sin(b(P+i))+(pi/(16*b(i)))*cos^2(b(P+i))*(k-1)^2));
  5 件のコメント
Torsten
Torsten 2023 年 12 月 13 日
編集済み: Torsten 2023 年 12 月 13 日
Because even the order in which terms are multiplied can matter for the result.
Here, the terms that are summed are absolutly identical while in your previous code, the multiplicative order in both terms differs.
Sadiq
Sadiq 2023 年 12 月 13 日
Thanks a lot dear Torsten for your prompt response. Yes now I got it. Thank you once again.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangePhase-Locked Loops についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by