I want to run this main file with two subroutines ,but the window always show me
Error using loadNumber of columns on line 9 of ASCII fileGOA_algorithm_2.m must be the same as previouslines.Error in final_op4_Pq_P_Tq (line 2)load('GOA_algorithm_2.m','P_q')Error in GOA_algorithm_2 (line 22)[P_Tq]=final_op4_Pq_P_Tq(P_q)
main file
clear%declare
K=4;N=4;L=5;xi=10^-4nois_var_hk_2pow=0.1*(L^(-2.5))*10;nois_var_ak_2pow=[1.0000e-10 1.0000e-10 1.0000e-10 1.0000e-10 ];nois_var_dk_2pow=[1.0000e-08 1.0000e-08 1.0000e-08 1.0000e-08 ];bar_r=[10 10 10 10];P_T=10%===========================================================
P_ub=0.0824;P_lb=1.6236*10^-9;%==================================================
% declare the initial P_p and P_q
P_p=P_ub-0.618*(P_ub-P_lb);P_q=P_lb+0.618*(P_ub-P_lb);%==============================
%using op4_Pp_P_TP and op4_Pq_P_Tq
[P_Tq]=final_op4_Pq_P_Tq(P_q)[P_Tp]=final_op4_Pp_P_Tp(P_p)%=====================================
delta1=abs(P_T-P_Tp);delta2=abs(P_T-P_Tq);delta=min(delta1,delta2);c=0%========================
%開始比較
while delta > xi if delta1 <= delta2 P_ub=P_q; P_q=P_p; P_Tq=P_Tp; P_p=P_ub-0.618*(P_ub-P_lb); %save('GOA_algorithm_2.m','P_p')
[P_Tp]=final_op4_Pp_P_Tp(P_p) load('final_op4_Pp_P_Tp','P_Tp') else P_lb=P_p; P_p=P_q; P_Tp=P_Tq; P_q=P_lb+0.618*(P_ub-P_lb); %save('GOA_algorithm_2.m','P_q')
[P_Tq]=final_op4_Pq_P_Tq(P_q) load('final_op4_Pq_P_Tq','P_Tq') c=c+1; end delta1=abs(P_T-P_Tp); delta2=abs(P_T-P_Tq); delta=min(delta1,delta2);end%==============================if delta1 <= delta2 best_P=P_p [P_Tp]=final_op4_Pp_P_Tp(P_p) load('final_op4_Pp_P_Tp','P_Tp') % find F_k and rho(k)
else best_P=P_q [P_Tq]=final_op4_Pq_P_Tq(P_q) load('final_op4_Pq_P_Tq','P_Tq')% find F_k and rho(k)end
one of sub-file
function [P_Tq]=final_op4_Pq_P_Tq(P_q)load('GOA_algorithm_2.m','P_q')hat_p_up=P_qbd=100bdc=101AXX3=zeros(1,bd);lkk=1:bdclkkspace=zeros(1,bdc)rho_k=0:0.01:1for lkk=1:bdc %rho_k=0.6
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for dd=1:bd %OP4
%declare K=4; N=4; L=5; xi=10^-4 nois_var_hk_2pow=0.1*(L^(-2.5))*10; nois_var_ak_2pow=[1.0000e-10 1.0000e-10 1.0000e-10 1.0000e-10 ]; nois_var_dk_2pow=[1.0000e-08 1.0000e-08 1.0000e-08 1.0000e-08 ]; bar_r=[10 10 10 10]; P_T=10 %channel build
h_1=normrnd( 0,sqrt(0.1*(L^(-2.5))) ,[4,1])+1i*normrnd( 0,sqrt(0.1*(L^(-2.5))) ,[4,1]) h_2=normrnd( 0,sqrt(0.1*(L^(-2.5))) ,[4,1])+1i*normrnd( 0,sqrt(0.1*(L^(-2.5))) ,[4,1]) h_3=normrnd( 0,sqrt(0.1*(L^(-2.5))) ,[4,1])+1i*normrnd( 0,sqrt(0.1*(L^(-2.5))) ,[4,1]) h_4=normrnd( 0,sqrt(0.1*(L^(-2.5))) ,[4,1])+1i*normrnd( 0,sqrt(0.1*(L^(-2.5))) ,[4,1]) h_kk=cat(2,h_1 ,h_2 ,h_3, h_4) for n=1:4 h_k{n}=h_kk(1:4 , n); n=n+1; end %==========================
cvx_begin variable FNNK_up(N,N,K) semidefinite;%c7
%========================== Fkk_up=cat(2,FNNK_up); up=0 for o_up=1:4 Fk_up{o_up}=Fkk_up(1:4,o_up+3*up:4*o_up) up=up+1; end tr_ace_up=0 for t=1:K tr_ace_up=tr_ace_up+trace(Fk_up{t}) end %====================================
%object function
minimize( tr_ace_up ) %==================================== %Constraint
subject to %===================================================
%c5
c5_left_hand_up = 0; for k = 1:K sum_5_up = 0; for j = 1:K if j ~= k sum_5_up = sum_5_up + h_k{k}' * Fk_up{j} * h_k{k}; end end c5_left_hand_up = c5_left_hand_up - sum_5_up+ (h_k{k}' * Fk_up{k} * h_k{k}*inv_pos(bar_r(1))) c5_right_hand_up= nois_var_ak_2pow(1)*rho_k(lkk)+ nois_var_dk_2pow(1) real( c5_left_hand_up ) *rho_k(lkk) >= c5_right_hand_up end %=================================================== %c10
c10_left_hand_up = 0; sum_10_up = 0; for j = 1:K sum_10_up= sum_10_up + h_k{k}' * Fk_up{j} * h_k{k}; end c10_left_hand_up =real(c10_left_hand_up + sum_10_up+nois_var_ak_2pow(1))*(1-rho_k(lkk)) c10_right_hand_up=hat_p_up c10_left_hand_up>= c10_right_hand_up cvx_end c3(dd)=AXX3(dd)+cvx_optval; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
allthings=c3 ck=1:bd c(ck)=~isinf(c3(ck)) if c(ck)==0 b(ck)=c(ck) else b(ck)=c3(ck) end usp=b %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%find which value ,ignore 0, is the minimum value
okoko=usp iwant=min(okoko) us(lkk)=lkkspace(lkk)+iwant allthings_compare=us min_samepower_diff_rho_F=min(us(us>0)) P_Tq=min_samepower_diff_rho_Fendsave('final_op4_Pq_P_Tq.m','P_Tq')
I don't know why does the window mention the ASCII file,i didn't use the ASCII file before,so i can't understand why the window told me
Number of columns on line 9 of ASCII fileGOA_algorithm_2.m must be the same as previouslines.
and P_Tq and P_Tp are both a scalar(value)
Best Answer