登录论坛

查看完整版本 : 【求助】高手请帮忙!符号矩阵,多变量无约束最优化问题!


mydreamgirl
2007-06-12, 21:32
定义了一个符号矩阵T,含4个符号变量。然后构造目标函数F(A,B,C,X,Y,Z)=(SUMSQRT(T.*T))^2
然后用V=fminsearch(F, [0,0,0,0,0,0])想得到最优解.


出现下面的提示:
??? Error using ==> fcnchk
If F is a MATLAB object, it must have an feval method.

Error in ==> fminsearch at 148
funfcn = fcnchk(funfcn,length(varargin));
我想知道,是不是从符号矩阵得到的函数太长了(确实很长,四个变量,又是三角函数运算),函数不能用啊?这种情况如何解决?

F=((-3/5000*cos(a)-49963/2500*sin(c)+2209/2500*sin(b)+tx)^4+(1/5000*cos(a)-3516305035934617/70368744177664*sin(c)+9559/5000*sin(b)+tx)^4+(-7388536939138463/17592186044416*cos(a)-4573963093892347/17592186044416*sin(c)+4770188096250367/35184372088832*sin(b)+tx+420)^4+(1/2000*cos(a)-71518805852527/274877906944*sin(c)+5199673171027113/140737488355328*sin(b)+tx)^4+(84087/200*cos(a)-2289369686201703/8796093022208*sin(c)+4736868495882243/35184372088832*sin(b)+tx-420)^4+(-13/10000*cos(a)-195636076442393/274877906944*sin(c)+1222242194300915/4398046511104*sin(b)+tx)^4+(-3/5000*sin(c)+49963/2500*cos(b)-2209/2500*sin(a)+ty-20)^4+(1/5000*sin(c)+3516305035934617/70368744177664*cos(b)-9559/5000*sin(a)+ty-50)^4+(-7388536939138463/17592186044416*sin(c)+4573963093892347/17592186044416*cos(b)-4770188096250367/35184372088832*sin(a)+ty-260)^4+(1/2000*sin(c)+71518805852527/274877906944*cos(b)-5199673171027113/140737488355328*sin(a)+ty-260)^4+(84087/200*sin(c)+2289369686201703/8796093022208*cos(b)-4736868495882243/35184372088832*sin(a)+ty-260)^4+(-13/10000*sin(c)+195636076442393/274877906944*cos(b)-1222242194300915/4398046511104*sin(a)+ty-710)^4+(3/5000*sin(b)+49963/2500*sin(a)+2209/2500*cos(c)+tz-1111/5000)^4+(-1/5000*sin(b)+3516305035934617/70368744177664*sin(a)+9559/5000*cos(c)+tz-13889/10000)^4+(7388536939138463/17592186044416*sin(b)+4573963093892347/17592186044416*sin(a)+4770188096250367/35184372088832*cos(c)+tz-4769438669124875/35184372088832)^4+(-1/2000*sin(b)+71518805852527/274877906944*sin(a)+5199673171027113/140737488355328*cos(c)+tz-93889/2500)^4+(-84087/200*sin(b)+2289369686201703/8796093022208*sin(a)+4736868495882243/35184372088832*cos(c)+tz-4769438669124875/35184372088832)^4+(13/10000*sin(b)+195636076442393/274877906944*sin(a)+1222242194300915/4398046511104*cos(c)+tz-4926788458761945/17592186044416)^4)^2