2022年matlab曲柄滑块机构的运动学仿真.pdf
系统仿真与 matlab 综合试题题 目:曲柄滑块机构的运动学仿真编 号: 21 难度系数:姓 名班 级学 号联系方式成 绩精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 17 页 - - - - - - - - - - 系统仿真与 matlab 综合试题 . 错误!未定义书签。一、引言 . 错误!未定义书签。二、运动学分析 . 错误!未定义书签。、实例题目 . 错误!未定义书签。、运动分析 . 错误!未定义书签。三、MATLAB 程序编写 . 错误!未定义书签。四、使用指南和实例仿真. 错误!未定义书签。五、结语 . 错误!未定义书签。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 17 页 - - - - - - - - - - 一、引言曲柄滑块机构是指用曲柄和滑块来实现转动和移动相互转换的平面连杆机构, 也称曲柄连杆机构。 曲柄滑块机构广泛应用于往复活塞式发动机、压缩机、冲床等的主机构中,把往复移动转换为不整周或整周的回转运动;压缩机、 冲床以曲柄为主动件,把整周转动转换为往复移动。这里使用运动学知识,对其运动进行解析,并用为其设计仿真模块。二、运动学分析、实例题目对图示单缸四冲程发动机中常见的曲柄滑块机构进行运动学仿真。已知连杆长度:mr1 .02,mr4 .03,连杆的转速:22,33,设曲柄 r2以匀速旋转,sr /502。初始条件:032。仿真以2为输入,计算3和1r,仿真时间。、运动分析建立封闭矢量方程:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 17 页 - - - - - - - - - - r 2+r3=r 1 (9)将(9) 式分解到 x 与 y 轴坐标上,得到:r2 cos2+r3cos3=r1r2sin 2+r3sin 3=0(10) 可得:r1 =r2cos2+r3cos33=-arcsin(r2/r3) (11) 对(10) 式对时间求导得:-r2 2sin 2+ r33sin 3=v1r2 2cos2+ r3 3cos3=0 (12) 将上式用矩阵形式表示,令:A= r3sin3 1-r3cos 30精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 17 页 - - - - - - - - - - X= 3 v1B=-r2 2sin 2r22cos2则(12) 可表示为:AX=B 。(13)从而可解出 3 与 v1。三、MATLAB 程序编写源代码如下:function varargout = z1(varargin)% Z1 MATLAB code for % Z1, by itself, creates a new Z1 or raises the existing% singleton*.%精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 17 页 - - - - - - - - - - % H = Z1 returns the handle to a new Z1 or the handle to% the existing singleton*.% Z1(CALLBACK,hObject,eventData,handles,.) calls the local% function named CALLBACK in with the given input arguments.% Z1(Property,Value,.) creates a new Z1 or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before z1_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to z1_OpeningFcn via varargin.精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 17 页 - - - - - - - - - - % *See GUI Options on GUIDEs Tools menu. Choose GUI allows only one% instance to run (singleton).% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help z1% Last Modified by GUIDE 29-Dec-2016 22:57:13% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, z1_OpeningFcn, . gui_OutputFcn, z1_OutputFcn, .精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 17 页 - - - - - - - - - - gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT% - Executes just before z1 is made visible.function z1_OpeningFcn(hObject, eventdata, handles, varargin)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 17 页 - - - - - - - - - - % This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to z1 (see VARARGIN)% Choose default command line output for z1 = hObject;% Update handles structureguidata(hObject, handles);axesmap1=imread();imshow(map1)% UIWAIT makes z1 wait for user response (see UIRESUME)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 17 页 - - - - - - - - - - % uiwait;% - Outputs from this function are returned to the command line.function varargout = z1_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout1 = ;% - Executes on button press in pushbuttonRun.精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 17 页 - - - - - - - - - - function pushbuttonRun_Callback(hObject, eventdata, handles)% 主要计算程序r2=;%单位 mr3=;%单位 momiga2=str2double(get,String); %单位 rad/sx11=1:500 % 单位 msfor i=1:500 theta2(i)=i*omiga2/1000; theta3(i)=asin(-r2/r3*sin(theta2(i); B=-r2*omiga2*sin(theta2(i);r2*omiga2*cos(theta2(i); A=r3*sin(theta3(i) 1;-r3*cos(theta3(i) 0; X=inv(A)*B; omiga3(i)=X(1,1); v3(i)=X(2,1); end 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 17 页 - - - - - - - - - - axes % 制表 1plot(x11/1000,omiga3); xlabel(时间( t/s )) ylabel(连杆角速度 3(rad/s )) axes % 制表 2plot(x11/1000,v3); xlabel(时间( t/s )) ylabel(滑块速度 v1(m/s))% hObject handle to pushbuttonRun (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 17 页 - - - - - - - - - - % eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,String) returns contents of edit1 as text% str2double(get(hObject,String) returns contents of edit1 as a double% - Executes during object creation, after setting all properties.function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 17 页 - - - - - - - - - - % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);end% - Executes on button press in pushbuttonExit.function pushbuttonExit_Callback(hObject, eventdata, handles)ss=questdlg(确认退出 ,退出信息窗口! ,继续仿真!,退出仿真!,退出仿真! );switch ss case 退出仿真! delete;end精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 17 页 - - - - - - - - - - % hObject handle to pushbuttonExit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)四、使用指南和实例仿真进入 MATLAB 软件,打开并运行程序。初始界面:对 2 的值进行修改,修改为实例中的50*2*pi= ,点击开始仿真按精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 17 页 - - - - - - - - - - 钮,得到仿真结果:点击退出仿真按钮,进入退出界面:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 17 页 - - - - - - - - - - 点击继续仿真按钮,则回到程序界面;点击退出仿真按钮,则退出程序。五、结语由四,通过 MATLAB 仿真得到的结果与实际情况符合。通过该次作业,我了解并初步掌握了MATLAB 的语言编写和 guide 界面的使用,巩固并加深了对课上知识的理解,受益良多。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 17 页 - - - - - - - - - -