【数学建模】曲柄滑块机构运动仿真【含Matlab源码 3996期】

本文介绍了如何通过两种方式获取基于Matlab的曲柄滑块机构运动仿真的源代码,包括付费下载完整代码和订阅付费专栏获取资源。同时提供了部分源代码,展示了如何使用Matlab计算机构的运动参数,如连杆角位移、角速度、滑块位移等。
摘要由CSDN通过智能技术生成

在这里插入图片描述

⛄一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【数学建模】基于matlab曲柄滑块机构运动仿真【含Matlab源码 3996期】
点击上面蓝色字体,直接付费下载,即可。

获取代码方式2:
付费专栏数学建模(初级版)

备注:
点击上面蓝色字体付费专栏Matlab数学建模(初级版),扫描上面二维码,付费79.9元订阅海神之光博客付费专栏Matlab数学建模(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码

⛄二、部分源代码

%% 曲柄滑块机构运动仿真(此脚本无连杆、滑块参数的曲线动画)
% 已知:曲柄长L1,曲柄角速度omiga_1,曲柄逆时针旋转
% 连杆长L2
% 滑块相对x轴偏置E和相对x轴偏置方向N,取值 1 或-1分别表示滑块在 x 轴的上方或者下方
% 求解:连杆上与曲柄铰接点的角位移theta_2,连杆角速度omiga_2
% 滑块位移xSlide,滑块速度velocitySlide,滑块加速度accelerationSlide
%

% 封闭矢量方程求解运动方程
clear all; close all; clc;
image1 = imread(‘曲柄滑块机构.png’);
imshow(image1)
%% 运动机构参数设置
disp(‘可根据实际设置曲柄连杆机构的已知参数值。’)
L1 = 60; % 曲柄长度 mm
L2 = 120; % 连杆长度 mm
omiga_1 = 10; % 曲柄角速度 rad/s
E = 10; % 滑块偏移距离 mm
N = [1, -1]; % N 取值 1 或-1,用以表示滑块在 x 轴的上方或者下方

deltaT = 0.005; % 时间间隔 s
t = 0:deltaT:(2*pi/omiga_1); % 曲柄以deltaT为采样时间,旋转一圈对应采样时间点向量 s
n = length(t); % 一个周期的数据个数
theta_1 = zeros(1, n); % 曲柄转角 rad
theta_2 = zeros(1, n); % 连杆上与曲柄铰接点处的角位移 rad
omiga_2 = zeros(1, n); % 连杆上与曲柄铰接点处的角速度 rad/s
xSlide = zeros(1, n); % 滑块位移 mm
velocitySlide = zeros(1, n); % 滑块速度 mm/s
accelerationSlide = zeros(1, n); % 滑块加速度 mm/s^2

%% for循环计算一个周期内连杆角位移、角速度,滑块位移和滑块速度
% 利用运动机构的矢量方程,计算各时刻以上待求参数值并存入向量中
% 设置滑块位置N,在x轴上方或下方,1为上,-1为下
location = input('请输入滑块导轨相对x轴的位置,1为上,-1为下: ');
for iterTime = 1:n
theta_1(iterTime) = omiga_1t(iterTime); % 计算曲柄转角
if location == 1
% 计算连杆角位移: L1
sin(theta_1) + L2sin(theta_2) = N(1)e,
theta_2(iterTime) = asin((N(1)E-L1sin(theta_1(iterTime)))/L2);
else
theta_2(iterTime) = asin((N(2)E-L1sin(theta_1(iterTime)))/L2);
end
% 计算滑块位移:xSlide = L1
cos(theta_1)+ L2
cos(theta_2)
xSlide(iterTime) = L1cos(theta_1(iterTime))+ L2cos(theta_2(iterTime));
% 求矩阵方程的解,得到连杆角速度omiga_2和滑块速度velocitySlide
A=[L2sin(theta_2(iterTime)) 1;-L2cos(theta_2(iterTime)) 0];
B=[-L1omiga_1sin(theta_1(iterTime));L1omiga_1cos(theta_1(iterTime))];
% 计算AX=B的解,选择左除运算计算X=A\B,因为X=inv(A)*B可能速度更慢且准确度更低
X=A\B;
% X = [omiga_2;velocitySlide]
omiga_2(iterTime)=X(1);
velocitySlide(iterTime)=X(2);
end

⛄三、运行结果

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

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]李昕.MATLAB数学建模[M].清华大学出版社.2017
[2]王健,赵国生.MATLAB数学建模与仿真[M].清华大学出版社.2016
[3]余胜威.MATLAB数学建模经典案例实战[M].清华大学出版社.2015

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab领域

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值