zswsia 发表于 2009-5-14 20:32

求助matlab优化

已知:
T=[cos(c1)   cos(c2)   cos(c3)      cos(c4) ;....
    sin(c1)sin(c2)    sin(c3)         sin(c4) ;....
   -L*s(s1)*cos(c1)+L*cos(s1)*sin(c1)       -L*sin(s2)*cos(c2)+L*cos(s2)*sin(c2)
-L*sin(s3)*cos(c3)+L*cos(s3)*sin(c3)      -L*sin(s4)*cos(c4)+L*cos(s4)*sin(c4) ]*’

即T=B*M;T三行一列,B是三行四列,M是四行一列
B中C1,C2,C3,C4未知,范围为0< C1,C2,C3,C4<pi
-1<M<1

对给定的T,可能求的的M的绝对值大于1,
所以定义
T1=T –B*M.

让T1的2范数最小,求以下函数的最小值:
J=T’*H*T+T1’*Q*T1.
如何求这个最小值?

Subjet
0< C1,C2,C3,C4<pi
-1<M1,M2,M3,M4<1
T1=T –B*M.

hlylabfans 发表于 2009-5-15 15:05

可以用MATLAB将你的计算程序编好,为C1,C2,C3,C4及M1,M2,M3,M4设定一个初值,让其分别在0-Pi与-1-1之间变化,目标函数T1最小
最好的方法是将MATLAB程序放到Isight中,然后选择优化方法就可以
建议用多岛遗传算法
页: [1]
查看完整版本: 求助matlab优化