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

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
Bruno Luong 2023년 12월 22일
편집: Bruno Luong 2023년 12월 22일
k need to be column vector and your transposed is miss placed. The correct is
k = -((M/2-1):M/2).';

댓글 수: 3

Thanks a lot dear Bruno Luong for your kind response. But it's wrong because in my original code the values of k ranges from -(M/2-1) to M/2 but your code gives only two values to k namely -3 and -4.
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.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

질문:

2023년 12월 22일

댓글:

2023년 12월 22일

Community Treasure Hunt

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

Start Hunting!

Translated by