零件参数设计matlab程序(数学建模)

零件参数设计matlab程序(数学建模)
零件参数设计matlab程序(数学建模)

Min=90000;

global H A C %全局变量

H=[10000,25,10000;20,50,10000;20,50,200;50,100,500;50,10000,10000;10,25,100;10000,25,100 ]; %成本矩阵

A=[0.1 0.05 0.01;0.1 0.05 0.01;0.1 0.05 0.01;0.1 0.05 0.01;0.1 0.05 0.01;0.1 0.05 0.01;0.1 0.05 0.01]; %容差矩阵

C=zeros(7,3); 把容差选择矩阵元素全部赋值为0

for z=1:1:3

for x=1:1:3

for c=1:1:3

for v=1:1:3

for g=1:1:3

for n=1:1:3

for m=1:1:3

D=[z x c v g n m];

C=zeros(7,3);

for i=1:1:7

C(i,D(i))=1;

end %产生7 3列矩阵,该矩阵特点是每一行只有一个

1 ,其它两个数为0。本矩阵是为了对零件容差等级

进行选择

lb=[0.075 0.225 0.075 0.075 1.125 12 0.5625];

ub=[0.125 0.375 0.125 0.125 1.875 20 0.935];

X0=[0.075 0.225 0.075 0.075 1.125 12 0.5625];

[xopt fopt]=fmincon(@mubiao,X0,[],[],[],[],lb,ub,[]);

if fopt

Min=fopt;

XOPT=xopt;

Q=C;

end

end

end

end

end

end

end

end

function f=junzhi(X)

f=3.4512+[24.5896,-5.9911,14.6675,-4.0281,-1.1504,-0.0539,-1.1504]*X'

; %把一组X取值带入经验公式的简化式,得到期望值μ

function f=junzhi2(X)

f=([24.5896,-5.9911,14.6675,-4.0281,-1.1504,-0.0539,-1.1504].*X)/3; %得到一个行向量,为计算均方差σ做准备

function f=mubiao(X)

global C A H %全局变量

B=C.*A;

E=(sum(B,2));

G= junzhi2(X);

F=(G'.*E).^2;

b=(sum(F(:)))^0.5; %求解产品参数的均方差,b即是均方差

a= junzhi(X); %求解产品参数的期望值

p0=normcdf(1.6,a,b)-normcdf(1.4,a,b); %产品为合格品的概率

p1=normcdf(1.8,a,b)-normcdf(1.6,a,b)+normcdf(1.4,a,b)-normcdf(1.2,a,b ); %产品为次品的概率

p2=1-p0-p1; %产品为废品的概率

sunshi=1000*p1+9000*p2; %产品的损失费用

I=C.*H; %用容差选择矩阵选择容差等级

chengben=sum(I(:)); %零件的总成本

f=chengben+sunshi; %目标函数

相关主题
相关文档
最新文档