怪咔萌神 发表于 2013-1-14 21:22

关于多目标优化中的目标达到法的问题

我是新手,最近需要算有关双层隔振平台参数优化的东西,见下
function f=objfun(x)                                                                  %目标方程
m1=10;%m2=x(1);k1=x(2);k2=x(3);c1=x(4);c2=x(5);g1=x(6);g2=x(7);g3=x(8);g4=x(9);
A=;
B1=;
B2=;
E=;
F=;
I=eye(4);
G=;
syms w
D=inv(1i*I*w-(A+B2*G));
f(1)=int(abs(E*D*B1),w,1,1000);
f(2)=int(abs(F*D*B1),w,1,1000);
f(3)=G*G';
function =confun(x)                      %约束方程
m1=10;%m2=x(1);k1=x(2);k2=x(3);c1=x(4);c2=x(5);
a0=x(2)*x(3);
a1=(x(4)*x(3)+x(5)*x(2))/(m1*x(1));
a2=(x(2)*m1+x(2)*x(1)+x(3)*m1+x(4)*x(5))/(m1*x(1));
a3=(x(4)*m1+x(4)*x(1)+x(5)*m1)/(m1*x(1));
a4=1;
b1=a0;
b2=(a3*a2-a4*a1)/a3;
c1=(b2*a1-a3*b1)/b2;
c=[-b2;-c1];
ceq=[];
x0=;                           %利用goalattain算法计算
lb=;
ub=;
goal=1;
weight=1;
=fgoalattain(@objfun1,x0,goal,weight,[],[],[],[],lb,ub,@confun);
计算之后会出现如下报错
Warning: Explicit integral could not be found.
> In sym.int at 64
In objfun at 12
In goalcon at 62
In fgoalattain at 402
In opt at 6
??? Error using ==> fgoalattain at 402
Size of GOAL must be equal to the size of F returned by FUN.

Error in ==> opt at 6
=fgoalattain(@objfun,x0,goal,weight,[],[],[],[],lb,ub,@confun);
急呀,不知道怎么回事,哪位高手能帮我解决下
页: [1]
查看完整版本: 关于多目标优化中的目标达到法的问题