机械优化设计(MATLAB的编程教程+习题)

合集下载

完整版优化设计Matlab编程作业

完整版优化设计Matlab编程作业

化设计hl4HU©0⑥ 3 hlu 凹内r d X1州fci-rU-fFF卢F ♦ 忡下¥为+1 —*— S-ll-« F41:Si —MATLABoftiHMirjirCfiffliiiiJ PHI■1**■ 温不平?」11,・—喜M - 〜FT 文词一时y 片 34ml 3F*L9TR0i. Jill!-LkftLgWf 1S1CSI掰f 1 ■ >A A A »W I % :k Dnfl w I ■ J k^lXMprfaMk tjn nn Alflhw初选 x0=[1,1] 程序:Step 1: Write an Mfle objfunl.m.function f1=objfun1(x)f1=x(1)人2+2*x(2)入2-2*x(1)*x(2)-4*x(1);Step 2: Invoke one of the unconstrained optimization routinesx0=[1,1];>> options = 0Ptimset('LargeScale','off);>> [x,fval,exitflag,output] = fminunc(@objfun1,x0,options)运行结果: x =4.0000 2.0000 fval = -8.0000exitflag =1 output = iterations: 3 funcCount: 12 stepsize: 1 firstorderopt: 2.3842e-007algorithm: 'medium-scale: Quasi-Newton line search message: [1x85 char]非线性有约束优化1. Min f(x)=3 x : + x 2+2 x 1-3 x 2+5 Subject to:g 2(x)=5 X 1-3 X 2 -25 < 0 g (x)=13 X -41 X 2 < 0 3 12g 4(x)=14 < X 1 < 130无约束优化 min f(x)=X 2 + x 2-2 x 1 x 2-4 x 1g5 (x)=2 < X 2 < 57初选x0=[10,10]Step 1: Write an M-file objfun2.mfunction f2=objfun2(x)f2=3*x(1)人2+x(2)人2+2*x(1)-3*x(2)+5;Step 2: Write an M-file confunl.m for the constraints. function [c,ceq]=confun1(x) % Nonlinear inequality constraints c=[x(1)+x(2)+18;5*x(1)-3*x(2)-25;13*x(1)-41*x(2)人2;14-x(1);x(1)-130;2-x(2);x(2)-57];% Nonlinear inequality constraints ceq=[];Step 3: Invoke constrained optimization routinex0=[10,10]; % Make a starting guess at the solution>> options = optimset('LargeScale','off);>> [x, fval]=...fmincon(@objfun2,x0,[],[],[],[],[],[],@confun1,options)运行结果:x =3.6755 -7.0744 fval =124.14952.min f (x) =4x2 + 5x2s.t. g 1(x) = 2X] + 3x2- 6 < 0g (x) = x x +1 > 0初选x0=[1,1]Step 1: Write an M-file objfun3.m function f=objfun3(x) f=4*x(1)人2 + 5*x(2)人2Step 2: Write an M-file confun3.m for the constraints. function [c,ceq]=confun3(x) %Nonlinear inequality constraints c=[2*x(1)+3*x(2)-6;-x(1)*x(2)-1];% Nonlinear equality constraints ceq口;Step 3: Invoke constrained optimization routinex0=[1,1];% Make a starting guess at the solution>> options = optimset('LargeScale','off);>> [x, fval]=...fmincon(@objfun,x0,[],[],[],[],[],[],@confun,options)运行结果:Optimization terminated: no feasible solution found. Magnitude of search direction less than2*options.TolX but constraints are not satisfied.x =11fval =-13实例:螺栓连接的优化设计图示为一压气机气缸与缸盖连接的示意图。

利用Matlab求解机械设计优化题目-螺栓

利用Matlab求解机械设计优化题目-螺栓
3.机械优化设计应用实例
机械优化设计把数学规划理论与数值方法应用于设计中,用计 算机从大 量可行方案中找出最优化设计方案,从而大大提高设计质 量和设计 效率。MATLAB 具有解决线性规划和非线性规划、约束 优化和无约 束优化问题的内 部函数,因而可以完成这一功能。
现举一例: 螺栓组联结的优化设计 如图 4 所示的压力容器螺栓组联接中,已知 D1= 400mm,D2 =
对于粗牙普通螺纹:由文献[3]推荐,小径 d1=0.85d 所以,强度约束条
2.社会主义本质理论对探索怎样建设3.社19会57主年义2月具,有毛重在要《的关实于践正意确义处。理社人会民主内义2.社部本科会矛质学主盾理的义的论1本本问的.邓质质题提小是的》出平创科讲,提新学话为出,内中我“创涵提们社邓新。出寻始会小的邓(找终主平关小1一代义)坚键平种表的我2持在对能.1中本国把科人社9够国质社5发学才会从4先,会展社年,主更进是主作会,人义深生解义为主毛才本层产放制执义在的质次1力生度政理《成所.认社1的产还兴论论长作.识会 发发力刚国和十靠的社主 展展,刚的实大教概会义 才要发建第践关坚育括主本 是求展立一的系2持。,义质 硬、,生,要基》以人一,理 道发大产还务本重发才方从论 理展力力没是成要展资面而把 ,才促,有由果讲社的源强为我 把是进消完中,话会办是调中四们 发(硬先灭全国抓中主法第必国、对 展2道进剥建共住提三义解一)须的科社 生理生削立产“出、经决资采解社学会 产,产,党什(代济前源取放会技主 力是力消还的么1表基进。从和主术义 作)对的除不执是中础科低发义是1的 为吧社3发两完政社9国基的学级展.建第发认 社二国5会展极全地会先本问技到6生设一展识 会、内主,年分巩位主进建题术高产在生才提 主发外义是底化固所义生立,实级力改产是高 义1展一时中我,的决邓产的是力9,革力硬到 建是切间5国最思定怎小力同实和国另3开道了 设党积经共对终想年的样平的时行国家一放理一 的执极验产农达。1,建一发,改民资方中2,个 根政因教党业到(是设月再展我革教本面探是新 本兴素训站、共2对社,强要国开育主指索)适的 任国都的在手一同执会毛调求的放水义出出第创应科 务在的调深时工、富1政主泽,政以平的4了一三造.时学 ,社第动刻坚代.业发裕规义东中一治来,过2解条节性代水 符会一起总持前.和展。律”关社 国个领我始度放发、地主平 合阶要来结社列资才”认这于会 社公域们终形和展社提题。 马级务为。会,本是1识个总主 会有也党是式发更会9出变社 克二关中主保硬的根8路义 主制发的衡。展快主了化会 思6、系国义持道3深本线基 义占生一年量所生、义社.的主社发解用工现理化问的本 基主了条,综谓产人的会需义会生决和业金商,题1完制 本体重主邓合国力民根主要本 基.主变事所平化向业1也,整度 制,大要小国家的享本9义。质 本义化业有方建的是深5的度一变经平力资手受社任理 原6本的服问法设根社对刻表确 的个化验年提和本段到会 1务论 理第质同务题进与本会一党揭.述立 确共,。出社主社和社主基的 ,二理时的行社体主、实示:, 立同确苏“会义会目会3义本提 是节论,基关改会现义社现了.从为 ,富立共社文,社主的主一改矛出 巩、的我本键造主和改会其社中当 使裕了二会明就会义。义、造盾, 固对重国方是。义根造之所会华代 占,中十主程是主基建中的和为 和第社要针这改本基一承主人中 世这国大义度在义本设国基两进 发一会意。靠不造要本本担义民国 界是共以财的国基制内成特本类一 展节主义的(自仅同求完质的本共一 人我产后富重家本度涵果色完矛步 社、义主2己保时。成理历质和切 口们党毛属要直)制的包最伴社成盾推 会中本要的证并,论史,国发 四必领泽于标接正度确括大随会,的进 主国质矛发了举标第的这成展 分须导东人志控确的立(,着主是学改 义特理盾展2社。志五提需是立进 之坚的提民。制处确是1.能社义我说采革 制色论也。会实着章)出要对,步 一持人出,和理立中够会建国,取开 度社的发的践中把。马到奠 的民要社支经,国社充经设强积放 的会提生稳证国解克社定 东民“会配济是历会分济道调极和 必主出了定明历放思会了 方主以下建4广史主体制路要引社 然义变,.史和主主把制 大专苏义的设大上义现度初严导会 要二建化而党上发义义对度 国政为的资和劳最的出和步经格、主 求设。且坚长展的改企基 进党的鉴致本社动深本对社探济区逐义 。确道人极持达生重造业础 入在根社”富主会人刻质资会索结分步现立路民大社数产大基的。 了过本会,是义发民最和本经的构过代社的对的会千力逐发本改社渡原主探全经展真伟根主济理发正渡化会初于促主年概步展完造会时则义索民济中正大本义结论生确的建新主步经进义的括实,成和主期。基自共的成任优构成了处方设中义探济了改阶为现对,对义总本己同国一为社务越的果根理式提国基索文社造级国于这人制 社路政的致家系国会性根本两。供的本化会与剥家建是的度 会线治道富资列家变的一本变类中了成制迅主社削的设一改的 ,第制路。本重的革道、变化不国强立度速义会制社中个造建 这三主度。社大主,路社化,同这大,的发事主度的会国过结立 是节要。会义关人也,1会社性场的标重展业义的本主特.渡合极 世、内人主有系解和是奠主我会质巨思志大的的工结(质义色时起大 界社容民义初。决社2定义国主的大想着意需发业束30。工社期来地 社(会被民原级了会)世了基社义矛而武我义要展化,(业会。,提 会2主概则和3在生把纪理本会经盾深器国同),同实2化主党把高 主对义括专,高一产资中)论制的济,刻。新经遵改总时现新是义在对了 义手制为政第级个资本国强基度阶成在特的通民济循革之并了民党具这资工 运二七度“实一形以料主又调础的级分新别社过主文自4过,举由主在有个本人 动、届 业在一质是式农的.(义一消,初关已民是它会(没主化愿于和的新主过重过主阶 史新社二 的中化上发之民主1工次灭开步系占主要是变4收义不互集平方民()义渡大渡义级 上民会中 社国三已展)分为人商划剥阔确也绝主正中革官能利中改针主3用社时的时工和 又主全 会的改成生坚。主)业时削了立发对义确国,僚命满、的造,主和会期理期商广 一主义会确”为产持初题正者代,广2生优革处革不资阶足典计解对义平的论.的业大 个义改提立。无,积级资的确改的消阔了势命理命仅√本段人型划决于向赎五总和总搞劳 历革造出 改“产第极形本、分造历除前根,理人的没中而民示体了在社3买种路实路糟动 史命的使 造一阶二领式主落(.析成史两景本社论民具有国形基需党范制诸深会的经线践线成人 性理历中 ,化级是导的义后1农为巨极。√的会内体对革成本要的和如刻主)方济的意和为民 的论史国 党”专共、工的村自变分邓中主指部实生命的结建国初实的义积法成主义总自的 伟是经“ 和即政同稳家商半的食。化小国义导矛际产在走社束状设家步现社的极改分体。任食积 大以验稳 政社;致步资业殖阶其们平社革。公下盾出力一农会和况。帮构社会转引造—。务其极 胜一毛步 府会人富前本的民级力吐对1会命有,。发的个村主社之加助想会变导资—要.,力性 利、泽地 采主民。进农社地和的出社第必制中(,发以包义会间强的,变革农本社从是的和 。适东由 取义代”的业会半阶社了会二须已国3不展农围的主党原要革中社民主会根)要社创合为农 了工表这方是、主封��

基于Matlab的机械优化设计课后题-推荐下载

基于Matlab的机械优化设计课后题-推荐下载

d0=H0*g0;
a=buchang(x0,d0,f);
x1=x0-a*d0;
xcha=x1-x0;
dis=mo(xcha);k=1
while dis>1e-5
end
g1=subs(g,b,x1);
if g1==0
end
Gy=subs(G,b,x1)
break
y0=g1-g0;
s0=x1-x0;
%²úÉúº£Èû¾ØÕó
cz(i)=fz(i)-fz(i+1); end czm=max(cz);m=find(czm); P1=F3-F0;P2=(F0-2*F2+F3)*(F0-F2-czm)^2-0.5*czm*(F0-F3)^2; if P1<0&&P2<0
e=A(:,i); fd=subs(f,b,x1); fz(1,i-1)=fd; a=buchang(x1,e,f); x2=x1-a*e;x1=x2; i=i+1; end xcha=x1-x0;dis=mo(xcha); d=x1-x0;x=x1+d; F2=subs(f,b,x1);F3=subs(f,b,x); fz=[F0,fz];cz=zeros(1,n); for i=1:n
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电通,力1根保过据护管生高线产中0不工资仅艺料可高试以中卷解资配决料置吊试技顶卷术层要是配求指置,机不对组规电在范气进高设行中备继资进电料行保试空护卷载高问与中题带资2负料2,荷试而下卷且高总可中体保资配障料置各试时类卷,管调需路控要习试在题验最到;大位对限。设度在备内管进来路行确敷调保设整机过使组程其高1在中正资,常料要工试加况卷强下安看与全22过,22度并22工且22作尽22下可护都能1关可地于以缩管正小路常故高工障中作高资;中料对资试于料卷继试连电卷接保破管护坏口进范处行围理整,高核或中对者资定对料值某试,些卷审异弯核常扁与高度校中固对资定图料盒纸试位,卷置编工.写况保复进护杂行层设自防备动腐与处跨装理接置,地高尤线中其弯资要曲料避半试免径卷错标调误高试高等方中,案资要,料求编试技5写、卷术重电保交要气护底设设装。备备置管4高调、动线中试电作敷资高气,设料中课并技3试资件且、术卷料中拒管试试调绝路包验卷试动敷含方技作设线案术,技槽以来术、及避管系免架统不等启必多动要项方高方案中式;资,对料为整试解套卷决启突高动然中过停语程机文中。电高因气中此课资,件料电中试力管卷高壁电中薄气资、设料接备试口进卷不行保严调护等试装问工置题作调,并试合且技理进术利行,用过要管关求线运电敷行力设高保技中护术资装。料置线试做缆卷到敷技准设术确原指灵则导活:。。在对对分于于线调差盒试动处过保,程护当中装不高置同中高电资中压料资回试料路卷试交技卷叉术调时问试,题技应,术采作是用为指金调发属试电隔人机板员一进,变行需压隔要器开在组处事在理前发;掌生同握内一图部线纸故槽资障内料时,、,强设需电备要回制进路造行须厂外同家部时出电切具源断高高习中中题资资电料料源试试,卷卷线试切缆验除敷报从设告而完与采毕相用,关高要技中进术资行资料检料试查,卷和并主检且要测了保处解护理现装。场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

Matlab优化设计作业答案

Matlab优化设计作业答案

长江大学机械工程学院机械优化设计大作业班级2012年5月31-361、⎩⎨⎧=+-=++⋅+-++=22422min 321321321232221x x x x x x t s x x x x x x f解: function f=fun1(x)f=x(1)^2+2*x(2)^2+x(3)^2-2*x(1)*x(2)+x(3)clearclcx0=[1;1;1];A=[];b=[];Aeq=[1 1 1;2 -1 1];beq=[4;2];lb=[];ub=[];[x,fval,exitflag]=fmincon('fun1',x0,A,b,Aeq,beq,lb,ub)x =1.90911.95450.1364fval =3.9773exitflag =12、221212min ()2130f x x x x s t x =+-+⋅-≤解: function f=fun2(x)f=x(1)^2+x(2)^2-2*x(1)+1clearclcx0=[1;1];A=[0 -1];b=-3;Aeq=[];beq=[];lb=[];ub=[];[x,fval,exitflag]=fmincon('fun2',x0,A,b,Aeq,beq,lb,ub)x =13fval =9exitflag =13、 2212min ()(2)f X x x =-+112222312..()0()0()10s t g X x g X x g X x x =-≤=-≤=-+-≤解:function f=fun3(x)f=(x(1)-2)^2+x(2)^2function [g,ceq]=mycon3(x)g=[-x(1);-x(2);-x(1)^2+x(2)^2-1];ceq=[];clearclcx0=[0;0];A=[];b=[];Aeq=[];beq=[];lb=[];ub=[];[x,fval]=fmincon('fun3',x0,A,b,Aeq,beq,lb,ub,'mycon3')x =2.0000fval =2.2204e-0164、⎩⎨⎧≤--≤+--⋅++++=01005.1)12424(min 21212122122211x x x x x x t s x x x x x e f x解: function f=fun4(x)f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);function [g,ceq]=mycon4(x)g(1)=1.5+x(1)*x(2)-x(1)-x(2);g(2)=-x(1)*x(2)-10;ceq=[];clearclcx0=[0;0];A=[];b=[];Aeq=[];beq=[];lb=[];ub=[];[x,fval]=fmincon('fun4',x0,A,b,Aeq,beq,lb,ub,'mycon4')x =1.1825-1.7398fval =3.06085 喜糖问题:需要购买甲乙两种喜糖,喜糖甲10元/斤,喜糖乙20元/斤。

