punish1.m

来自「使用惩罚函数法对机械设计中的问题进行优化处理」· M 代码 · 共 13 行

M
13
字号
function y1=punish1(x,r)
syms d D n;
C=D/d;
K=0.615/C+(4*C-1)/(4*C-4);
y=0.0078*pi*d^2/4*(n+1.5)*pi*D/cos(pi/36)...
    -r*(1/(d-D+16)+1/(2.5-d)+1/(d-6)+1/(10-D)+1/(D-60)+1/(2-n)+1/((n+1)*d-50)...
    +1/(K*8*700*D/(pi*d^3)-444)+1/((10+n*0.15*d+(n+1)*d)/D-2.6)...
    +1/(8*700*D^3*n/(8.1*10^4*d^4)-10));
y1=[diff(y,d);diff(y,D);diff(y,n)];
d=x(1);
D=x(2);
n=x(3);
y1=subs(y1);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?