当前位置: 首页 > news >正文

【悬架笔记三】1/4被动悬架垂向动力学仿真+频域特性分析

1/4被动悬架
在这里插入图片描述代码:

%书第156页、159页
clc
clear
close all
%% 一.悬架参数
ms=320;
mw=50;
Ks=22000;
Cs=1500;
Kw=195000; 
f0=0.07;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 二.垂向振动动力学仿真
%% 二.1.状态方程
A= [0 1 0 -1;...-Ks/ms -Cs/ms 0 Cs/ms;...0 0 0 -1;Ks/mw Cs/mw Kw/mw -Cs/mw]; 
B= [0 0 1 0]';
C=[-Ks/ms -Cs/ms 0 Cs/ms;...1 0 0 0;...0 0 Kw 0]; 
%% 二.2.道路参数
dt=0.01;%仿真间隔时间
t_end=10;%仿真总时长
t=0:dt:t_end;
u=60;%车速,km/h
u=u/3.6;%车速转化为m/s
Sq=16*10^-6;%路面不平度系数
white_noise=1-2*1* rand(1,length(t)-1); 
for i=1:length(t)-1q(1)=0; q(i+1)=dt*(-2*pi* f0* q(i)+2*pi*(sqrt(Sq*u))*white_noise(i))+q(i); dq=diff(q)/dt;
end
%% 二.3.仿真
for i=1:length(t)-1x(:,1)=[0;0;0;0];[G,H]=c2d(A,B,dt);x(:,i+1)=G*x(:,i)+H*dq(i);y(:,i)=C*x(:,i);
end
%% 二.4.绘图
t1=dt:dt:t_end;figure(1)
plot(t,q)
xlabel('时间/s')
ylabel('路面位移/m')figure(2)
plot(t1,y(1,:))
xlabel('时间/s')
ylabel('车身垂直加速度/(m/s^2)')figure(3)
plot(t1,y(2,:))
xlabel('时间/s')
ylabel('悬架动挠度/m')figure(4)
plot(t1,y(3,:))
xlabel('时间/s')
ylabel('轮胎动载苟/N')%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 三.频域特性曲线
%% 三.1.传递函数参数设置
b3=Ks * Cs;
b2=Kw * Ks;
b1=0;
b0=0;
a4=ms*mw; 
a3=(ms+mw)*Cs; 
a2=ms*Ks+ms*Kw+mw*Ks;
a1=Cs*Kw;
a0=Kw*Ks;
w=[0,logspace(-2,2,200)];
H1=tf([b3,b2,b1,b0], [a4,a3,a2,a1,a0]);
%% 三.2.频域特性绘图
figure(101)
bode(H1,w)
title('车身加速度波德图')figure(102)
c2=-mw * Kw;
c1=0;
c0=0;
H2=tf([c2,c1,c0], [a4,a3,a2,a1,a0]);
bode(H2,w)
title('悬架动挠度波德图')figure(103)
d4=ms * mw * Kw;
d3=(ms+mw) * Cs * Kw;
d2=(ms+mw) * Ks * Kw;
d1=0;
d0=0;
H3=tf([d4, d3, d2, d1,d0], [a4, a3,a2,a1, a0]); 
bode(H3,w)
title('轮胎动载荷波德图')

运行结果:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

【悬架笔记三】1/4被动悬架垂向动力学仿真+频域特性分析

