MATLAB车辆动力学建模 ——《控制系统现代开发技术》

引言

在上这门课之前,我已经用过CasADi 去做过最优化的相关实践,其中每一步迭代主要就是由:对象系统+优化求解两部分组成的。这里我们重点介绍 “对象系统”如何去描述 ,因为它是每一步迭代中重要的一环——“优化求解”会获得控制输入u,u需要作用于模型,获得状态,以去计算目标函数“代价”。在上该课之前,我并没有系统的认识,因此,这门课让我对自己之前的实践有了全新的认识。

致谢

感谢BIT的智能车辆研究所的于会龙老师,其事无巨细的教导,手把手教学让身为研究牲的我感慨万分。

前言

虽然标题是车辆动力学, 但例子是车子的垂向减震系统哈。抱歉
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码流程

这个流程很重要,大家仔细体会。6)-10)步就不放图了,大家直接在后面的代码里寻找对应的部分。
在这里插入图片描述

数值积分函数

这里提供了三个选择,matlab中给了4阶龙格库塔和欧拉,大家自行选择
在这里插入图片描述

MATLAB代码

clc
clear
clear all
%----------------------------------
global Mb Mw ks bs kt bt
Mb = 290;
Mw = 32;
ks = 20000;
bs = 500;
kt = 1400000;
bt = 100;
%----------------------------------
tf = 1;
dt = 0.001;%seconds
%----------------------------------
Xin = [0; 0; 0];
t = 0;
%----------------------------------
tlog = zeros(tf/dt,1);
xlog = zeros(tf/dt,3);

for i = 1: tf/dt
    u         = -0.1 + 0.2*rand;  %控制子程序  
    Xout      = Euler(@vdn1,Xin,u,t,dt); %积分函数 
    tlog(i)   = t;     %数据存储
    t         = i*dt;  %时间更新
    Xin       = Xout;  %状态更新
    xlog(i,:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值