能正常的求解出变量,但是放到遗传算法中时能输出相应参数但算法的最优值无法得出,每次暂停就卡在了sym中
(1)高次方程求解(这里没问题)
function [Emn,yy,Qbmn1]=ObjectFunctiontest(En,Qpgu)
syms Emn1
f=Emn1/En;yy1=2.8725*(f.^5)-9.0468*(f.^4)+11.1760*(f.^3)-6.9889*(f.^2)+2.3782*f-0.000002;
eq2=@(Emn1) ((Emn1*(1-yy1)/yy1)-Qpgu);
Emn1=solve(eq2,0);
Bjs=vpa(Emn1);
Cjs=Bjs(imag(Bjs)==0);
Djs=Cjs((0<Cjs)&(Cjs<En));
Fjs=max(Djs);
ajs=eval(Fjs);
Emn=ajs;
f1=Emn/En;
yy=2.8725*(f1.^5)-9.0468*(f1.^4)+11.1760*(f1.^3)-6.9889*(f1.^2)+2.3782*f1-0.000002+1e-10;
Qbmn1=0;
end
(2)
最优值无法输出(图1)
(3)暂停的时候就弹出来卡在了syms函数中,正常应该卡在遗传算法中的某一步
(4)我把这个放在除了遗传算法的其他正常的for循环求解没有问题,所以不是很清楚哪里写错了。
|
|