當前位置:編程學習大全網 - 編程軟體 - matlab彈簧優化設計問題,急急急

matlab彈簧優化設計問題,急急急

%主程序% tanhuangyouhua

function aa

x0=[5,25,20];

lb=[3,20,4];

ub=[8,50,50];

%默認使用算法'trust-region-reflective',它和LargeScale = 'off'沖突

%要麽把Largescale設置為on,要麽換壹種算法使用active-set

%當然妳不管這個的話,系統給妳警告,並會自動幫妳換壹種算法

options = optimset('Largescale','off','Algorithm ','active-set');

%分號去掉,才會輸出

[x,fn,exitflag,outflag]=fmincon(@mubiao,x0,[],[],[],[],lb,ub,@yueshu,options)

end

%目標函數% mubiao.m

function f=mubiao(x)

p=7.8*10^(-6);

f=p*pi^2*x(1)*x(1)*x(2)*x(3)/4;

end

%約束函數%yueshu.m

function[g,ceq]=yueshu(x)

a=916.4208*x(2)^0.86/x(1)^2.86;

b=574.7045*x(2)/x(1)^3;

c=286.6817/x(1)^2;

g(1)=1.2-370.9398/(a+b+c);

g(2)=6*x(1)-x(2);

g(3)=x(1)*x(3)+0.5*x(1)-40;

d=(x(3)-0.5)*x(1)+24.1776;%%%這個沒用

g(4)=abs(x(1)^4*10000/x(2)^3/(x(3)-1.75)-20.7)-2.07;

g(5)=300-0.356*10^6*x(1)*x(2)^(-2)*x(3);

ceq=[];

end

  • 上一篇:光線追蹤是什麽?光追好不好用?
  • 下一篇:學習軟件編程最核心的東西就是——編程思路。
  • copyright 2024編程學習大全網