• 大小: 516KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-07
  • 语言: Matlab
  • 标签: matlab  GUI  四杆机构  

资源简介

研究生时候写的程序,上传上来希望对大家有所帮助 试设计一曲柄摇杆机构,已知支座A的坐标XA=67mm,YA=10mm,再现给定轨迹上的12个点的坐标值(x,y)为输入构件转角的函数如下表。机架倾角β=0.5695。 i 0 1 2 3 4 5 6 7 8 9 10 11 ψ 0 30 60 90 120 150 180 210 240 270 300 330 x 50 48.5 42 34 29 30 34 42 48 55 56 51 y 91 111 107 90 67 45 28 17 12 14 24 52 参考文献:廖汉元、孔建益主编《机械原理》第2版 P161页

资源截图

代码片段和文件信息

% function four_pole 
% 四连杆机构 
%close all;clc;clear; 
% xm=[50.048.542342930344248555651];
% ym=[91111107906745281712142452];
% plot(xmym‘ro‘)
% hold on;
global l;
global beta;
global gama1;
global XA;
global YA;
% l=[45.0157171.1939113.1270108.943857.66472];
% beta=0.5695;
% gama1=0.22643;
% XA=67;
% YA=10;
% l1=l;
% beta1=beta;
% gama2=gama1;
% XA1=XA;
% YA1=YA;
t1=sin(0:.1:2*pi); % 生成固定点的横轴数据
t2=cos(0:.1:2*pi); % 生成固定点的纵轴数据 
r=2; % 固定点的半径
fill(XA+r*t1YA+r*t2‘r‘);set(gcf‘doublebuffer‘‘on‘); % 绘制左侧固定点
hold on; 
Cx=XA+real(l(4)*exp(i*beta));%计算右端点的横坐标
Cy=YA+imag(l(4)*exp(i*beta));%计算右端点的纵坐标
fill(Cx+r*t1Cy+r*t2‘r‘); % 绘制右侧固定点 
axis([-100200-100150]); % 设置坐标轴范围及属性
t=1; % 记录时间的参数
A=t; % 旋转的角度
z=l(1)*exp(i*A);
Ax=XA+real(l(1)*exp(i*A)); % 圆周运动的端点的横坐标
Ay=YA+imag(l(1)*exp(i*A));%圆周远动的端点的纵坐标
m=l(4)*exp(i*beta);
H1=plot([XAAx][YAAy]‘linewidth‘4); % 画出作圆周运动的连杆OA
AC=sqrt((Cx-Ax)^2+(Cy-Ay)^2); % 计算当前线段AC的长度
AB=l(2); % 设置AB的长度,其为固定值
BC=l(3); % 设置BC的长度,其为固定值
JA=acos((AC^2+AB^2-BC^2)/(2*AC*AB)) ;% 计算AB和AC夹角大小
Bx=Ax+real(AB*exp(((angle(m-z))+JA)*i));% 获得B点当前的横坐标
By=Ay+imag(AB*exp(((angle(m-z))+JA)*i));%获得B点当前的纵坐标
%B=z+AB*exp(((angle(m-z))+JA)*i); % 获得B点当前的坐标
Dx=Ax+real(l(5)*exp((angle(m-z)+JA+gama1)*i));%获得D点当前的横坐标
Dy=Ay+imag(l(5)*exp((angle(m-z)+JA+gama1)*i));%获得D点当前的纵坐标
%D=z+57.66472*exp((angle(m-z)+JA+0.2264)*i);
k=1; % 控制循环是否执行的参数 
H2=plot([AxBx][AyBy]‘g‘‘linewidth‘4); % 绘制AB连杆
H3=plot([BxCx][ByCy]‘linewidth‘4‘color‘[0.40.20.5]);  % 绘制BC连杆
H4=plot([AxDx][AyDy]‘y ‘‘linewidth‘4); %绘制AD连杆
%Ga=plot(AxAy); % 绘制A点当前的轨迹曲线
%Gb=plot(BxBy); % 绘制B点当前的轨迹曲线 
Gd=plot(DxDy);% 绘制D点轨迹
%set([GaGb]‘color‘‘r‘); % 设置轨迹曲线的颜色
%zga=z; % 定义记录A点轨迹点的变量
%zgb=B; % 定义记录B点轨迹点的变量 
zgdx=Dx;
zgdy=Dy;
xlabel(‘Please press “space“ key and stop this program!‘... 
   ‘fontsize‘14‘color‘‘r‘); % 加注标注
T=title([‘time=  ‘num2str(t)]); % 实时显示时间
text(0100‘铰链四连杆机构‘); % 加注文字
while k; % 模拟四连杆的运动过程 
   s=get(gcf‘currentkey‘); % 检测键入按键的名称
   if strcmp(s‘space‘); % 判断键入按键是否为空格键
       clc;k=0; % 设置参数使循环结束
   end     
   pause(0.01); % 暂停一下,显示动画效果
   t=t+0.02; % 更新时间 
   z=l(1)*exp(i*t); 
   Ax=XA+real(l(1)*exp(i*t)); % 圆周运动的端点的横坐标
   Ay=YA+imag(l(1)*exp(i*t));%圆周远动的端点的纵坐标
   AC=sqrt((Cx-Ax)^2+(Cy-Ay)^2); % 计算当前线段AC的长度
   %AC=abs(m-z); % 计算当前线段AC的长度
   JA=acos((AC^2+AB^2-BC^2)/(2*AC*AB)); % 计算当前线段AB和BC的夹角
   %B=z+AB*exp(((angle(m-z))+JA)*i); % 获得B点当前的坐标
   Bx=Ax+real(AB*exp(((angle(m-z))+JA)*i));% 获得B点当前的横坐标
   By=Ay+imag(AB*exp(((angle(m-z))+JA)*i));%获得B点当前的纵坐标
   Dx=Ax+real(l(5)*exp((angle(m-z)+JA+gama1)*i));%获得D点当前的横坐标
   Dy=Ay+imag(l(5)*exp((angle(m-z)+JA+gama1)*i));%获得D点当前的纵坐标
   %D=z+57.66472*exp((angle(m-z)+JA+0.2264)*i);
   set(H1‘xdata‘[XAAx]‘ydata‘[YAAy]); % 更新线段OA的位置 
   set(H2‘xdata‘[AxBx]‘ydata‘[AyBy]); % 更新线段AB的位置
   set(H3‘xdata‘[BxCx]‘ydata‘[ByCy]); % 更新线段BC的位置
   set(H4‘xdata‘[DxAx]‘ydata‘[DyAy]); %更新线段AD的位

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3886  2009-12-07 10:57  Mechanisms5\fourbarmotion2.asv

     文件       3968  2009-12-07 15:05  Mechanisms5\four_pole.asv

     文件       3973  2009-12-23 17:18  Mechanisms5\four_pole.m

     文件      42034  2009-11-04 16:44  Mechanisms5\fuorbarGUI.asv

     文件       7274  2009-12-07 15:15  Mechanisms5\fuorbarGUI.fig

     文件      42011  2009-12-07 11:17  Mechanisms5\fuorbarGUI.m

     文件        721  2009-10-31 21:32  Mechanisms5\my.asv

     文件        702  2009-12-23 17:17  Mechanisms5\my.m

     文件        771  2009-10-30 19:21  Mechanisms5\myfun.asv

     文件        741  2009-11-01 17:34  Mechanisms5\myfun.m

     文件     586752  2009-11-12 20:06  Mechanisms5\图片.doc

     目录          0  2009-12-23 17:20  Mechanisms5

----------- ---------  ---------- -----  ----

               692833                    12


评论

共有 条评论