机械优化设计课后MATLAB编程全手工

机械优化设计课后MATLAB编程全手工

机械优化设计实验(常用优化方法程序考核题)姓名吕超班级机工1005班学号 104057010111.一位搜索方法程序考核题1)调用函数fminbnd[x0,fval]=fminbnd(@(t)t^2-10*t+36,-5,5)实验结果:x0 =5fval =112)调用函数fminbnd[x0,fval]=fminbnd(@(t)t^4-5*t^3+4*t^2-6*t+60,-5,5)实验结果:x0 =3.2796fval =22.65903)调用函数fminbnd[x0,fval]=fminbnd(@(t)(t+1)*(t-2)^2,0,5)实验结果:x0 =2.0000fval =1.0656e-0102.无约束优化方法程序考核题1)编写M文件function f=y(x)f=4*(x(1)-5)^2+(x(2)-6)^2;调用函数fminunc[x0 fval]=fminunc('y',[8;9])实验结果:x0 =5.0000fval =1.7876e-0122)编写M文件function f=y(x)f=(x(1)^2+x(2)-11)^2+(x(1)+x(2)^2-7)^2;调用函数fminunc[x0 fval]=fminunc('y',[1;1])实验结果:x0 =3.00002.0000fval =5.2125e-0123)编写M文件function f=y(x)u(1)=1.5-x(1)*(1-x(2));u(2)=2.25-x(1)*(1-x(2)^2);u(3)=2.625-x(1)*(1-x(2)^3);f=u(1)^2+u(2)^2+u(3)^2;调用函数fminunc[x0 fval]=fminunc('y',[2;0.2])实验结果:x0 =3.00000.5000fval =3.9195e-0144)编写M文件function f=y(x)f=(x(1)^2+12*x(2)-1)^2+(49*x(1)+49*x(2)+84*x(1)+2324*x(2)-681)^2; 调用函数fminsearch[x0 fval]=fminsearch('y',[1;1])x0 =0.33630.2681fval =5.43185)编写M文件function f=y(x)f=(x(1)+10*x(2))^2+5*(x(3)-x(4))^2+(x(2)-2*x(3))^4+10*(x(1)-x(4))^4; 调用函数fminunc[x0 fval]=fminunc('y',[3 -1 0 1]')实验结果:x0 =0.0015-0.0002-0.0031-0.0031fval =6.3890e-0093.约束优化方法程序考核题1)编写M文件(1) function f=y(x)f=(x(1)-2)^2+(x(2)-1)^2;(2) function [c,ceq]=z(x)c=x(1)^2-x(2);ceq=[];调用fmincon函数:[x0,fval]=fmincon('y',[3 3],[1 1],[2],[],[],'z')实验结果x0 =1.0000 1.0000fval =1.00002)编写M文件调用fmincon函数:A=[-1/sqrt(3) 1;-1 1/sqrt(3);1 1/sqrt(3)];,b=[0 0 6]';[x0,fval]=fmincon('y',[1 5],A,b,[],[],[0;0])实验结果x0 =4.5000 2.5981fval =-2.53133)编写M文件(1)function f=y(x)f=1000-x(1)^2-2*x(2)^2-x(3)^2-x(1)*x(2)-x(1)*x(3);(2)function [c ceq]=z(x)c=[];ceq(1)=x(1)^2+x(2)^2+x(3)^2-25;ceq(2)=8*x(1)+14*x(2)+7*x(3)-56;调用fmincon函数[x0,fval]=fmincon('y',[2;2;2],[],[],[],[],[0 0 0]',[],'z')实验结果:x0 =3.51210.21703.5522fval =961.71524)编写M文件function f=y(x)f=100*(x(2)-x(1)^2)^2+(1-x(1))^2+90*(x(4)-x(3)^2)^2+(1-x(3))^2+10*((x(2)-1)^2+( x(4)-1)^2)+19.8*(x(2)-1)*(x(4)-1);调用fmincon函数:[x0,fval]=fmincon('y',[-3 -1 -3 -1]',[],[],[],[],-10*ones(4,1),10*ones(4,1))实验结果x0 =1.00011.00020.99990.9997 fval =2.3989e-007。

