Amor_matlab 2023-04-04 17:00 采纳率: 71.4%
浏览 29
已结题

请帮我看看这个代码为什么会出现这样的报错,怎样解决?

请帮我看看这个代码为什么会出现这样的报错,怎样解决?
报错结果如图:

img


代码如下:

clear all
close all
derad=pi/180;
radeg=180/pi;
twpi=2*pi;
kelmx=8;
kelmy=10;
dd=0.5;
dx=0:dd:(kelmx-1)*dd;
dy=0:dd:(kelmy-1)*dd;
iwave=3;
L=iwave;
theta1=[10 30 50];
theta2=[15 35 55];
snr=20;
n=200;
Ax=exp(-i*twpi*dx.'*(sin(theta1*derad).*cos(theta2*derad)));
Ay=exp(-i*twpi*dy.'*(sin(theta1*derad).*sin(theta2*derad)));
S=randn(iwave,n);
X0=Ax*S;
X=awgn(X0,snr,'measured');
Y0=Ay*S;
Y=awgn(Y0,snr,'measured');
Rxy=X*Y';
P=5;
Q=6;
Re=[];
for kk=1:kelmx-P+1
    Rx=[];
    for k=1:P
        Rx=[Rx;R_hankel(k+kk-1,Rxy,kelmy,Q)];
    end
    Re=[Re,Rx];
end

[Ue,Se,Ve]=svd(Re);
Uesx=Ue(:,1:L);
Uesx1=Uesx(1:(P-1)*Q,:);
Uesx2=Uesx(Q+1:P*Q,:);
Fx=pinv(Uesx1)*Uesx2;
[EVx,Dx]=eig(Fx);
EVAx=diag(Dx);
for im=1:Q
    Uesy(((im-1)*P+1):P*im,:)=Uesx(im:Q:(im+Q*(P-1)),:);
end
Uesy1=Uesy(1:(Q-1)*P,:);
Uesy2=Uesy(P+1:P*Q,:);
Fy=pinv(Uesy1)*Uesy2;
[EVy,Dy]=eig(Fy);
EVAy=diag(Dy)';
F=0.5*Fx+0.5*Fy;
[EV,D]=eig(F);
P1=EV\EVx;
P2=EV\EVy;
P1=abs(P1);
P2=abs(P2);
P11=P1';
P21=P2';
[c,Px]=max(P11);
[cc,Py]=max(P21);
EVAx=EVAx(:,Px);
EVAy=EVAy(:,Py);
theta10=asin(sqrt((angle(EVAx)/pi).^2+(angle(EVAy)/pi).^2))*radeg;
theta20=atan(angle(EVAy)./angle(EVAx))*radeg;

引用函数:

function R=R_hankel(m,Rxy,N,Q)
R1=[];
R2=[];
for mm=1:Q
    R1=[R1;Rxy(m,mm)];
end
for i=1:N-Q+1
    R2=[R2,Rxy(m,i+Q-1)];
end
R=hankel(R1,R2);


  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-06 15:18
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月10日
  • 已采纳回答 4月10日
  • 创建了问题 4月4日

悬赏问题

  • ¥15 求指导ADS低噪放设计
  • ¥15 CARSIM前车变道设置
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存