公式是C(m,n)=-sum(abs(s(i,:)^4*exp(-j*(m-n)*2*pi*sin(rtheta(i))/l)); 程序这么写,错在哪里?for m=1:sensor_number; for n=1:sensor_number; i=1:ll; C(m,n)=-sum(abs(s(i,:)^4*exp(-j*(m-n)*2*pi*sin(rtheta(i))/l)); endend
按以下两位的改也不行,错误提示始终是??? Error using ==> mpowerMatrix must be square.Error in ==> Untitled at 28 C(m,n)=-sum(abs(s(i,:))^4*exp(-j*(m-n)*2*pi*sin(rtheta(i))/l)); s(i,:)是s的行向量,代表一个信号,abs(s(i,:))是信号的模
需要注意:C(m,n)是一个数,也就是C矩阵的第m行,第n列的那个数。而这两行:i=1:llC(m,n)=-sum(abs(s(i,:)^4*exp(-j*(m-n)*2*pi*sin(rtheta(i))/l)); 表达什么意思,我看不明白。从s(i,:)可以看出,你这里的s可能是一个矩阵,所以,你是要把s矩阵里面所有的元素都加权求和吗?还是只对某一行或某一列进行加权求和?如果是对所有元素进行加权求和,那可能需要再嵌套一个循环:for i=1:llC(m,n)=C(m,n)-sum(abs(s(i,:)^4*exp(-j*(m-n)*2*pi*sin(rtheta(i))/l)); end此外,还要注意的是:1.s(i,:)这里的冒号应是英文的冒号2.s(i,:)^4这里如果是向量求幂的话,要写成s(i,:).^4如果有疑问,请补充说明。 |
|