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

1 view (last 30 days)
Commented: Sadiq on 22 Dec 2023
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)

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 CommentsShow 1 older commentHide 1 older comment
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
Thanks a lot dear Bruno Luong for your kind response. Yes, it's working now.