四杆机构优化设计
本人菜鸟一个,论文要用到优化设计,写了一个程序。运行错误提示:??? Error using ==> svdInput to SVD must not contain NaN or Inf.求大神们帮帮忙。很着急!!
clc;
clear all;
global L1 L5
L1=3000;
L5=1800;
x0=;
options=optimset('largeScale','off','TolFun',1e-12);
=fmincon(@link_objfun1,x0,[],[],[],[],[],[],@link_confun1,options);
%目标函数
function f=link_objfun1(x)
global L1 L5
f=0;
snti0=0;
for i=0:10
snti=snti0+pi/6*i/10;
bati=acos((L1-x(1)*sin(snti+x(5)))/(L1^2+x(1)^2-2*L1*x(1)*sin(snti+x(5)))^1/2)...
+acos((L1^2+x(1)^2+x(3)^2-x(2)^2-2*L1*x(1)*sin(snti+x(5)))/2*x(3)*(L1^2+x(1)^2-2*L1*x(1)*sin(snti+x(5)))^1/2)...
+acos(x(4)/x(3));
f=f+(L1*cossnti+L5*cos(snti+bati)-L1)^2;
end
%约束函数
function =link_confun1(x)
global L1
snti0=0;
bati0=acos((L1-x(1)*sin(snti0+x(5)))/(L1^2+x(1)^2-2*L1*x(1)*sin(snti0+x(5)))^1/2)...
+acos((L1^2+x(1)^2+x(3)^2-x(2)^2-2*L1*x(1)*sin(snti0+x(5)))/2*x(3)*(L1^2+x(1)^2-2*L1*x(1)*sin(snti0+x(5)))^1/2)...
+acos(x(4)/x(3));
c=[-x(1)
-x(2)
-x(3)
-x(4)
x(1)-L1
x(1)-x(2)
x(1)-x(3)
x(1)+x(2)-x(3)-L1
L1-x(2)-x(3)-x(1)
x(3)-x(1)-x(2)-L1];
ceq=bati0-pi/2;
页:
[1]