研究以下代码“clc;close all;clear;
%% 性能极限参数
sigma = 0.2;
J = [];
h1 = 0.2;
p1_a = [];
s1_a = [];
tau = 0.1;
gamma = 0.8;
zeta = 0.1;
Theta = 0.9;
Ts = 0.1;
%% 汽车二自由度模型参数
M = 1400; %整车质量kg
k_1 = -80000; %前轮侧偏刚度N/rad
k_2 = -18500; %后轮侧偏刚度N/rad
a = 2; %质心到前轴距离m
b = 1; %质心到后轴距离m
L = a + b;
Iz = 2100; %绕z轴的转动惯量kg*m^2
u = 15; %质心沿 x 轴速度分量m/s
i = 1;
j = 1;
c_m_a = [0.3:0.02:0.7];
u_a = [13:0.5:20];
k_1_a = [-25000:-100:-75000];
a_a = [0.5:0.1:2];
tau_a = [0.2,0.4,0.6];
x_a = a_a;
for tau = tau_a
for a = a_a
L = a+b;
a11 = (k_1 + k_2)/(M*u);
a12 = ((a*k_1 - b*k_2)/(M*u)) - u;
a21 = (a*k_1 - b*k_2)/(Iz*u);
a22 = (a^2*k_1 + b^2*k_2)/(Iz*u);
b1 = -k_1/M;
b2 = -a*k_1/Iz;
s1 = -((a12*b2 - a22*b1)*Ts-b1)/b1;
%s1 = 1;
p1 = (2+(a11 + a22)*Ts - sqrt( (2+(a11 + a22)*Ts)^2 - 4*(1+ (a11+a22)*Ts + (a11*a22-a12*a21)*Ts^2) ))/2;
%p1 = 2
p2 = (2+(a11 + a22)*Ts + sqrt( (2+(a11 + a22)*Ts)^2 - 4*(1+ (a11+a22)*Ts + (a11*a22-a12*a21)*Ts^2) ))/2;
Jg_11 = (s1^2-1)^2/((1-s1)^2*(s1^2-gamma^2));
Jg_12 = (((p2^2-1)^2)/((1-p2)^2*(gamma^2*p2^2-1))) * (p2^(tau) - (1/((1-zeta)*(1+Theta)))*gamma^(2*tau)*p2^(tau)*((1-s1*p2)/(p2-s1)) )^2;
Jg_2 = (1/((1-zeta)*(1+Theta))^2) *gamma^2*((1-s1^2)^2/(gamma^2*s1^2-1))*(b1*sigma*s1^(tau)*((s1^2-1)/((s1-p1)*(s1-p2))) )^2;
J(i,j) = Jg_11+Jg_2;
p2_a(i,j) = p2;
p1_a(i,j) = p1;
s1_a(i,j) = s1;
i = i+1;
end
j = j+1;
i = 1;
end
%plot(x_a,J(:,1),'r:',x_a,J(:,2),'b--',x_a,J(:,3),'g:.')
h1 = plot(x_a,J(:,1),'Color',[1,0,0],'LineStyle','--','Marker','*')
hold on
h2 = plot(x_a,J(:,2),'Color',[0,0,1],'LineStyle','--','Marker','^')
hold on
h3 = plot(x_a,J(:,3),'Color',[0.1,0.2,0.5],'LineStyle','--','Marker','h')
legend([h1,h2,h3],'\tau = 0.2','\tau = 0.4','\tau = 0.6')
% figure
% plot(x_a,p1_a(:,1),'r-^',x_a,s1_a(:,1),'g-o',x_a,p1_a(:,2),'r-^',x_a,s1_a(:,2),'g-o',x_a,p1_a(:,3),'r-^',x_a,s1_a(:,3),'g-o')
% yline(0,'-.b');
J_1 = J(:,1);
[~, J_mpos] = min(J_1);
text(x_a(J_mpos),J_1(J_mpos),'x','color','k')
text(x_a(J_mpos), J_1(J_mpos)-40, ['(',num2str(x_a(J_mpos)),', ',num2str(J_1(J_mpos)),')'],'Color',[0,0,0]);
J_2 = J(:,2);
[~, J_mpos] = min(J_2);
text(x_a(J_mpos),J_2(J_mpos),'x','color','k')
text(x_a(J_mpos), J_2(J_mpos)-40, ['(',num2str(x_a(J_mpos)),', ',num2str(J_2(J_mpos)),')'],'Color',[0,0,0]);
J_3 = J(:,3);
[~, J_mpos] = min(J_3);
text(x_a(J_mpos),J_3(J_mpos),'x','color','k')
text(x_a(J_mpos), J_3(J_mpos)-40, ['( ',num2str(x_a(J_mpos)),', ',num2str(J_3(J_mpos)),')'],'Color',[0,0,0]);
xlabel('前轴到质心的距离{\fontname{Times New Roman}\itl_f}');
ylabel('修正性能极限[J_{\gamma}^{*}]')
figure
plot(x_a,p2_a,'r-^',x_a,p1_a,'b-^',x_a,s1_a,'g-o')
yline(0,'-.b');
yline(1,'-.b');
yline(-1,'-.b');”当其中的以下参数变化时“p1 = (8-(a11*a22-a12*a21)*2*Ts^2 - sqrt( (8-(a11*a22-a12*a21)*2*Ts^2)^2 - 4*((4-2*Ts*(a11 + a22)+(a11*a22-a12*a21)*Ts^2)*(4+2*Ts*(a11 + a22)+(a11*a22-a12*a21)*Ts^2)) ))/2*(4-2*Ts*(a11 + a22)+(a11*a22-a12*a21)*Ts^2);
p2 = (8-(a11*a22-a12*a21)*2*Ts^2 + sqrt( (8-(a11*a22-a12*a21)*2*Ts^2)^2 - 4*((4-2*Ts*(a11 + a22)+(a11*a22-a12*a21)*Ts^2)*(4+2*Ts*(a11 + a22)+(a11*a22-a12*a21)*Ts^2)) ))/2*(4-2*Ts*(a11 + a22)+(a11*a22-a12*a21)*Ts^2);
s1 = ((2*Ts^2*(a11*b2-a21*b1)) + sqrt(4+4*(2*b2*Ts+(a21*b1-a11*b2)*Ts^2)*((a21*b1-a11*b2)*Ts^2-2*b2*Ts)) )/(2*(2*b2*Ts+(a21*b1-a11*b2)*Ts^2));
”现需要将变化后的代码也能实现在参数tau变化时得到仿真图的最小值