求个matlab或者python模型代码,有关最优速度曲线的

求个matlab或者python模型代码,有关最优速度曲线的,如果有参数问题可以与我联系
希望变量可以自己更改,谢谢
(1) 输入变量vh,vd,dint,代入(3-14)约束方程组中,求得μ,ρ。(该约束方程得到的是关于μ,ρ的数组,需要得到的是μ取最大值时对应μ,ρ的取值)
(2) 将求出的μ,ρ, vr , vd ,代入曲线(3-8)出图
dint=100;
vh=20;
vd=4.29;
vr=14.29求得μ=0.91,ρ=2.55

dint=100;
vh=10;
vd=-5;
vr=10求得μ=0.65,ρ=3.09

img

img

img

img

img

img

请说明一下你的初始思路, 具体阻碍你的地方, 这样网友可以更好地帮助你。

T型速度时间最优曲线MATLAB代码的源码
https://blog.csdn.net/qq_45811143/article/details/114741433?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165370166116782425115467%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165370166116782425115467&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~baidu_landing_v2~default-1-114741433-null-null.nonecase&utm_term=%E6%9C%80%E4%BC%98%E9%80%9F%E5%BA%A6%E6%9B%B2%E7%BA%BF&spm=1018.2226.3001.4450

用 Python 模拟交通流
https://download.csdn.net/download/bill20100829/85488591

function [time, q, qd, qdd] = TSpeedCruveMethod(q0,q1,v0,v1,vmax,amax)
%% input q0,q1,vo,v1,vmax,amax
%% output time,q,qd,qdd
 
v_temp = sqrt((2.0*amax*(q1-q0) + (v1^2 + v0^2)) / 2);
 
if(v_temp<vmax)
    vlim = v_temp;
else
    vlim = vmax;
end
 
Ta = (vlim-v0)/amax;
Sa = v0*Ta+amax*Ta^2/2;
 
Tv = (q1-q0-(vlim^2-v0^2)/(2*amax)-(v1^2-vlim^2)/(2*-amax))/vlim;
Sv = vlim*Tv;
 
Td = (vlim-v1)/amax;
Sd = vlim*Td - amax*Td^2/2;
 
T = Ta + Tv +Td;
td = 0.001;
k = 1;
for t = 0:td:T
    time(k) = td *k;
    if(t >= 0 && t < Ta)
        q(k) = q0 + v0*t + amax*t^2/2;
        qd(k) = v0 + amax*t;
        qdd(k) = amax;
    elseif(t >= Ta && t < Ta+Tv)
        q(k) = q0 + Sa + vlim*(t - Ta);
        qd(k) = vlim;
        qdd(k) = 0;
    elseif(t >= Ta+Tv && t <= T)
        q(k) = q0 + Sa + Sv + vlim*(t - Ta - Tv) - amax*power(t - Ta - Tv, 2)/2;
        qd(k) = vlim - amax*(t - Ta - Tv);
        qdd(k) = -amax;
    end
    k = k + 1;
end
end

验证程序如下:


clear;clc
%% input para
q0 = 0; q1 = 1000;
v0 = 0; v1 =0;
vmax = 50; amax = 10;
 
[time, q, qd, qdd] = TSpeedCruveMethod(q0,q1,v0,v1,vmax,amax);
 
figure(1)
subplot(311)
plot(time,q,'r','LineWidth',1.5);
grid on;xlabel('time[s]');ylabel('position[mm]');
subplot(312)
plot(time,qd,'b','LineWidth',1.5);
grid on;xlabel('time[s]');ylabel('speed[mm/s]');
subplot(313)
plot(time,qdd,'g','LineWidth',1.5);
grid on;xlabel('time[s]');ylabel('acceleration[mm/s2]');

python 不行吗