如图,怎么利用matlab画出这个分段微分方程的关于x和x点(x导)的坐标系图?
3条回答 默认 最新
- CSDN专家-Matlab_Fans 2022-04-04 20:26关注
这个问题的关键在于,如何处理碰撞时速度状态量的突变问题,两种解决思路:
- 一是使用ode45等系统自带的微分方程数值解法,需要设置事件event来处理碰撞问题;
- 二是自己编程用欧拉法等数值解法来求解这个微分方程,在程序中直接处理碰撞问题。
注意碰撞时应该是 dx = -0.99*dx ,即碰撞后速度方向会发生变化。
第2种方法的代码如下:
clear clc x0 = [0;0]; ts = 0.01; T = 0:ts:10; x = x0; for ii = 1:length(T) t = T(ii); dx(1,1) = x(2); w = 1; dx(2,1) = 0.1*sin(w*t) + 0.1*x(2) - 0.25*x(1)^3 + 0.5*x(1); x = x + dx*ts; % 欧拉法解微分方程 %% 碰撞处理 if x(1) <= -0.6 x(1) = -0.6; x(2) = -0.99*x(2); elseif x(1) >= 0.5 x(1) = 0.5; x(2) = -0.99*x(2); end X(:,ii) = x; end %% 相图 figure plot(X(1,:),X(2,:)) xlim([-0.8 0.8]) xlabel('x') ylabel('dx')
相图为:
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度