机械的优化设计与Matlab的应用上机练习指导书V2.0

机械的优化设计与Matlab的应用上机练习指导书V2.0

机械优化设计与Matlab应用上机实验指导书V2.0班级:学号:姓名:机械学院说明1.由于机械优化设计与Matlab应用是一门实践性很强的课,本实验指导书中上机练习内容是为巩固课堂所学知识安排的。

2.要求每次上机必须完成规定的练习内容,课堂上即时完成有难度的在课前要按照相关实验说明做好相应的准备工作。

3.明确每一次上机练习的目标,并在每次实验小结表中填入本次练习完成情况及相关实验小结。

4.所有实验结束后,要求写出一篇关于这门课的课程小结。

5.严格遵守机房的有关管理规定。

目录上机练习一MATLAB软件使用初步上机练习二矩阵、向量的创建,字符串及其处理上机练习三程序流程控制及符号工具箱的使用上机练习四MATLAB基本绘图函数的使用上机练习五无约束优化方法编程上机练习六约束优化方法编程。

上机练习七优化工具箱典型函数的使用上机练习八机械优化设计工程问题的求解上机练习九总复习上机实验一MATLAB软件使用初步一、实验目标1.熟悉Matlab界面,并掌握相关基本操作。

2.掌握变量创建、变量管理,访问程序及函数文件、命令窗口管理的基本方法。

