matlab源程序求修改能运行%V带传动多目标优化设计 %多目标:f(1)-小带轮直径,f(2)-中心距,f(3)-V带

1个回答

  • VDCD_3mb_YS.mfunction[c,ceq]=VDCD_3mb_YS(x)

    %V带传动多目标优化设计的约束函数文件

    i=3;n1=1440;

    c(1)=pi*x(1)*n1/6e4-25;

    a1=x(2)/4-pi*x(1)*(i+1)/8;

    a2=x(1)^2*(i-1)^2/8;

    a=a1+sqrt(a1^2-a2);

    c(2)=120-180*(1-x(1)*(i-1)/a/pi);

    c(3)=0.7*x(1)*(i+1)-a;

    ceq=[];VDCD_3mb_MB.mfunction f=VDCD_3mb_MB(x)

    %V带传动多目标优化设计的目标函数文件

    P=4;i=3;KA=1.1;

    f(1)=x(1);

    a1=x(2)/4-pi*x(1)*(i+1)/8;

    a2=x(1)^2*(i-1)^2/8;

    a=a1+sqrt(a1^2-a2);

    f(2)=a;

    P0=0.02424*x(1)-1.112879;

    DP0=0.17;

    alpha=180-180*x(1)*(i-1)/pi/a;

    Kalp=alpha/(0.549636*alpha+80.396114);

    KL=0.20639*x(2)^0.211806;

    f(3)=KA*P/(P0+DP0)/Kalp/KL;主程序%V带传动多目标优化设计

    %多目标:f(1)-小带轮直径,f(2)-中心距,f(3)-V带根数

    %设计变量:x(1)-小带轮直径,x(2)-V带基准长度

    P=4;i=3;n1=1440;KA=1.1;

    %已知条件:功率、传动比、转速、工况系数

    disp('');

    fprintf('电动机功率P=%3.2fkWn',P);

    fprintf('电动机转速n1=%3.0fr/minn',n1);

    fprintf('传动比i=%3.2fn',i);

    fprintf('V带型号A型V带n');

    fprintf('工作情况系数KA=%3.2fn',KA);

    %V带传动多目标优化设计

    P=4;i=3;n1=1440;KA=1.1;

    x0=[100;1250];

    A=[];b=[];

    Aeq=[];

    beq=[];

    lb=[75;630];

    ub=[331;4000];

    goal=[80,400,4];

    w=abs(goal);

    [xopt,fopt]=fgoalattain(@VDCD_3mb_MB,x0,goal,w,A,b,Aeq,beq,lb,ub,@VDCD_3mb_YS)

    %[xopt,fopt]=fminimax(@VDCD_3mb_MB,x0,A,b,Aeq,beq,lb,ub,@VDCD_3mb_YS)

    %根据计算结果圆整为规范值

    %V带轮基准直径

    Dd1=input('根据A型V带轮基准直径系列圆整小带轮基准直径Dd1=');

    disp('大带轮计算直径计算值:'),Dd2j=Dd1*i;

    Dd2=input('根据A型V带轮基准直径系列圆整大带轮基准直径Dd2=');

    %V带基准长度

    Ld=input('根据A型V带轮基准长度系列圆整V带基准长度 Ld=');

    %V带根数

    z=input('确定带根数 z=');

    %传动中心距和包角

    a1=Ld/4-pi*Dd1*(i+1)/8;

    a2=Dd1^2*(i-1)^2/8;

    a=a1+sqrt(a1^2-a2);

    alpha=180-180*Dd1*(i-1)/pi/a;

    disp('

    小带轮基准直径Dd1= 10mm

    大带轮基准直径Dd2= 20mm

    V带基准长度Ld=5mm

    传动中心距a=-2.00mm

    小带轮包角alpha=800.37°

    V带根数z=2

    带速v=0.75m/s

    带的初拉力F0=912.19N

    带的压轴力FQ=2354.41N