MATLAB案例一圆柱螺旋弹簧的优化设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

MATLAB案例一圆柱螺旋弹簧的优化设计圆柱螺旋弹簧的结构参数包括D—弹簧中径,即螺旋线圆柱直径D2=D+d—弹簧外径D1=D-d—弹簧内径α—弹簧的螺旋角,即螺旋线的升角t—簧条间距,即螺旋线的节距d—簧条直径(mm)H0—弹簧的自由高n—弹簧的有效圈数,即螺旋线的圈数—螺旋线的极角C—旋绕比,C=D/d弹簧设计需要满足刚度、强度、稳定性、共振性等条件例一调压弹簧为普通圆柱螺旋压缩弹簧。阀腔直径为42mm,弹簧最大工作压力为Fmax=1110N,弹簧的许用应力[]=665MPa,弹簧的最大刚度kmax=24N/mm,弹簧结构要求:工作圈数n≥0,弹簧指数4≤C≤14,弹簧压并高度λb=1.1h=18.25mm。试在满足弹簧的强度条件、刚度条件、稳定性条件、旋绕比条件和结构边界等约束条件下,确定弹簧的簧丝直径d、中径D2和工作圈数n等三个设计参数,使它的结构重量最轻。1、建立数学模型(1)确定设计变量X=[d,D2,n]T=[x1,x2,x3]T例一调压弹簧为普通圆柱螺旋压缩弹簧。阀腔直径为42mm,弹簧最大工作压力为Fmax=1110N,弹簧的许用应力[]=665MPa,弹簧的最大刚度kmax=24N/mm,弹簧结构要求:工作圈数n≥0,弹簧指数4≤C≤14,弹簧压并高度λb=1.1h=18.25mm。试在满足弹簧的强度条件、刚度条件、稳定性条件、旋绕比条件和结构边界等约束条件下,确定弹簧的簧丝直径d、中径D2和工作圈数n等三个设计参数,使它的结构重量最轻。1、建立数学模型(2)建立目标函数弹簧的体积为:22212311min()44fxdDnxxx例一调压弹簧为普通圆柱螺旋压缩弹簧。阀腔直径为42mm,弹簧最大工作压力为Fmax=1110N,弹簧的许用应力[]=665MPa,弹簧的最大刚度kmax=24N/mm,弹簧结构要求:工作圈数n≥0,弹簧旋绕比4≤C≤14,弹簧压并高度λb=1.1h=18.25mm。试在满足弹簧的强度条件、刚度条件、稳定性条件、旋绕比条件和结构边界等约束条件下,确定弹簧的簧丝直径d、中径D2和工作圈数n等三个设计参数,使它的结构重量最轻。1、建立数学模型(3)建立约束函数弹簧的强度约束条件为:][832dFDK0][866.1)(21max16.0211xxFxxXg弹簧刚度约束412max323()08GxgXkxx4minmax3,8FGdkkkkDn弹簧旋绕比约束条件:4≤C≤14,C=D/d321412()140()40gXxxgXxx弹簧安装空间约束条件:512()420gXxx弹簧圈数应该大于0:63()0gXx综上所述,该问题的数学模型为:①设计变量:②目标函数:③约束条件:22212311min()44fxdDnxxx0.161max1122412max323321412512638()1.66[]0()08()140()40()420()0xFxgXxxGxgXkxxgXxxgXxxgXxxgXxT1,2,3[]xxx2、优化方法和计算结果调用MATLAB优化工具箱函数fmincon进行优化计算1)编制目标函数的M文件(Spring_f)%体积目标函数functionf=Spring_f(x)f=1/4*pi*pi*x(1)^2*x(2)*x(3);%x(1)直径,x(2)中径,x(3)圈数22212311min()44fxdDnxxx0.161max21321412max323321412512638()1.66[]0()08()140()40()420()0xFxgXxxGxgXkxxgXxxgXxxgXxxgXx2)编制约束函数的M文件(Spring_g)%约束函数function[g,ceq]=Spring_g(x);Fmax=1110;G=80*1e9,tao=665*1e6g(1)=1.66*(8*Fmax/pi)*(x(1)/x(2))^0.16*x(2)/x(1)^3*1e6-taog(2)=G*x(1)^4/(8*x(2)^3*x(3))*1e-3-24*1000%刚度约束g(3)=x(2)-14*x(1);%旋绕比约束g(4)=4*x(1)-x(2);%旋绕比约束g(5)=x(1)+x(2)-42;%安装空间g(6)=-x(3);ceq=[];3)在命令窗口编写调用主程序(Spring_c)x0=[5,10,10];options=optimset('LargeScale','off');[x,fval,exitflag,output]=fmincon(@Spring_f,x0,[],[],[],[],[],[],@Spring_g,options);disp'*********弹簧优化设计最优解**********'fprintf(1,'簧丝直径d=%3.4f\n',x(1));fprintf(1,'弹簧中径D=%3.4f\n',x(2));fprintf(1,'弹簧圈数n=%3.4f\n',x(3));[x,fval,exitflag,output,grad,hessian]=fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options)[]

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功