3.在命令窗口中熟练使用各种运算符以及各种常用数学表达式的matlab表示方式。

4.熟悉matlab特殊字符的使用说明。

二、实验环境1.计算机2.MATLAB7.0集成环境三、实验说明1.首先应熟悉MATLAB7.0运行环境,正确操作2.实验学时:2学时四、实验内容及步骤1.命令窗口的使用;2.变量名的创建,注意大小写是否敏感;3.clear 、clear session、who、whos命令的含义;4.File下拉菜单的Set Path实现路径信息的输入;5.Format函数的使用;6.赋值操作,表达式加分号与不加分号的区别,一行输入多个表达式,特殊字符的使用,各种运算符的使用及优先级的高低;7.帮助系统的使用;8.用Matlab表达式完成如下表达式计算五、实验报告要求1.将求螺栓刚度的Matlab表达式填入下表;2. 小结其余实验内容的心得体会。

机械优化设计matlab编程指导201_...

机械优化设计matlab编程指导201_...

(一)matlab基本用法介绍5. 循环、结束命令¾break是直接跳出该层循环¾continue是直接进入该层循环的下一次迭代¾return是直接退出程序或函数返回大概的等级关系如下¾return>break>continue(二)matlab语法应用实例1. 循环的用法(用于优化迭代)%%%%%%%%%%%%%%%%%% while 循环i=0;while(i<10)i=i+1;end%%%%%%%%%%%%%%%%%% for 循环i=0;for j=1:10i=i+1;end%%%%%%%%%%%%%%%%%% break终止本层循环for i=1:2ik=0;for j=1:10k=k+1if k==5;break;endendend%%%%%%%%%%%%%%%%%% continue直接进入下一次循环变量的迭代k=0;for j=1:10k=k+1;if k==5;continue;endkend %注意,k=5时,后面的循环体未被执行,即k=5不显示在输出窗口中2 函数调用(利用外部m文件定义函数)(用于定义目标函数、约束函数、优化子程序等)建立wad2.m文件:function F1=wad2(x)F1=x(1)^2+x(2)^2;在主程序m文件中或者matlab的commond window中输入x0=[3 5]';fx0= wad2(x0)运行结果如下:fx0 = 34 ,得到了函数的值※另外函数中的F1也可以定义成向量。

3 全局变量(可用于优化过程中的重要参数定义,在程序任意部位都可以访问)建立wad3.m文件:function F1=wad3(x)global ac bcF1=ac*x(1)^2+bc*x(2)^2;在主程序m文件中定义x0=[3 5]';ac=0.2; bc=0.8;fx0= wad3(x0)结果:fx0 = 14.60004 判断语句(例如可以用于优化计算收敛的终止条件判断)k=2if k>3'yes k>3'else'no ,k<3'endif k==2'yes k=2'end5 数组(例如可以用于优化计算收敛的终止条件判断)% 1. 数组:matlab 程序以矩阵为运算单位,任何变量都是矩阵(数组)% 数组不需要声明,直接定义、使用即可a=[1 2 3]b=[ 1 2 34 5 6]c=b'; %求矩阵的转置矩阵b23=b(2,3) %取出矩阵b中第2行第3列元素x=[123]Hk=eye(4);% 生成4维的单位阵6 清屏clcclear7 二维绘图x=1:0.1:10;y1=sin(x);y2=cos(x);figure;plot(x,y1,'r');hold on;plot(x,y2,'b');grid on;xlabel('x axis'),ylabel('y axis');8 三维绘图x=1:0.1:10;y1=sin(x);y2=cos(x);z=x+cos(y1);figure;plot3(x,y1,z,'b');hold on;grid on;xlabel('x axis'),ylabel('y axis'),zlabel('z axis');9 二维等值线图%%对函数: F=(xk(1)-2)^4+(xk(1)-2*xk(2))^2; [x3,y3]=meshgrid(-5:0.2:10,-10:0.2:10);z3=(x3-2).^4+(x3-2*y3).^2;contour(x3,y3,z3,40);%目标函数的等值线hold on;axis equal;xlabel('自变量x1','FontSize',12);ylabel('自变量x2','FontSize',12);title('×××××××方法', 'FontSize',15);。

机械优化设计课后习题答案

机械优化设计课后习题答案

2-8 解:
试判断函数 f (X) 2x12 x22 2x1x2 x1 1 的凸性。
f ( X ) f ( X ) 4 x1 2 x2 1 , 2 x2 2 x1 x1 x2
2 f (X ) 2 f (X ) 2 f (X ) 2 f (X ) 5, 2, 2, 2 2 x1x2 x2 x1 x12 x2 5 2 海赛矩阵H ( X ) 2 2
6
a 各阶主子式: a11 2 0,11 a 21
a12 a 22

2 1 0 1 2
H(X)是正定的, 所以, f (X) 为凸函数。
2-10 现已获得优化问题
min s.t.
f ( X) 4 x1 x2 2 12 g1 ( X) x12 x2 2 25 0 g 2 ( X) x12 x2 2 10 x1 10 x2 34 0 g3 ( X) ( x1 3) 2 ( x2 1) 2 0 g 4 ( X) x1 0 g5 ( X) x2 0
求:
2、 3、 4 时的四条等值线,并在图上 (1) 以一定的比例尺画出当目标函数依次为 f ( X) 1、
画出可行区的范围。 (2) 找出图上的无约束最优解 X1 和对应的函数值 f ( X1 ) , 约束最优解 X 2 和 f ( X2 ) ; (3) 若加入一个等式约束条件:




h(X) x1 x2 0
x2
x3 ]T [d
D2
n]T 使弹簧重量
最轻, 同时满足下列限制条件: 弹簧圈数 n 3 , 簧丝直径 d 0.5 , 弹簧中径 10 D2 50 。 试建立该优化问题的数学模型。 注:弹簧的应力与变形计算公式如下 3 8Fn D2 8FD2 D2 1 ks , k 1 , c ( 旋绕比), s d3 2c d Gd 4 解: (1)确定设计变量;

Matlab 机械优化设计

Matlab 机械优化设计

