news 2026/8/24 15:18:18

基于simulink的双摆运动系统建模与仿真.使用simulink建立一个双摆的运动模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于simulink的双摆运动系统建模与仿真.使用simulink建立一个双摆的运动模型

基于simulink的双摆运动系统建模与仿真.使用simulink建立一个双摆的运动模型,然后通过matlab调用该模型,并显示运动效果和运动轨迹。 使用版本matlab2022a

打开Simulink新建空白模型,先别急着拉模块——双摆这玩意儿动力学方程写起来能要人命。咱先把问题简化:假设两个摆杆质量均匀,关节无摩擦,直接上牛顿力学推导(具体方程网上能搜到,这里直接给结论)。模型核心是四个微分方程,对应两个摆杆的角度和角速度。

从Library Browser拖出四个Integrator模块,分别代表θ₁、ω₁、θ₂、ω₂。这时候别傻乎乎手动连线,直接上Function模块暴力破解动力学方程。双击Function模块输入:

function [dtheta1, domega1, dtheta2, domega2] = double_pendulum(theta1, omega1, theta2, omega2) m1 = 1; m2 = 1; L1 = 1; L2 = 1; g = 9.8; % 魔鬼就在分母里 denominator = (m1 + m2)*L1 - m2*L1*cos(theta1 - theta2)^2; dtheta1 = omega1; domega1 = (m2*L2*omega2^2*sin(theta1 - theta2)... - (m1 + m2)*g*sin(theta1))... / (L1*denominator); dtheta2 = omega2; domega2 = ((m1 + m2)*(L1*omega1^2*sin(theta1 - theta2)... - g*sin(theta2))... + m2*L2*omega2^2*sin(theta1 - theta2)*cos(theta1 - theta2))... / (L2*denominator); end

这坨代码看着头疼?其实就四个微分方程在互相伤害。注意分母里那个cos平方项,仿真发散多半是它归零导致的——后面调参时给初始角度别设太大。

接上Scope模块看波形前,建议先插个XY Graph模块。设置两个摆杆末端坐标:

x1 = L1*sin(theta1); y1 = -L1*cos(theta1); x2 = x1 + L2*sin(theta2); y2 = y1 - L2*cos(theta2);

这时候点运行大概率会报错——别慌,把求解器换成ode45,最大步长改到0.01。初始角度设个温和值比如θ₁=π/3,θ₂=π/4,速度都设零。跑起来看到波形开始鬼畜?把最大步长再砍半试试。

模型存为double_pendulum.slx,切到MATLAB命令行:

simOut = sim('double_pendulum', 'StopTime', '10'); x2 = simOut.logsout.getElement('x2').Values.Data; y2 = simOut.logsout.getElement('y2').Values.Data; % 画个骚气的轨迹动画 figure; hold on; plot(x2, y2, 'Color', [0.5 0.5 0.5 0.3]); h = plot(nan, nan, 'ro-'); axis equal; for k = 1:10:length(x2) set(h, 'XData', [0, x1(k), x2(k)], 'YData', [0, y1(k), y2(k)]); drawnow pause(0.01); end

跑完这段能看到摆锤划出的混沌轨迹——像不像量子物理学家喝醉后的涂鸦?试着把m2调成3公斤,轨迹立马变得像被猫挠过的毛线团。这种非线性系统对初始条件敏感得要命,把θ₁初始值从π/3改成π/3+0.001,运行十秒后轨迹完全亲妈不认。

遇到仿真卡住别急着砸键盘,检查下有没有出现除以零的情况。实在不行在分母里加个eps保命:

denominator = (m1 + m2)*L1 - m2*L1*cos(theta1 - theta2)^2 + eps;

最后留个坑:把下方摆杆换成弹簧连接,Simulink模型会复杂到让你想转行卖煎饼——不过那又是另一个故事了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 13:58:29

文献阅读自动化1-批量检索、更新文献

文章目录先放结论背景Pubmed数据库的访问一,Bio.Entrez1,借助LibInspectorecitmatchefetchegquery(已弃用)einfoelinkepostesearchespellesummaryparsereadparse和read的比较2,回到BioPython文档1,EUtils X…

作者头像 李华
网站建设 2026/8/23 19:22:09

CNC功率计算完全指南:从理论到实践的智能化解決方案

CNC功率计算完全指南:从理论到实践的智能化解決方案 前言 在CNC加工领域,功率计算是确保加工效率和设备安全的核心环节。无论是车削还是铣削,准确的功率预测都能帮助工程师优化加工参数,避免设备过载,提高生产效率。今…

作者头像 李华
网站建设 2026/8/24 14:04:22

开题即立项:当9款AI工具组成“科研项目启动委员会”,Paperzz为何成为那个统筹全局的“首席架构师”?——一场毕业季真实协作实验的深度复盘

【实验手记 Day −3】 导师会议室,白板上写着三个红字:“太宽泛”。 我的初稿《数字金融对农村消费的影响研究》被退回—— “问题不聚焦、方法无创新、路径不可行。” 我没有重写,而是拉了一个“线上项目启动会”: &#x1f538…

作者头像 李华
网站建设 2026/8/24 10:55:57

串口助手唐老鸭版:5分钟快速上手指南 [特殊字符]

串口助手唐老鸭版:5分钟快速上手指南 🚀 【免费下载链接】串口助手唐老鸭版使用说明 串口助手(唐老鸭版)是一款功能强大且易于使用的串口调试工具,专为开发者设计。其界面友好,操作简单,能够满足各种串口调试需求。无论…

作者头像 李华
网站建设 2026/8/24 7:40:55

东华测试软件:终极使用指南与高效操作技巧

东华测试软件:终极使用指南与高效操作技巧 【免费下载链接】东华测试软件说明书Word版分享 本仓库提供了一份详细的东华测试软件说明书,以Word文档的形式供用户下载。该说明书旨在帮助用户更好地理解和使用东华测试软件,确保用户能够充分利用…

作者头像 李华
网站建设 2026/8/24 8:54:24

java计算机毕业设计商品管理系统 基于B/S的中小商户进销存一体化平台 SpringBoot轻量级线上商品订单与服务系统

计算机毕业设计商品管理系统a73d89(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。商品数量激增、SKU繁杂,手工Excel微信群的方式让卖家头痛:库存常超卖、…

作者头像 李华