1/4被动悬架 代码: %书第156页、159页 clc clear close all %% 一.悬架参数 ms320; mw50; Ks22000; Cs1500; Kw195000; f00.07; %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% 二.垂向振动动力学仿真 %% 二.1.状态方程 A [0 1 0 -1;.…...

【C++】——继承(详解)

一 继承的定义和概念 1.1 继承的定义 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保 持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类,被继承的称为基类…...

openGauss学习笔记-299 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-SQLdiag慢SQL发现

文章目录 openGauss学习笔记-299 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-SQLdiag慢SQL发现299.1 概述299.2 使用指导299.2.1 前提条件299.2.2 SQL流水采集方法299.2.3 操作步骤299.2.4 使用方法示例299.3 获取帮助299.4 命令参考299.5 常见问题处理openGauss学…...

Git 分支管理规范化[Git Flow ]分支管理策略

分支命名规范 master 分支&#xff1a;master 分支只有一个&#xff0c;名称即为 master。GitHub 现在叫 main develop 分支&#xff1a;develop 分支只有一个&#xff0c;名称即为 developfeature 分支&#xff1a;feature/<功能名>&#xff0c;例如&#xff1a;featu…...

一键Mock工具(Http协议接口调试工具)

点击下载《一键Mock工具&#xff08;Http协议接口调试工具》 1. 前言 在进行Web开发时&#xff0c;前端小伙伴通常是和后端开发人员同步进行项目开发&#xff0c;经常会遇到后端开发人员接口还没开发完&#xff0c;也没有可以调试的环境&#xff0c;只能按照接口文档进行“脑…...

Golang的context

目录 context的基本使用 为什么需要context Context interface 标准 error emptyCtx cancelCtx Deadline 方法 Done 方法 Err 方法 Value 方法 context.WithCancel() newCancelCtx WithCancel中propagateCancel cancel timerCtx valueCtx context的基本使用…...

Android 各个版本名称和特性总结(持续更新)

我们就从Android 5.0开始吧&#xff0c;因为从写文时起&#xff0c;大部分手机都到5.0了。 目录 Android5.0 &#xff08;Lollipop 棒棒糖&#xff09;新特性 Android6.0新特性 Android7.0新特性 Android8.0(O)新特性 Android9.0新特性 Android10.0(Q)新特性 Android11…...

9.0 Android中的网络技术

Android中网络相关的技术&#xff0c;主要分别两种&#xff0c;一种为直接显示网页&#xff0c;另外一种为获取服务器中的数据进行设置。 权限声明 访问网络是需要声明权限 <manifest xmlns:android"http://schemas.android.com/apk/res/android"package"…...

linux查看端口是否被占用 / 包含某个字符的文件/当前正在运行的进程/根据端口号查找进程

查看端口是否被占用 netstat -tuln | grep 80查看包含某个字符的文件 grep -rl "aaa" .r &#xff1a;递归搜索子目录。l &#xff1a;只显示包含匹配字符串的文件名。 ack "your_string"查看当前正在运行的进程 ps aux或者使用 top 命令用于实时显示当…...

解锁 JavaScript ES6:函数与对象的高级扩展功能

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; ES5、ES6介绍 文章目录 &#x1f4af;ES6函数扩展&#x1f353;1 默认参数&#x1f35…...

算法金 | 10 大必知的自动化机器学习库(Python)

本文来源公众号“算法金”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;10 大必知的自动化机器学习库&#xff08;Python&#xff09; 一、入门级自动化机器学习库 1.1 Auto-Sklearn 简介&#xff1a; Auto-Sklearn 是一个自动…...

微信小游戏开发难度大吗?开发流程有哪些?

微信小游戏的开发难度因项目的复杂度和规模而定&#xff0c;一般来说&#xff0c;休闲益智类的小游戏的开发周期相对较短&#xff0c;大约在10个工作日到1个月。如果涉及到复杂的算法、高级的交互或特殊的效果&#xff0c;开发时间可能会相应延长。 微信小游戏的开发流程包括需…...

Qt程序打包成单个exe文件

文章目录 0. 准备工作1. 使用 windeployqt 提取必要的动态链接库和资源文件1.1 操作步骤1.2 补充 2. 使用 Enigma Virtual Box将文件夹打包成单个exe2.1 操作步骤 0. 准备工作 Qt程序打包用到的工具有&#xff1a; windeployqt &#xff1a;安装Qt时自带Enigma Virtual Box 下…...

【机器学习】GANs网络在图像和视频技术中的应用前景

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 目录 1. &#x1f525;引言 背景介绍 研究意义 2. &#x1f388;GANs的基本概念和工作原理 生成对抗网络简介 工作原理 3. &#x1f916;GANs在图像生成中的应用 图像超分辨率 工作原理 图像去噪 工作原理 图…...

MFC 使用sapi文字转换为语音

文章目录 添加头文件声明变量 添加头文件 声明变量 pSpVoice NULL; //默认构造函数中初始化为空 bool CChKBarSCCodeApp::InitSpVoice() {HRESULT hr ::CoInitialize(NULL); // COM初始化if (!SUCCEEDED(hr)){AfxMessageBox(_T("声音环境初始化失败&#xff01;…...

(Git)多人协作1

文章目录 前言总结 前言 目标&#xff1a;master分支下file.txt文件新增“aaa”,“bbb” 实现&#xff1a;开发者1新增“aaa”,开发者2新增“bbb” 条件&#xff1a;在同一个分支下协作完成 实际开发过程中&#xff0c;每个用户都与属于自己的码云账户&#xff0c;如果想要进…...

MySQL-分组函数

041-分组函数 重点&#xff1a;所有的分组函数都是自动忽略NULL的 分组函数的执行原则&#xff1a;先分组&#xff0c;然后对每一组数据执行分组函数。如果没有分组语句group by的话&#xff0c;整张表的数据自成一组。 分组函数包括五个&#xff1a; max&#xff1a;最大值mi…...

【C语言】联合(共用体)

目录 一、什么是联合体 二、联合类型的声明 三、联合变量的创建 四、联合的特点 五、联合体大小的计算 六、联合的应用&#xff08;判断大小端&#xff09; 七、联合体的优缺点 7.1 优点 7.2 缺点 一、什么是联合体 联合也是一种特殊的自定义类型。由多个不同类型的数…...

【博客715】如何从victorimametrics集群中下线vmstorage节点

How to Decommission a vmstorage Node from a VictoriaMetrics Cluster 我们需要从VictoriaMetrics 集群中优雅地移除一个 vmstorage 节点。每个 vmstorage 节点都包含自己的数据部分&#xff0c;从集群中移除 vmstorage 节点会导致图表出现空白&#xff08;因为复制超出了范…...

Redis缓存技术详解与实战

Redis缓存技术详解与实战 Redis作为一个开源的内存数据结构存储系统&#xff0c;它可以用作数据库、缓存和消息代理。在现代高并发、大数据量处理的系统中&#xff0c;Redis作为缓存层的应用越来越广泛。本文将详细讲解Redis在查询、添加缓存、更新缓存、缓存预热、缓存穿透、…...

Maya-glTF插件深度解析:现代3D工作流中的glTF 2.0导出技术内幕

Maya-glTF插件深度解析&#xff1a;现代3D工作流中的glTF 2.0导出技术内幕 【免费下载链接】maya-glTF glTF 2.0 exporter for Autodesk Maya 项目地址: https://gitcode.com/gh_mirrors/ma/maya-glTF 在当今3D内容创作领域&#xff0c;Maya作为行业标准工具&#xff0c…...

从数据中心视角聊token

“我爱你”被AI拆解成了3个tokens&#xff0c;“I love U”也同样被AI拆解成了3个tokens&#xff0c;AI将人类的语言拆解到可被数据分析的最小单位&#xff0c;叫做token&#xff0c;中文是词元&#xff0c;AI通过数据模型的分析&#xff0c;又将无数的token组成了答复反馈给用…...

Selenium自动化ChatGPT:绕过API限制,实现Web端高效批量交互

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“Michelangelo27/chatgpt_selenium_automation”。光看名字&#xff0c;你大概能猜到它想做什么&#xff1a;用Selenium自动化操作ChatGPT。这听起来是不是有点“用大炮打蚊子”的感觉&#xff1f;毕…...

三维扫描平民化实战:从手机APP到高精度重建全流程指南

1. 项目概述&#xff1a;当三维扫描走下神坛几年前&#xff0c;如果你想获取一个真实物体的三维数字模型&#xff0c;那通常意味着你需要联系一家专业的三维扫描服务公司&#xff0c;支付一笔不菲的费用&#xff0c;然后等待专业人士用一台价格堪比一辆豪华轿车的设备&#xff…...

告别PLC!用Python+ModbusTCP玩转FactoryIO仿真(附完整代码与可视化界面)

PythonModbusTCP工业仿真实战&#xff1a;从零构建FactoryIO智能分拣系统 工业自动化领域正在经历一场静默革命——传统PLC的垄断地位首次被通用编程语言打破。去年某国际自动化展会上&#xff0c;一位工程师仅用200行Python代码就复现了某品牌PLC的复杂流水线控制逻辑&#xf…...

利用taotoken模型广场为ai应用快速进行模型选型与测试

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 利用Taotoken模型广场为AI应用快速进行模型选型与测试 在构建一个需要集成多种AI能力的应用时&#xff0c;开发者面临的首要挑战往…...

从找石油到防灾害:地震勘探技术如何跨界守护城市安全?

地震勘探技术的跨界革命&#xff1a;从油气勘探到城市安全守护者 上世纪20年代&#xff0c;当第一批地球物理学家尝试用炸药激发地震波来寻找石油时&#xff0c;他们或许不会想到&#xff0c;这项技术会在百年后成为保护现代城市安全的"透视眼"。传统的地震勘探技术…...

OpenClaw 消息路由与广播机制深度解析

OpenClaw 消息路由与广播机制深度解析 作者: Social Agent (小社) 日期: 2026-03-18 研究模块: channels/channel-routing + broadcast-groups + group-messages 一、消息路由的核心设计 1.1 确定性路由,而非 AI 决策 OpenClaw 消息路由最重要的设计决策是:路由是确定性的…...

Perplexity学术模式到底有多“实时”?我们用NIST标准测试集连续监控72小时,结果让3所常春藤图书馆紧急更新采购清单…

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity学术模式到底有多“实时”&#xff1f;我们用NIST标准测试集连续监控72小时&#xff0c;结果让3所常春藤图书馆紧急更新采购清单… 实时性验证方法论 我们采用 NIST TREC 2023 Dynamic Filt…...

超长上下文处理能力翻倍,响应速度提升47%,API成本下降22%:Claude 3.5 Sonnet新功能落地实战手册,仅限本周内有效

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Claude 3.5 Sonnet新功能概览与核心突破 Anthropic 正式发布的 Claude 3.5 Sonnet 在推理效率、多模态理解边界与开发者集成体验上实现了显著跃迁。相比前代&#xff0c;其上下文窗口稳定支持 200K tok…...