x= 1.0000 2.0007
fval = 10.0000
exigflag = 1
hessian = iterations: 6 funcCount: 21 stepsize: 1
firstorderopt: 0.0013 algorithm: 'medium-scale: Quasi-
Newton line search'
l Hessian – 用户定义的目标函数的Hessian矩阵。 l HessPattern – 用于有限差分的Hessian矩阵的 稀疏形式。若不方便求fun函数的稀疏Hessian矩阵 H,可以通过用梯度的有限差分获得的H的稀疏结 构(如非零值的位置等)来得到近似的Hessian矩 阵H。若连矩阵的稀疏结构都不知道,则可以将 HessPattern设为密集矩阵,在每一次迭代过程中, 都将进行密集矩阵的有限差分近似(这是缺省设
无约束非线性规划问题 相关函数
fminunc函数 fminsearch函数
fminunc函数 功能: 给定初值,求多变量标量函数的最小值。 常用于无约束非线性最优化问题。 数学模型:
min f (x) x
其中,x为一向量,f(x)为一函数,返回标量。
语法格式及描述
x = fminunc(fun,x0)给定初值x0,求fun函数的局 部极小点x。x0可以是标量、向量或矩阵。 x = fminunc(fun,x0,options)用options参数中指 定的优化参数进行最小化。 x = fminunc(fun,x0,options,P1,P2,...)将问题参 数p1、p2等直接输给目标函数fun,将options参 数设置为空矩阵,作为options参数的缺省值。

基于Matlab的机械优化设计课后题

基于Matlab的机械优化设计课后题

基于Matlab的机械优化设计课后题1.一维搜索法说明:采用0.618法进行编程代码如下:syms tf=(需要计算的函数)x1=0;h=2;f1=subs(f,x1);x2=x1+h;f2=subs(f,x2);f3=f2-1;t=1;if (f1-f2)>0while f3<f2f3=subs(f,x2+t*h);t=t+1;endx3=x2+t*h;elsef3=f2;f2=f1;t=1;f1=f2-1;x3=x2;x2=x1;while f1<f2f1=subs(f,x2-t*h);t=t+1;endx1=x2-t*h;enda=x1;b=x3;e=1e-05;k=0.618;a1=b-k*(b-a);a2=a+k*(b-a);f1=subs(f,a1);f2=subs(f,a2);c=(b-a)/2;while c>eif f1>f2a=a1;a1=a2;a2=a+k*(b-a);f1=f2;f2=subs(f,a2);elseb=a2;a2=a1;a1=b-k*(b-a);f2=f1;f1=subs(f,a1);endc=(b-a)/2;end实际运行结果如下:1. t=a1=5;f=11;2. t=a1=3.2796;f=22.6590;3. t=a1=2;f=1.1122e-011;2.无约束的优化设计说明:一共采用了三种算法的编程首先要建立步长函数,步长函数代码如下:function az=buchang(x,d,f)b=symvar(f);syms aaxn=x-d*aa;pa=subs(f,b,xn);pd=diff(pa,aa);aa=solve(pd);aa=real(aa);aa=subs(aa);n=size(aa,1);z=zeros(1,n);for i=1:nxn(:,i)=x-aa(i)*d;endfor i=1:nz(i)=subs(f,b,xn(:,i));ends=z(1);c=1;for i=1:n-1if s>z(i+1)s=z(i+1);c=i+1;endendaz=aa(c);end1.DFP:·¨syms (函数中的变量)f=(所需要优化的函数)x0=;b=symvar(f);n=size(b,2);g=cell(n,1);G=cell(n,n);H0=eye(n,n);for i=1:ng{i,1}=diff(f,b(i));endfor i=1:n %²úÉúº£Èû¾ØÕófor j=1:nG{j,i}=diff(g{i},b(j));endendg0=subs(g,b,x0);d0=H0*g0;a=buchang(x0,d0,f);x1=x0-a*d0;xcha=x1-x0;dis=mo(xcha);k=1while dis>1e-5g1=subs(g,b,x1);if g1==0Gy=subs(G,b,x1)breakendy0=g1-g0;s0=x1-x0;H1=H0+(s0*s0')/(s0'*y0)-(H0*y0*y0'*H0)/(y0'*H0*y0); d1=H1*g1;a=buchang(x1,d1,f);x2=x1-a*d1;g0=g1;x0=x1;x1=x2;H0=H1;xcha=x1-x0;dis=mo(xcha);x1subs(f,b,x1)k=k+1end2.坐标轮换法:syms t1t2f=(t1^2+t2-11)^2+(t1+t2^2-7)^2;b=symvar(f);n=size(b,2);A=eye(n,n);x0=[1;1];dis=1;k=0;while dis>1e-5if k==30breakende=A(:,1);a=buchang(x0,e,f);x1=x0-e*a;i=2;while i<n+1e=A(:,i);a=buchang(x1,e,f);x2=x1-e*a;x1=x2;i=i+1;endxcha=x1-x0;dis=mo(xcha);x0=x1;k=k+1x0end3.鲍威尔法:syms t1t2t3t4f=(t1+10*t2)^2+5*(t3-t4)^2+(t2-2*t3)^4+10*(t1-t4)^4;x0=[3;-1;0;1];b=symvar(f);n=size(b,2);A=eye(n,n);dis=1;while dis>1e-6F0=subs(f,b,x0);e=A(:,1);a=buchang(x0,e,f);x1=x0-e*a;i=2;fz=zeros(1,n);while i<n+1e=A(:,i);fd=subs(f,b,x1);fz(1,i-1)=fd;a=buchang(x1,e,f);x2=x1-a*e;x1=x2;i=i+1;endxcha=x1-x0;dis=mo(xcha);d=x1-x0;x=x1+d;F2=subs(f,b,x1);F3=subs(f,b,x);fz=[F0,fz];cz=zeros(1,n);for i=1:ncz(i)=fz(i)-fz(i+1);endczm=max(cz);m=find(czm);P1=F3-F0;P2=(F0-2*F2+F3)*(F0-F2-czm)^2-0.5*czm*(F0-F3)^2;if P1<0&&P2<0a=buchang(x1,d,f);x0=x1-a*d;A(:,m)=[];A=[A,d];elseif F2<F3x0=x1;elsex0=x;endendx0end实际运行结果如下:1.x=[5;6];f=02.x=[3;2];f=03.x=[3;0.5];f=0.52978;4.x=[0.1239;0.2844];f=5.8969;5.x=[0;0;0;0];f=0;3.约束优化方法程序说明:本题采用matlab自带的fmincon函数来解决非线性优化问题具体代码如下:1. function y=fun1(x)y=(x(1)-2).^2+(x(2)-1).^2;endfunction [c,ceq]=gt1(x)c=x(1).^2-x(2);ceq=[];endA=[1,1];b=2;x0=[1;2];lb=[];ub=[];[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(@fun1,x0,A,b,[], [],lb,ub,@gt1);运行结果如下:x=[1;1];fval=12. function y=fun2(x)y=x(2).^3*((x(1)-3).^2-9)/(27*sqrt(3));endA=[-1/sqrt(3),1;-1,1/sqrt(3);1,1/sqrt(3)];b=[0;0;6];x0=[2;3];lb=[0;0];ub=[];[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(@fun2,x0,A,b,[], [],lb,ub)运行结果如下:X=[4.5000;2.5981];f=-2.5313;备注:引用函数并未能够达到最优点,原因不明;3. function y=fun3(x)y=1000-x(1).^2-2*x(2).^2-x(3)^2-x(1).*x(2)-x(1).*x(3);endfunction [c,cev]=gt2(x)c=[];cev(1)=x(1).^2+x(2).^2+x(3).^2-25;cev(2)=8*x(1)+14*x(2)+7*x(3)-56;endA=[];b=[];Aq=[];bq=[];lb=[0;0;0];ub=[];x0=[2;2;2];[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(@fun3,x0,A,b,Aq, bq,lb,ub,'gt2')运行结果如下:x= [3.5121;0.2170;3.5522];f= 961.7152;exitflag =4备注:引用函数由于算法在迭代过程中产生了NaN,迭代被迫终止4. function y=fun4(x)y=100*(x(2)-x(1).^2).^2+(1-x(1)).^2+90*(x(4)-x(3).^2).^2+(1-x(3))^2+1 0*((x(2)-1).^2+(x(4)-...1).^2)+19.8*(x(2)-1)*(x(4)-1);endA=[];b=[];Aq=[];bq=[];lb=[-10;-10;-10;-10];ub=[10;10;10;10];x0=[-3;-1 ;-3;-1];[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(@fun4,x0,A,b,Aq, bq,lb,ub)运行结果如下:X=[1.0001;1.0002;0.9999;0.9997];f=0;exitflag=5 备注:原始对偶问题没有可行解。

机械优化设计MATLAB程序

机械优化设计MATLAB程序

机械优化设计MATLAB程序机械优化设计作业1.用二次插值法求函数tt1t22极小值,精度e=。

在MATLAB的M文件xx器中编写的M文件,如下:f=inline('(t+1)*(t-2)^2','t') a=0;b=3;epsilon=; t1=a;f1=f(t1); t3=b;f3=f(t3);t2=*(t1+t3);f2=f(t2); c1=(f3-f1)/(t3-t1);c2=((f2-f1)/(t2-t1)-c1)/(t2-t3); t4=*(t1+t3-c1/c2);f4=f(t4); k=0;while(abs(t4-t2)>=epsilon) if t2f4f1=f2;t1=t2; t2=t4;f2=f4; elsef3=f4;t3=t4; end elseif f2>f4f3=f2;t3=t2; t2=t4;f2=f4; elsef1=f4;t2=t4; end endc1=(f3-f1)/(t3-t1);c2=((f2-f1)/(t2-t1)-c1)/(t2-t3); t4=*(t1+t3-c1/c2);f4=f(t4); k=k+1; end%输出最优解 if f2>f4t=t4;f=f(t4); elset=t2;f=f(t2); endfprintf(1,'迭代计算k=%\\n',k) fprintf(1,'极小点坐标t=%\\n',t) fprintf(1,'函数值f=%\\n',f) 运行结果如下:迭代计算k= 7 极小点坐标t= 2 函数值f=2.用黄金分割法求函数t3t23t21的极小值,精度e=。

在MATLAB的M文件xx器中编写的M文件,如下:f=inline('t^(2/3)-(t^2+1)^(1/3)','t');a=0;b=3;epsilon=; t1=*(b-a);f1=f(t1); t2=a+*(b-a);f2=f(t2); k=1;while abs(b-a)>=epsilon if f1epson) p=-G1\\g1; x0=x0+p;g1=subs(df,{x1,x2},{x0(1,1),x0(2,1)}); G1=subs(G,{x1,x2},{x0(1,1),x0(2,1)});k=k+1; end x=x0;fx=subs(f,{x1,x2},{x(1,1),x(2,1)}); 运行结果如下:>> [x,fx,k]=niudunfa([1;1])x =fx = k =23(2)用阻尼牛顿法在MATLAB的M文件xx器中编写的M 文件,如下:function [x,fx,k]=zuniniudunfa(x0)%阻尼牛顿法syms x1 x2f=(x1-2)^4+(x1-2*x2)^2; fx=0;v=[x1,x2];df=jacobian(f,v); df=df.';G=jacobian(df,v);epson=1e-12;%停机原则g1=subs(df,{x1,x2},{x0(1,1),x0(2,1)});G1=subs(G,{x1,x2},{x0(1,1),x0(2,1)}); k=0;%迭代次数 p=-G1\\g1;a0=-p'*g1/(p'*G1*p); x0=x0+a0*p;while(norm(a0*p)>epson) p=-G1\\g1;a0=-p'*g1/(p'*G1*p); x0=x0+a0*p;g1=subs(df,{x1,x2},{x0(1,1),x0(2,1)}); G1=subs(G,{x1,x2},{x0(1,1),x0(2,1)});k=k+1; end x=x0;fx=subs(f,{x1,x2},{x0(1,1),x0(2,1)});运行结果如下:>>[x,fx,k]=zuniniudunfa([1;1])x=fx= k=23(3)用变尺度法在MATLAB的M文件xx器中编写的M文件,如下:32124.用共轭梯度法求函数fx1,x2x1x2x1x22x1的极小点22用共轭梯度法在MATLAB的M文件xx器中编写的M文件,如下:function[y,x,k]=CG(A,b,c,x0)%共轭梯度法解minf=*X'*A*X+b'x+c eps=1e-6;%迭代停机原则%fx=*x0'.*A.*x0+b'.*x0+c; r0=A*x0+b; if norm(r0)epsbeta=(r1'*r1)/(r0'*r0); p1=-r1+beta*p0;alpha=-(r1'*p1)/(p1'*A*p1);x1=x1+alpha*p1; r2=A*x1+b; p0=p1; r0=r1; r1=r2; k=k+1; end x=x1;y=*x'*A*x+b'*x+c;运行结果如下:[y,x,k]=CG([3 -1;-1 1],[-2;0],0,[2;1]) y = -1x = k = 1(2)用变尺度法在MATLAB的M文件xx器中编写的M文件,如下:function [x,fx,k]=bianchidufa(A,b,c,x0) %用变尺度法求fx=*x'*A*x+b'*x+c; epson=1e-12; g0=A*x0+b; G0=A; H0=eye(2); k=0; d0=-H0*g0;a0=-d0'*g0/(d0'*G0*d0); s0=a0*d0; %x(k+1)-x(k); y0=A*a0*d0; %g(k+1)-g(k); x1=x0+a0*d0;while (norm(s0)>=epson) switch k case{10} x0=x1;g0=A*x0+b;H0=eye(2);k=0; d0=-H0*g0;a0=-d0'*g0/(d0'*G0*d0);s0=a0*d0; x1=x0+a0*d0; break otherwiseg1=A*x1+b; y0=A*a0*d0; s0=a0*d0;% H1=H0+s0*s0'/(s0'*y0)-H0*y0*y0'*H0/(y0'*H0*y0);H1=H0+((1+y0'*H0*y0/(s0'*y0))*s0*s0'-H0*y0*s0'-s0*y0'*H0)/(s0'*y0); k=k+1; d1=-H1*g1;a1=-d1'*g1/(d1'*G0*d1);a0=a1;d0=d1; H0=H1; s0=a0*d0; x1=x1+a0*d0; break end end x=x1;fx=*x1'*A*x1+b'*x1+c;运行结果如下:》[x,fx,k]=bianchidufa([3 -1;-1 1],[-2;0],0,[2;1]) H1 =fx = -1 x =fx = -1 k = 1故函数极小点是点25.用鲍威尔法求函数fx1,x2x122x24x12x1x2的极小点。

机械优化设计试题及答案

机械优化设计试题及答案

机械优化设计试题及答案试题一:1. 请简述机械优化设计的定义及重要性。

答案:机械优化设计是通过数学模型和计算机仿真技术,以最优化的方式对机械结构进行设计和改进的过程。

机械优化设计的重要性在于能够提高机械产品的性能和效率,降低成本和能源消耗,并且缩短产品开发周期。

2. 请阐述机械优化设计的基本步骤及流程。

答案:机械优化设计的基本步骤包括:问题定义、数学建模、解的搜索、结果评价和优化、最优解验证等。

具体流程如下:(1) 问题定义:明确机械优化设计的目标和约束条件,例如提高某项指标、降低成本等。

(2) 数学建模:通过将机械系统抽象为数学模型,建立与优化目标和约束条件相关的函数关系。

(3) 解的搜索:采用合适的搜索算法,寻找函数的最优解或近似最优解。

(4) 结果评价和优化:对搜索得到的解进行评价和分析,进一步进行调整和改进,以得到更好的解。

(5) 最优解验证:通过实验或仿真验证最优解的可行性和有效性。

试题二:1. 请简述梯度下降法在机械优化设计中的应用原理。

答案:梯度下降法是一种常用的优化算法,其原理是通过求解函数的梯度向量,并采取沿着梯度方向逐步迭代优化的方法。

在机械优化设计中,可以将需要优化的机械结构的性能指标作为目标函数,通过梯度下降法不断调整结构参数,以寻找最优解。

2. 请列举至少三种机械优化设计的常用方法。

答案:常见的机械优化设计方法包括:遗传算法、粒子群优化算法、模拟退火算法等。

其中:(1) 遗传算法通过模拟生物进化过程,通过选择、交叉和变异等操作,逐渐优化机械结构,以达到最优解。

(2) 粒子群优化算法模拟鸟群或鱼群的行为,通过不断迭代更新粒子的位置和速度,最终找到最优解。

(3) 模拟退火算法基于金属退火的原理,随机选择新解,并通过一定的准则接受或拒绝新解,以便在解空间中发现更优解。

试题三:1. 请解释有限元分析在机械优化设计中的作用。

答案:有限元分析是一种基于数值计算的方法,通过将复杂的结构划分成有限个单元,建立结构的有限元模型,并对其进行离散化求解,用于分析机械结构的应力、振动、热传导等特性。

《机械优化设计》试题及答案解析

《机械优化设计》试题及答案解析

《机械优化设计》试题及答案解析《机械优化设计》复习题及答案⼀、填空题1、⽤最速下降法求f(X)=100(x 2- x 12) 2+(1- x 1) 2的最优解时,设X (0)=[-0.5,0.5]T ,第⼀步迭代的搜索⽅向为[-47;-50]。

2、机械优化设计采⽤数学规划法,其核⼼⼀是建⽴搜索⽅向⼆是计算最佳步长因⼦。

3、当优化问题是__凸规划______的情况下,任何局部最优解就是全域最优解。

4、应⽤进退法来确定搜索区间时,最后得到的三点,即为搜索区间的始点、中间点和终点,它们的函数值形成⾼-低-⾼趋势。

5、包含n 个设计变量的优化问题,称为 n 维优化问题。

6、函数 C X B HX X T T ++21的梯度为 HX+B 。

7、设G 为n×n 对称正定矩阵,若n 维空间中有两个⾮零向量d 0,d 1,满⾜(d 0)T Gd 1=0,则d 0、d 1之间存在_共轭_____关系。

8、设计变量、约束条件、⽬标函数是优化设计问题数学模型的基本要素。

9、对于⽆约束⼆元函数),(21x x f ,若在),(x 20100x x 点处取得极⼩值,其必要条件是梯度为零,充分条件是海塞矩阵正定。

10、库恩-塔克条件可以叙述为在极值点处⽬标函数的梯度为起作⽤的各约束函数梯度的⾮负线性组合。

11、⽤黄⾦分割法求⼀元函数3610)(2+-=x x x f 的极⼩点,初始搜索区间]10,10[],[-=b a ,经第⼀次区间消去后得到的新区间为 [-2.36,2.36] 。

12、优化设计问题的数学模型的基本要素有设计变量、约束条件⽬标函数、13、⽜顿法的搜索⽅向d k = ,其计算量⼤,且要求初始点在极⼩点逼近位置。

14、将函数f(X)=x 12+x 22-x 1x 2-10x 1-4x 2+60表⽰成C X B HX X T T ++21的形式。

15、存在矩阵H ,向量 d 1,向量 d 2,当满⾜ (d1)TGd2=0 ,向量 d 1和向量 d 2是关于H 共轭。

机械优化设计作业1

机械优化设计作业1

要求根据目标函数和约束条件采用适合的MATLAB 优化函数求解优化问题,即线性规划问题、无约束非线性规划、约束非线性规划问题、二次规划问题。

问答题要求:(1)对该问题进行分析,写出该问题的优化模型(包括设计变量、目标函数、约束条件);(2)将优化模型转化为matlab 程序(m 文件);(3)利用matlab 软件求解该优化问题,写出最优解。

题目一:⎪⎩⎪⎨⎧≥=++≥++⋅++=0,20521532min 21321321321x x x x x x x x t s x x x f分析:目标函数:min f=x1+x2+x3此为线性规划问题,有一个等式约束,一个不等式约束;采用命令:x=linprog (c ,A ,b ,Aeq,beq )1,编写M 文件如下:c=[1 1 1];A=[-1 -2 -3];b=[-15];Aeq=[2 1 5];beq=[20];lb=[0;0;0;];ub=[];[x,fval,exitflag]=linprog(c,A,b,Aeq,beq,lb,ub); x = linprog(f,A,b,Aeq,beq,lb,ub) 功能:求解最小化问题 min f*x 条件 A*x ≤ b Aeq*x = beq lb ≤ x ≤ ub ,决策变量有上下限时,如果没有不等式就设置A = []和b = [] ;没有等式就设置 Aeq=[],beq=[]2,运行结果;Optimization terminated.>> x =0.00002.14293.5714>> fval = 5.7143>> exitflag =1题目二:⎪⎪⎩⎪⎪⎨⎧≥≤+≤+-≤+⋅---+=0,32222625.0min 2121212121212221x x x x x x x x t s x x x x x x f分析:目标函数:min f=0.5x1^2+x2^2-x1x2-2x1-6x2此为二次规划问题,并为线性约束;采用命令[x,fval,exitflag,output, grad,hessian]=fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)1.先编写M 文件fun 。

机械优化设计作业

机械优化设计作业

要求根据目标函数和约束条件采用适合的MA TLAB 优化函数求解优化问题,即线性规划问题、无约束非线性规划、约束非线性规划问题、二次规划问题。

问答题要求:(1)对该问题进行分析,写出该问题的优化模型(包括设计变量、目标函数、约束条件);(2)将优化模型转化为matlab 程序(m 文件);(3)利用matlab 软件求解该优化问题,写出最优解。

1、⎪⎪⎩⎪⎪⎨⎧≥≤-≤+≤+-⋅--=0,31232424min 2121212121x x x x x x x x t s x x f 解:程序如下:f=[-4 ;-1];A=[-1 2;2 3;1 -1;];b=[4;12;3];lb=[0 0];[x,fval,exitflag] = linprog(f,A,b,[],[],lb)优化结果:Optimization terminated.x =fval =exitflag =12、72220:m in 321321≤++≤⋅-=x x x t s x x x f解:程序如下:fun='-1*x(1)*x(2)*x(3)';x0=[1 1 1];A=[-1,-2,-2;1,2,2;-1,0,0;0,-1,0;0,0,-1];b=[0;72;0;0;0];Aeq=[];beq=[];lb=[];ub=[];[x,fval,exitflag]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub)优化结果:x =fval =+003exitflag =53、022:)1()2(m in 212221=-+⋅-+-=x x t s x x f解:程序如下:fun='(x(1)-2)^2+(x(2)-1)^2';x0=[1 1];A=[];b=[];Aeq=[1 2];beq=[2];lb=[];ub=[];[x,fval,exitflag]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub)优化结果:x =fval =exitflag =14、2221)3(m in x x f +-=⎪⎩⎪⎨⎧≥-≥≥--⋅05.000412221x x x x t s解:建立非线性约束函数文件:function [c,ceq]=mycon(x)c=(x(1)^2+x(2)-4);ceq=[]; %无等式约束end编程如下:fun='(x(1)-2)^2+(x(2)-1)^2';x0=[1 1];A=[];b=[];Aeq=[1 2];beq=[2];lb=[];ub=[];[x,fval,exitflag]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,,@mycon)优化结果:x =fval =exitflag =55、求函数42121122(,)32(15)f x x x x x x =+++的极小点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

根据题意,该无盖箱子的长和宽均为6-2x,高 为x,取设计变量x 根据长方体容积表达式,得: 建立约束优化问题数学模型得
min s.t f x x (6 2 x ) 2 g1 x 3 0 g2 x 0
Matlab程序一: [x,xfval]=fminbnd(‘-x*(6-2*x)^2’,0,3)
无约束优化问题
一维优化问题
一维优化问题的数学模型为:
min
具体的调用格式如下: 调用格式1:
f ( x)
x1 x x2
在matlab中,一维优化问题,也就是一维搜索问题的实现是由函数fminbnd 来实现的。
X=FMINBND(FUN,x1,x2)
这种格式的功能是:返回在区间(x1,x2)中标量函数FUN的最小值。
2 2 y 5 x x 求函数 1 2 的极小点。
在命令窗口中 输入 X=fminunc(@(x) 5*x(1)^2+x(2)^2,[5;1])
x= 1.0e-006 * -0.7898
-0.0702
2. Fminsearch
Fminsearch使用单纯形法,一种直接搜索的方法。 调用格式1: X=FMINSEARCH(FUN,X0) 这种格式的功能是:给定起始点X0,求函数FUN的局 部极小点X。其中,X0可以使一个标量、向量或者矩 阵。 调用格式2: [X,FVAL]=FMINSEARCH(FUN,X0) 这种格式的功能是:同时返回解x和在点x处的目标函 数值。
调用格式2:
[X,FVAL]=FMINDBND(FUN,x1,x2)
这种格式的功能是:同时返回解x和在点x处的目标函数值。
案例

如图,有一块边长为6m的正方形铝板,四角 截去相等的边长为x的方块并折转,造一个无 盖的箱子,问如何截法(x取何值)才能获得 最大容器的箱子,只写出这一优化问题的数学 模型。用matlab软件的优化工具箱求解。
1.5 x2 0 x1
最后,调用fmincon函数求解 [X,FVAL]=fmincon(@(x) objfun(x),[1;2],[],[],[],[],[],[],@(x) confun(x))
案例1

薄铁板宽20cm,折成梯形槽,求梯形侧边多 长及底角多大,才会使槽的断面积最大。写出 这一优化设计问题的数学模型。用matlab软件 的优化工具箱求解.
调用格式2:[X,FVAL]=FMINUNC(FUN,X0) 这种格式的功能是:同时返回解x和在点x处的目标函数值。
1. 求函数F=sin(x)+3的最小值点。
function f=demfun(x) f=sin(x)+3 然后,在命令窗口中输入: X=fminunc(@demfun,2)
得到
X= 4.7124
Matlab程序二: 首先编写m文件
function f=volf(x)
f=-(6-2*x)^2*x
然后,调用fminbnd函数求解
[X,FVAL]=fminbnd(@volf,0,3)
无约束非线性规划问题
在MATLAB优化工具箱函数中,有以下两个函数用来求解上述问题: fminunc、fminsearch 1. Fminunc 调用格式1:X=FMINUNC(FUN,X0) 这种格式的功能是:给定起始点X0,求函数FUN的局部极小点X。 其中,X0可以是一个标量、向量或者矩阵。
约束优化问题
1.线性规划
一般的约束非线性最优化问题
约束非线性最优化是指目标函数和约束函数都是定义在n维欧 几里得空间上的实值连续函数,并且至少有一个是非线性的。
X=fmincon(fun,x0,A,B,Aeq,Beq,LB,UB,NONLCON) 这个函数格式同上,同时,约束中增加由函数NONLCON定义的非线性约束条件, 在函数NONLCON的返回值中包含非线性等式约束Ceq(X)=0和非线性不等式 C(X)<=0。其中,C(X)和Ceq(X)均为向量。
局限性: (1)应用该函数可能会得到局部最优解。 (2)该函数只对实数进行最小化。如果x为复数时,必须将 它分为实数部和虚数部。
3 3 2 y 2 x 4 x x 10 x x x 求解函数 1 1 2 1 2 2 的最小值点。
方法一:直接在MATLAB命令窗口中输入:
[x0,fval]=fminsearch(’2*x(1)^3+4*x(1)*x(2)^310*x(1)*x(2)+x(2)^2’, [0,0]);
方法二:在MATLAB的M编辑器中建立函数文件用来保存所要 求解最小值的函数:
Function f=demfun1(x) f= 2*x(1)^3+4*x(1)*x(2)^3-10*x(1)*x(2)+x(2)^2; 保存为demfun1.m。
然后,在命令窗口中调用该函数,这里有两种调用方式:
调用方式一: 在命令窗口中输入: [x,fval]=fminsearch(‘demfun1’,[0,0])
xopt = 6.6667 60.0001
fopt =
-57.7350
function f=fun1(x) a=pi/180; f=-(20-2*x(1))*x(1)*sin(x(2)*a)x(1)^2*sin(x(2)*a)*cos(x(2)*a); >>x0=[1,10]';lb=[0,0]';ub=[20,90]'; >> [x,fmin]=fmincon(@fun1,x0,[],[],[],[],lb,ub)
调用方式二: 在命令窗口中输入: [x,fval]=fminsearch(@demfun1,[0,0]) 得到的结果 X= 1.0016 0.8335 Fval=时,使用 fminunc比fminsearch更有效,更精确。而且,当所选 函数高度不连续时,使用fminsearch效果比较好。
求解如下形式的约束非线性规划问题
2 min 5 x12 2 x2
s.t.
目标函数文件 function f=objfun(x) f=5*x(1)^2+2*x(2)^2 约束函数文件 function [c,ceq]=confun(x) c=1.5/x(1)-x(2); Ceq=[];
首先,编制两个函数文件,分别保存目标函数和约束函数
解 取梯形侧边和底角作为设计变量,分别为x1, x2。建立优化问题的数学模型如下:
min((20 2 x1 ) x1 sin x 2 x12 sin x 2 cos x 2 ) s.t. x1 0 x1 20 0 x2 0 x 2 90 0
符号表示法
fun='-(20-2*x(1))*x(1)*sin(x(2)*pi/180)x(1)^2*sin(x(2)*pi/180)*cos(x(2)*pi/180)'; x0=[1,10]';lb=[0,0]';ub=[20,90]'; [xopt,fopt]=fminsearch(fun,x0)
相关文档
最新文档