matlab曲柄连杆机构分析.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab曲柄连杆机构分析

clear;clc; n=750;l=0.975;R=0.0381;h=0.2;omiga=n.*pi/30;tmax=2.*pi/omiga; t=0:0.001:tmax; %计算曲柄转一圈的总t值 alpha1=atan((h+R.*sin(omiga.*t))./sqrt(l.*l-(h+R.*sin(omiga.*t))))+pi; alpha1p=-(R.*omiga.*cos(omiga.*t))./(l.*cos(alpha1)); vb=-R.*omiga.*sin(omiga.*t)+R.*omiga.*cos(omiga.*t).*tan(alpha1); ab=-R.*omiga.^2.*cos(omiga.*t)-(R.*omiga.*cos(omiga.*t)).^2./(l.*(cos(alpha1)).^3) -R.*omiga.^2.*sin(omiga.*t).*tan(alpha1); subplot(1,2,1);plot(t,vb);title(曲柄滑块机构的滑块v-t图); xlabel(时间t(曲柄旋转一周));ylabel(滑块速度v);grid on; subplot(1,2,2);plot(t,ab);title(曲柄滑块机构的滑块a-t图); xlabel(时间t(曲柄旋转一周));ylabel(滑块加速度a);grid on; %下面黄金分割法求滑块的速度与加速度最大值 epsilon=input(根据曲线初始区间已确定,请输入计算精度epsilon(如输入0.001):); a=0;b=0.04; %初始区间 n1=0; %n1用于计算次数 a1=b-0.618*(b-a);y1=-R.*omiga.*sin(omiga.*a1) +R.*omiga.*cos(omiga.*a1).*tan(alpha1); a2=a+0.618*(b-a);y2=-R.*omiga.*sin(omiga.*a2) +R.*omiga.*cos(omiga.*a2).*tan(alpha1); while abs(a-b)=epsilon if y1=y2 b=a2;a2=a1;y2=y1; a1=b-0.618*(b-a);y1=-R.*omiga.*sin(omiga.*a1)+R.*omiga.*cos(omiga.*a1).*tan(alpha1); else a=a1;a1=a2;y1=y2; a2=a+0.618*(b-a);y2=-R.*omiga.*sin(omiga.*a2)+R.*omiga.*cos(omiga.*a2).*tan(alpha1); end n1=n1+1; end vbm1=omiga*(a+b)/2; disp([经过,num2str(n1),次计算,用黄金分割法找到速度最大值对应的wt是:, num2str(vbm1),弧度。]) a=0.04;b=0.08;%初始区间变化,对应的函数取负即可 n1=0; %n1用于计算迭代次数 a1=b-0.618*(b-a);y1=-(-R.*omiga.*sin(omiga.*a1)+R.*omiga.*cos(omiga.*a1).*tan(alpha1)); a2=a+0.618*(b-a);y2=-(-R.*omiga.*sin(omiga.*a2)+R.*omiga.*cos(omiga.*a2).*tan(alpha1)); while abs(a-b)=epsilon if y1=y2 b=a2;a2=a1;y2=y1; a1=b-0.618*(b-a); y1=-(-R.*omiga.*sin(omiga.*a1)+R.*omiga.*cos(omiga.*a1).*tan(alpha1)); else a=a1;a1=a2;y1=y2; a2=a+0.618*(b-a); y2=-(-R.*omiga.*sin(omiga.*a2)+R.*omiga.*cos(omiga.*a2).*tan(alpha1)); end n1=n1+1; end vbm2=omiga*(a+b)/2; disp([经过,num2str(n1),次计算,找到的另一个速度最大值对应的w是:,num2str(vbm2),弧度。]) disp([  两个速度最

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档