![]() |
帮忙看一下一个程序是否又错?
M文件(lin.m):
function f=lin(x) a=[0.0001:0.0349:0.5236]; for i=1:16 f(i)=abs(1-(asin((2*x(5)*x(4)*sin(x(2))+2*x(3)*x(5)*sin(x(1))-2*x(3)*x(4)*cos(x(2)+x(1))-2*x(5)*x(4)*sin(x(2)-(asin((2*x(5)*x(4)*sin(x(2))+2*x(3)*x(5)*sin(x(1))-2*x(3)*x(4)*cos(x(2)+x(1))-2*x(3)*x(5)*sin(x(1)-a(i)))/2/x(4)/sqrt(x(3)^2+x(5)^2+2*x(3)*x(5)*sin(x(1)-a(i))))+asin(x(3)*cos(x(1)-a(i))/sqrt(x(3)^2+x(5)^2+2*x(3)*x(5)*sin(x(1)-a(i))))-x(2))))/2/x(3)/sqrt(x(5)^2+x(4)^2+2*x(5)*x(4)*sin(x(2)-(asin((2*x(5)*x(4)*sin(x(2))+2*x(3)*x(5)*sin(x(1))-2*x(3)*x(4)*cos(x(2)+x(1))-2*x(3)*x(5)*sin(x(1)-a(i)))/2/x(4)/sqrt(x(3)^2+x(5)^2+2*x(3)*x(5)*sin(x(1)-a(i))))+asin(x(3)*cos(x(1)-a(i))/sqrt(x(3)^2+x(5)^2+2*x(3)*x(5)*sin(x(1)-a(i))))-x(2)))))+asin(x(4)*cos(x(2)-(asin((2*x(5)*x(4)*sin(x(2))+2*x(3)*x(5)*sin(x(1))-2*x(3)*x(4)*cos(x(2)+x(1))-2*x(3)*x(5)*sin(x(1)-a(i)))/2/x(4)/sqrt(x(3)^2+x(5)^2+2*x(3)*x(5)*sin(x(1)-a(i))))+asin(x(3)*cos(x(1)-a(i))/sqrt(x(3)^2+x(5)^2+2*x(3)*x(5)*sin(x(1)-a(i))))-x(2)))/sqrt(x(5)^2+x(4)^2+2*x(5)*x(4)*sin(x(2)-(asin((2*x(5)*x(4)*sin(x(2))+2*x(3)*x(5)*sin(x(1))-2*x(3)*x(4)*cos(x(2)+x(1))-2*x(3)*x(5)*sin(x(1)-a(i)))/2/x(4)/sqrt(x(3)^2+x(5)^2+2*x(3)*x(5)*sin(x(1)-a(i))))+asin(x(3)*cos(x(1)-a(i))/sqrt(x(3)^2+x(5)^2+2*x(3)*x(5)*sin(x(1)-a(i))))-x(2)))))-x(1))/acot(cot(a(i))-0.4865)); end 命令窗口: x0=[0.0895;0.3932;145;256;645.52]; A=[0 0 -1 0 0; 0 0 0 -1 0; 0 0 0 0 -1]; b=[0 0 -632.5]; [x,fval]=fminimax(@lin,x0) 我是如上输入的!但不知道什么原因,优化结果老是随着x0的改变而改变,而且优化出来的x值中的x(3)、x(4)、x(5)跟初始值一样,只有x(1)、x(2)改变而已!希望高手帮忙看一下!我的QQ:591025352;时刻在线! |
所有时间均为北京时间。现在的时间是 12:28。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.