###### 问题遇到的现象和发生背景
###### 问题相关代码,请勿粘贴截图
for j=1:J
A(j,l)=0;
for k=1:K
A(j,l)=A(j,l)+((HH(j,k,l))^2*P0*eta)/N0;
end
end
###### 运行结果及报错内容
位置 3 的索引超出数组范围(不能超过 6)。
出错 cyclemotive (line 247)
A(j,l)=A(j,l)+((HH(j,k,l))^2P0eta)/N0;
###### 我的解答思路和尝试过的方法
###### 我想要达到的结果
应该怎么解决呀
#MATLAB
断点跟呀,看你的数组长度到底是多少,J和K又是多少
就放这么点代码出来,实在看不出到底哪里超了
%%--------------开始优化时隙-----------------
N0_dBm=-75; %dBm/Hz;
N0=(10^(N0_dBm/10))*(10^(-3));
% A=zeros(J,L);
for j=1:J
A(j,l)=0;
for k=1:K
A(j,l)=A(j,l)+((HH(j,k,l))^2*Pm*eta)/N0;
end
end
%二分法求得最优的T0,T1
f=@(T0)(1/log(2))*((A(1,l)*Tsum*2)/((Tsum-T0)+A(1,l)*T0*2)+(A(2,l)*Tsum*2)/((Tsum-T0)+A(2,l)*T0*2)+(A(3,l)*Tsum*2)/((Tsum-T0)+A(3,l)*T0*2)+(A(4,l)*Tsum*2)/((Tsum-T0)+A(4,l)*T0*2)+(A(5,l)*Tsum*2)/((Tsum-T0)+A(5,l)*T0*2)+(A(6,l)*Tsum*2)/((Tsum-T0)+A(6,l)*T0*2))-(log2(1+(A(1,l)*T0*2)/(Tsum-T0))+log2(1+(A(2,l)*T0*2)/(Tsum-T0))+log2(1+(A(3,l)*T0*2)/(Tsum-T0))+log2(1+(A(4,l)*T0*2)/(Tsum-T0))+log2(1+(A(5,l)*T0*2)/(Tsum-T0))+log2(1+(A(6,l)*T0*2)/(Tsum-T0)));
a=0.0001;
b=Tsum-0.0001;
g=0.00001;
e=b-a;
j=0;
while e>g
c=(a+b)/2;
if f(a)*f(c)<0
b=c;
elseif f(a)*f(c)>0
a=c;
else
a=c;b=c;
end
e=e/2;
j=j+1;
end
T0=(a+b)/2;
T1=Tsum-T0;
t0(l)=T0;
t1(l)=T1;
%%--------------时隙优化完毕-----------------
%%%%%%%%%%优化无人机-用户调度%%%%%%%%%%%%%%
cvx_begin
variables s0;
variables tao(J,M,L) ;
% expression pj,pjj;
% expression P(J,K,L);
P=zeros(J,K,L);%初始化上行功率
for l=1:L
for j=1:J
for k=1:K
% for m=1:M
P(j,k,l)=(eta*HH(j,k,l)*Pm*t0(l))/t1(l);
% end
end
for k=1:K
pj=0;
pjj=0;
for m=1:M
kk=k+1:K;
mm=3-m;
% pj=pj+P(j,kk,l);
pr(ii)=P(jj,kk,l);
% pj=sum(P(jj,kk,l).*AA(jj,mm,l));
% pjj=pjj+P(j,k,l);
pj(ii)=P(jj,k,l)*AA(jj,mm,l);
ii=ii+1;
% pjj=pjj+P(jj,k,l).*AA(jj,mm,l);
end
IN=sum(pr)+sum(pj)+N0;
% IN=pj*HH(jj,kk,l)+pjj*HH(jj,k,l)+N0;
S = P(j,k,l).*HH(j,k,l);
% taor(j,m,l)=log(1+S*inv_pos(IN))/log(2);
taor(j,m,l)=log(1+S/IN)/log(2);
rou(j,m,l)=(Ar(j,m,l)+taor(j,m,l))^2+2*(Ar(j,m,l)+taor(j,m,l))*(AA(jj,m,l)-Ar(j,m,l))+2*(Ar(jj,m,l)+taor(j,m,l))*(tao(j,m,l)-taor(j,m,l));
% rou(k,m,n)=(Ar(k,m,n)+taor(k,m,n))^2+2*(Ar(k,m,n)+taor(k,m,n))*(AA(k,m,n)-Ar(k,m,n))+2*(Ar(k,m,n)+taor(k,m,n))*(tao(k,m,n)-taor(k,m,n));
R0(j,m,l)=t1(l)*(rou(j,m,l)-(AA(j,m,l)^2+tao(j,m,l)^2))/2;
end
R00(j,l)=sum(R0(j,:,l));
end
end
那可以帮我看下72行的S为啥工作区中是NAN吗
还有下面这个问题,麻烦了
错误使用 + (line 83)
Disciplined convex programming error:
Illegal operation: {real affine} - {invalid}
出错 - (line 21)
z = plus( x, y, true, cheat );
出错 cyclemotive (line 312)
rou(j,m,l)=(Ar(j,m,l)+taor(j,m,l))^2+2*(Ar(j,m,l)+taor(j,m,l))(AA(jj,m,l)-Ar(j,m,l))+2(Ar(jj,m,l)+taor(j,m,l))*(tao(j,m,l)-taor(j,m,l));