Just by changing values of k, the given code gives error. Why?

1 view (last 30 days)
I changed the values of k in line 7 and it gives error. i don't know why?
clear all;clc
u=[3 4 30 50];% Desired Vector
b=u;
[R,C]=size(b);
P=C/2;
M=2*C;
%k = (1:M).';
k = -(M/2-1):M/2.';
i = (1:P);
xo = sum(1*exp(1i*((k-1).*(-pi/2).*sind(u(P+i))+((k-1).^2.*pi./(16*u(i))).*cosd(u(P+i)).^2)),2);
xe = sum(1*exp(1i*((k-1).*(-pi/2).*sind(b(P+i))+((k-1).^2.*pi./(16*b(i))).*cosd(b(P+i)).^2)),2);
%%%%%%%%%%%%%%%%%%
% MSE
%%%%%%%%%%%%%%%%%%
e=norm(xo-xe).^2/(M)

Accepted Answer

Bruno Luong
Bruno Luong on 22 Dec 2023
Edited: Bruno Luong on 22 Dec 2023
k need to be column vector and your transposed is miss placed. The correct is
k = -((M/2-1):M/2).';
  3 Comments
Bruno Luong
Bruno Luong on 22 Dec 2023
Edited: Bruno Luong on 22 Dec 2023
Sorry wrong place for open parenthesis, it should be
u=[3 4 30 50];% Desired Vector
b=u;
[R,C]=size(b);
P=C/2;
M=2*C;
k = (-(M/2-1):M/2).'
k = 8×1
-3 -2 -1 0 1 2 3 4
Sadiq
Sadiq on 22 Dec 2023
Thanks a lot dear Bruno Luong for your kind response. Yes, it's working now.

Sign in to comment.

More Answers (0)

Categories

Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!