当前位置 : 主页 > 编程语言 > python >

【机械】基于matlab实现直齿圆柱齿轮应力计算附matlab代码

来源:互联网 收集:自由互联 发布时间:2022-09-29
1 内容介绍 运用MATLAB的优化工具箱对直齿圆柱齿轮传动进行了优化设计,其约束优化时采用fmincon求解器,优化结果与常规设计结果比较,获得了更为紧凑的结构.通过应用实例验证了其优化

1 内容介绍

运用MATLAB的优化工具箱对直齿圆柱齿轮传动进行了优化设计,其约束优化时采用fmincon求解器,优化结果与常规设计结果比较,获得了更为紧凑的结构.通过应用实例验证了其优化方法的可靠性,可为齿轮结构的优化设计提供参考.

2 部分代码

function JK=JofK(m,phis,ar,rrT,ts,N1,N2,C,rT1,rT2)

%此处多添加部分是为了判断函数是否能计算,若不能计算则返回主函数,并返回空值,用来判断计算出错,给出提示框

CENUM={m,phis,ar,rrT,ts,N1,N2,C,rT1,rT2};

CEN=sum(cellfun('isempty',CENUM));

%判断输入数中是否有空值,若是有的话,返回空值

if CEN

    JK=[];

    return

else

    [urmin,urmax,e,xD,rf,xrp,yrp,gammaw,phi]=Parameter(m,phis,ar,rrT,ts,N1,N2,C,rT1,rT2);

    options=optimset('display','off');

    ur=fminbnd(@KofJ,urmin,urmax,options,m,rf,e,rrT,N1,xrp,yrp,phis,xD,gammaw);

    KJ=KofJ(ur,m,rf,e,rrT,N1,xrp,yrp,phis,xD,gammaw);

    %这里调用了KofJ子函数,若是子函数返回的值为空,则此子函数的字也返回为空

    if ~isempty(KJ)

    JK=-cos(phi)/KJ;

    else

        JK=[];

        return

    end

end

3 运行结果

【机械】基于matlab实现直齿圆柱齿轮应力计算附matlab代码_提示框

4 参考文献

[1]侍红岩, 吴晓强, 单晓敏,等. 基于MATLAB/GUI的直齿圆柱齿轮齿厚计算软件设计[J]. 机床与液压, 2015(18).

[2]陈清胜. 基于MATLAB的直齿圆柱齿轮传动的优化设计研究[J]. 机械管理开发, 2010, 25(6):2.部分理论引用网络文献,若有侵权联系博主删除。


网友评论