انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
خطای double

خطای double

#1
با سلام خدمت دوستان عزیز،
من میخوام  یک تابع را تعریف کنم وبعد الگوریتم ژنتیک را فراخوانی کنم و بهینه سازی انجام بدم.کدی که نوشتم بصورت زیر است  من 2تا سوال دارم که ممنون میشم اگه کسی میتونه بهم کمک کنه.سوال اولم ،با اینکه ماتریس p را تعریف کردم با خطایUndefined function 'P' for input arguments of type 'double '.روبرو میشم برای رفع آن باید چکار کنم؟؟؟
و بعد برای فراخوانی الگوریتم ژنتیک دستور ga را کجا باید بنویسم؟ آیا جای که در کدم نوشتم درست است؟
ممنون

کد پی‌اچ‌پی:
function z=dash(a)
z=0;
######### Soil (infill) Properties ########
fii=46*pi/180  
gamai
=16.34 
######### Soil (bed) Properties ########
fi=46*pi/180
gama
=16.34
######### Foundation Properties ########
B=0.1;

%
######## load data ###############
data=[0.8 190 378 543 653
     1.6 227 452 631 773
       2 237 461 672 846
      2.75 238 451 674 848
     3.14 250 488 708 866
];

#########  Properties ########
hdB=data(:,1);   
ddB
=1.2   
######### Load Properties ########
p=data(:,3:5);
% @@@@@@@@@@@@@@@@ 
Calculation @@@@@@@@@@@@@@@@@@
Nq=(tan(pi/4+fi/2))^2*exp(pi*tan(fi));
Nc=(Nq-1)*tan(fi);   
Ng
=2*(Nq+1)*tan(fi);    
k
=1-sin(fi);       
delta
=2*fi/3      
%%%%%%%%%%%%%%%%%%%%%%%%%%
n=size(p,1);
for 
i=1:n
       hdd
(i)=hdB(i)/ddB;
 
   e(i)=(ddB)^(-1)/((ddB)^(-1)+2*(a(1)*(hdd(i))^3+a(2)*(hdd(i))^2+a(3)*(hdd(i))+a(4)));
Pu(i)=Su*Nc+gamai*B*hdB(i)*(Nq-1)+0.5*gama*B*Ng;
for 
j=1:size(p,2)
dP1(i,j)=4*(1+2^0.5)*hdd(i)*k.*P(i,j).*e(i)*tan(delta)/(pi^0.5);  
dP2
(i,j)=(1-e(i)).*P(i,j);
if 
hdd(i)<=1
    
    Pr
(i,j)=Pu(i)+dP1(i,j)+dP2(i,j);
else
 
   
    Pr
(i,j)=Pu(i)+dP1(i,j)*0+dP2(i,j);
end
eror
(i,j)=(p(i,j)-pr(i,j)).^2;
end
end
z
=((1/(size(p,2)*n)).*(sum(eror(:)))).^0.5
%%%% upper bound and lower bound of the parameters%%%%%%
LB=[-100 -100 -100 -100];
UB=[100 100 100 100];

%%%%% 
Genetic Algorithm %%%%%%%%%
x=ga[@dash,4,[],[],[],[],LB,UB
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پیام‌های این موضوع
خطای double - توسط اندیشه برتر - ۱۳۹۶/۰۳/۱۲, ۰۹:۱۰ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان