请问一下,这个代码的问题可以怎样解决?
报错结果如图:
clear all
close all
derad=pi/180;%角度转化为弧度
radeg=180/pi;%弧度转化为角度
twpi=2*pi;
kelm=8;%阵元数
dd=0.5;%阵元间距
d=0:dd:(kelm-1)*dd;
iwave=3;%信源数
theta=[10 30 60];%波动方向
snr=10;%信噪比
n=500;%采样数
A=exp(-j*twpi*d.'*sin(theta*derad));%方向向量
S=randn(iwave,n);%信源数量
X0=A*S;%接受信号
X=awgn(X0,snr,'measured');%添加噪声
Rxx=X*X'/n;%计算协方差矩阵
InvS=inv(Rxx);
[EVx,Dx]=eig(Rxx);%特征值分解
EVAx=diag(Dx)';
[EVAx,Ix]=sort(EVAx);%特征值从小到大排序
EVAx=fliplr(EVAx);%左右翻转,从小到大排序
EVx=fliplr(EVx(:,Ix));%对应特征向量排序
Unx=EVx(:,iwave+1:kelm);
syms z
pz=z.^([0:kelm-1]');
pz1=(z^(-1)).^([0:kelm-1]);
fz=z.^(kelm-1)*pz1*Unx*Unx'*pz;
a=sym2ploy(fz);
zx=roots(a);
rx=zx.';
[as,ad]=(sort(abs((abs(rx)-1))));
DOAest=asin(sort(-angle(rx(ad([1,3,5])))/pi))*180/pi;