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

2024-06-08 01:44

本文主要是介绍【悬架笔记三】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被动悬架垂向动力学仿真+频域特性分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1040896

相关文章

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C