您现在的位置是:主页 > news > 网上商城网站建设/怎么下载需要会员的网站视频

网上商城网站建设/怎么下载需要会员的网站视频

admin2025/4/26 21:37:23news

简介网上商城网站建设,怎么下载需要会员的网站视频,教育app定制开发,网站开发大致多少钱目 录 摘 要 I Abstract II 1 绪论 1 1.1 本文研究的目的意义 1 1.2 发展及应用现状 1 1.3 本文研究的主要内容 2 2 实现的技术路线 3 2.1 MATLAB编程的特点 3 2.2 软件实现的技术路线 3 2.3 GUI设计的特点和实现方法 3 3 铰链四杆机构运动分析软件总体设计 5 3.1 设计的内容和…

网上商城网站建设,怎么下载需要会员的网站视频,教育app定制开发,网站开发大致多少钱目 录 摘 要 I Abstract II 1 绪论 1 1.1 本文研究的目的意义 1 1.2 发展及应用现状 1 1.3 本文研究的主要内容 2 2 实现的技术路线 3 2.1 MATLAB编程的特点 3 2.2 软件实现的技术路线 3 2.3 GUI设计的特点和实现方法 3 3 铰链四杆机构运动分析软件总体设计 5 3.1 设计的内容和…

目 录
摘 要 I
Abstract II
1 绪论 1
1.1 本文研究的目的意义 1
1.2 发展及应用现状 1
1.3 本文研究的主要内容 2
2 实现的技术路线 3
2.1 MATLAB编程的特点 3
2.2 软件实现的技术路线 3
2.3 GUI设计的特点和实现方法 3
3 铰链四杆机构运动分析软件总体设计 5
3.1 设计的内容和软件的功能 5
3.2 参数化设计 5
3.2.1 最小传动角的确定 5
3.3.2 行程速比系数K及极位夹角的确定 6
3.3 人机界面设计 7
4 平面铰链四杆机构的运动分析模拟软件的实现 10
4.1 GUI界面的制作 10
4.2 程序的设计和调试 12
5 结果分析 20
5.1软件使用方法 20
5.2 机械建模型仿真 22
5.3 模块连接 24
5.4 模块参数设置 27
5.5 仿真结果 30
5.6 存在的缺点和以后改进的方向 34
总结 35
参考文献 36
致谢 38
设计的内容:
(1)建立机构数学模型。
(2)利用MATLAB提供的交互式制作用户界面的工具GUI来制作所需图形界面。
(3)程序的设计和调试。
软件的主要功能:
(1)根据输入的四个杆长、角频率画出平面四连杆机构的图形。
(2)对平面四连杆机构进行运动模拟。
(3)对平面四连杆机构进行运动分析,显示从动杆的瞬时角速度、瞬时角加速度、极位夹角、最小传动角、反正行程速比系数。
本课题研究如何利用MATLAB提供的交互式制作用户界面的工具GUI来制作四连杆机构的运动分析及模拟界面,因此必须掌握界面的设计方法。需注意以下几点:
1.界面设计的基本原则
(1)简洁性原则
(2)一致性原则
(3)熟悉性原则
(4)交互式原则
2.界面设计的一般步骤
界面制作包括界面设计和程序设计。主要步骤如下:
(1) 分析功能、明确任务 按照界面设计的原则,分析界面所要完成的功能,明确设计任务。
(2)认真审查 将界面绘成草图,并站在使用者角度进行审查,尽量让用户感到方便、乐于使用,所以认真审查界面就显得非常必要。
(3)制作静态界面、全面检查 按构思的界面,制作静态界面,并认真检验,确保无误。
(4)编写界面的动态功能程序、逐项检查 编写动态功能的程序,逐项检查、反复调试。
GUI设计的特点和实现方法
(1)GUI的广泛应用是当今计算机发展的重大成就之一,他极大地方便了非专业用户的使用人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作。用GUI设计工具设计控件时,不用记住创建控件对象的复杂函数,也不必记住控件的大量属性的属性名,因此便于设计和修改。与早期计算机使用的命令行界面相比图形界面对于用户来说在视觉上更易于接受,
(2)GUI又称“图形用户界面”,在进行图形用户界面(GUI)设计时,应该先理解“句柄图形”的概念,它是设计与实现GUI的前提。每个图形对象都有一个句柄,什么是句柄图形?简单的讲,句柄图形是对底层图形对象集合的总称。只有获取了图形对象的句柄,才可以对该图形对象进行控制、设置或修改对象的有关属性。

% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%获得a,b,c,d的杆长
A=get(findobj(gcf,'Tag','Edit_a'),'string');
la=str2num(A);
B=get(findobj(gcf,'Tag','Edit_b'),'string');
lb=str2num(B);
C=get(findobj(gcf,'Tag','Edit_c'),'string');
lc=str2num(C);
D=get(findobj(gcf,'Tag','Edit_d'),'string');
ld=str2num(D);
lmax=max([la,lb,lc,ld]);
lmin=min([la,lb,lc,ld]);
%有无曲柄条件
lo=2*(lmax+lmin)-(la+lb+lc+ld);
%是否为机构条件
ll=2*lmax-(la+lb+lc+ld);
%获得主动杆lb角速度
w0=get(findobj(gcf,'Tag','Text_w'),'string');
w=str2num(w0);
if ((lo>0)&&(ll<0)) %无曲柄条件,双摇杆机构set(findobj(gcf,'Tag','Type'),'String',{'双摇杆机构!不在模拟范围!'}, 'ForegroundColor',[1,0,0]);
elseif ((lo<=0)&&(ll<0)) %有曲柄条件switch  lmin%当最短杆为机架ld时,该机构为双曲柄机构case ldset(findobj(gcf,'Tag','Type'),'String',{'双曲柄机构,不在模拟范围'}, 'ForegroundColor',[1,0,0]);%当最短杆为连架杆la时(主动件),该机构为曲柄摇杆机构,调用函数 crankrocker.mcase laset(findobj(gcf,'Tag','Type'),'String',{'曲柄摇杆机构'});%,'Position',[0.75,0.26,0.25,0.1]);%crankrocker(la,lb,lc,ld,w);
L=[la,lb,lc,ld];
sum=la+lb+lc+ld;
la=la/sum*200;
lb=lb/sum*200;
lc=lc/sum*200;
ld=ld/sum*200;
l=[la,lb,lc,ld];
%画A点的三角支撑
a2=line([0,-3],[0,-6],'color','k','linestyle','-','linewidth',2);
a3=line([0,3],[0,-6],'color','k','linestyle','-','linewidth',2);
%画A点的地面及斜线
a4=line([-6,+6],[-6,-6],'color','k','linestyle','-','linewidth',2);
a41=line([-1,-4],[-6,-9],'color','k','linestyle','-','linewidth',1);
a42=line([-4,-7],[-6,-9],'color','k','linestyle','-','linewidth',1);
a43=line([2,-1],[-6,-9],'color','k','linestyle','-','linewidth',1);
a44=line([5,2],[-6,-9],'color','k','linestyle','-','linewidth',1);
%画D点的三角支撑
d2=line([ld,-3+ld],[0,-6],'color','k','linestyle','-','linewidth',2);
d3=line([ld,3+ld],[0,-6],'color','k','linestyle','-','linewidth',2);
%画D点的地面及斜线
d4=line([-6+ld,6+ld],[-6,-6],'color','k','linestyle','-','linewidth',2);
d41=line([-1+ld,-4+ld],[-6,-9],'color','k','linestyle','-','linewidth',1);
d42=line([-4+ld,-7+ld],[-6,-9],'color','k','linestyle','-','linewidth',1);
d43=line([2+ld,-1+ld],[-6,-9],'color','k','linestyle','-','linewidth',1);
d44=line([5+ld,2+ld],[-6,-9],'color','k','linestyle','-','linewidth',1);
%确定极位夹角theta0
theta_1=acos(((la+lb)*(la+lb)+ld*ld-lc*lc)/(2*(la+lb)*ld));
theta_2=acos(((-la+lb)*(-la+lb)+ld*ld-lc*lc)/(2*(-la+lb)*ld));
theta_3=theta_2-theta_1;
theta0=theta_3/pi*180;
set(findobj(gcf,'Tag','theta0'),'String', num2str(theta0));
%确定反正行程速比系数K
K=(pi+theta0)/(pi-theta0);
set(findobj(gcf,'Tag','K'),'String',num2str(K));
%确定最小传动角gama0
gama_1=acos((lb*lb+lc*lc-(ld-la)*(ld-la))/(2*lb*lc));
gama_2=acos((lb*lb+lc*lc-(ld+la)*(ld+la))/(2*lb*lc));
if gama_2>=pi/2gama_2=pi-gama_2;
end
gama_3=min(gama_1,gama_2);
gama0=gama_3/pi*180;
set(findobj(gcf,'Tag','gama0'),'String',num2str(gama0));
%画AD杆
ad=line([0,ld],[0,0],'color','k','marker','o','markersize',5,'linewidth',1,'linestyle','-.');
%A的向量和D的向量%
ax0=0;ay0=0;
Va=complex(ax0,ay0);
dx0=ld;dy0=0;
Vd=complex(dx0,dy0);
mm=90;
for i=1:1:mmtheta(i)=2*i*pi/mm;bx0=la*cos(theta(i));by0=la*sin(theta(i));Vb(i)=complex(bx0,by0);%角Atheta_a(i)=angle(Vb(i));%向量BD,lbd为BD瞬时的长Vbd(i)=Vb(i)-Vd;theta_bda(i)=pi-angle(Vbd(i));lbd(i)=abs(Vbd(i));theta_cdb(i)=acos((lc*lc+lbd(i)*lbd(i)-lb*lb)/(2*lc*lbd(i)));%角Dtheta_d(i)=theta_bda(i)+theta_cdb(i);%C的向量cx0=ld-lc*cos(theta_d(i));cy0=lc*sin(theta_d(i));Vc(i)=complex(cx0,cy0);%求c杆角速度Vbc(i)=Vc(i)-Vb(i);theta_2(i)=angle(Vc(i));theta_3(i)=angle(Vbc(i));theta_4(i)=pi-theta_d(i);w2=w;%列矩阵方程求解w3,w4R1=[-lb*sin(theta_3(i)) lc*sin(theta_4(i));lb*cos(theta_3(i)) -lc*cos(theta_4(i))];%求矩阵的逆矩阵R2=[w2*la*sin(theta_2(i));-w2*la*cos(theta_2(i))];Result_w=R1\R2;w3(i)=Result_w(1,1);w4(i)=Result_w(2,1);%求C杆的角加速度Ra=[-lb*sin(theta_3(i))    lc*sin(theta_4(i)); -lb*cos(theta_3(i))    -lc*cos(theta_4(i))];Ras=[w2*w2*la*cos(theta_2(i))+w3(i)*w3(i)*lb*cos(theta_3(i))-w4(i)*w4(i)*lc*cos(theta_4(i)) ; w2*w2*la*sin(theta_2(i))+w3(i)*w3(i)*lb*sin(theta_3(i))-w4(i)*w4(i)*lc*sin(theta_4(i))];Result_a=inv(Ra) * Ras;a3(i)=Result_a(1,1);a4(i)=Result_a(2,1);
end
ab=line([real(Va),real(Vb(i))],[imag(Va),imag(Vb(i))],'color','k','marker','o','markersize',5,'linewidth',2,'linestyle','-');
cd=line([real(Vd),real(Vc(i))],[imag(Vd),imag(Vc(i))],'color','k','marker','o','markersize',5,'linewidth',2,'linestyle','-');
bc=line([real(Vc(i)),real(Vb(i))],[imag(Vc(i)),imag(Vb(i))],'color','k','marker','o','markersize',5,'linewidth',2,'linestyle','-');
%进行实时动画模拟
j=1;
m=0;
while m<5set(ab,'xdata',[real(Va),real(Vb(j))],'ydata',[imag(Va),imag(Vb(j))]);set(cd,'xdata',[real(Vd),real(Vc(j))],'ydata',[imag(Vd),imag(Vc(j))]);set(bc,'xdata',[real(Vc(j)),real(Vb(j))],'ydata',[imag(Vc(j)),imag(Vb(j))]);set(findobj(gcf,'Tag','Text_Wc'),'String',num2str(w4(j)));set(findobj(gcf,'Tag','Text_Ac'),'String',num2str(a4(j)));set(findobj(gca,'Tag','axes2'),'String',num2str(w4(j)));drawnowj=j+1;if j>mmj=1;m=m+1;end
end%当最短杆为lc时(从动件),该机构为曲柄摇杆机构case lcset(findobj(gcf,'Tag','Type'),'String',{'曲柄摇杆机构!但主动件为摇杆,不在模拟范围!'},'ForegroundColor',[1,0,0]);%,'Position',[0.75,0.26,0.25,0.1]);%当最短杆为连杆lbotherwise  lb;set(findobj(gcf,'Tag','Type'),'String',{'双摇杆机构!无法进行模拟!'},'ForegroundColor',[1,0,0]);end
elseif ll>=0 %不满足杆组条件!无法模拟!set(findobj(gcf,'Tag','Type'),'String',{'不满足杆长条件!无法进行模拟!'},'ForegroundColor',[1,0,0]);
end;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述