[ a1, a2, a3, a4, a5, a6, a7, b1, b2, b3, b4, b5, b6, b7 ]=make_koefs(12); mu=0.566; i=1.087; nu=0.527; t_reg_min = 2; t_reg_max = 5; H = [0,0,0,5,5,10,10,10,15,15,15,20]; MU_R = [0.335, 0.033, 0, 0.737, 0.077, 0.354, 0.306, 0.319, 0.898, 0.735, 0.598, 1.995]; MU_K = [0.098, 0.033, 0, 0.241, 0.033, 0.144, 0.058, 0.048, 0.348, 0.243, 0.209, 0.566]; MU_A = [0.341, 0.341, 0.341, 0.341, 0.341, 0.341, 0.341, 0.341, 0.341, 0.341, 0.341, 0.566]; I_R = [1.534, 0.527, 0.806, 2.761, 1.179, 1.406, 1.588, 1.698, 3.047, 2.744, 2.250, 6.429]; I_K = [0.676, 0.527, 0.670, 0.838, 0.777, 0.660, 0.683, 0.698, 0.870, 0.826, 0.769, 1.087]; I_A = [0.838, 0.838, 0.838, 0.838, 0.838, 0.838, 0.838, 0.838, 0.838, 0.838, 0.838, 1.087]; NU_R = I_R; NU_K = [0.527, 0.527, 0.527, 0.527, 0.527, 0.527, 0.527, 0.527, 0.527, 0.527, 0.527, 0.527]; NU_A = NU_K; for k = 1:1:12 [ a1, a2, a3, a4, a5, a6, a7, b1, b2, b3, b4, b5, b6, b7 ]=make_koefs(k); %MU_K(k)=(18-b1*t_reg_max)/(b3*t_reg_max); sigma = 57.3*b4*(4-(a1*a4+a2))/(4*a7+a3*a4-a2*a7); a2_2 = a2+ (sigma*a3*a4)/(57.3*b4-sigma*a7); a4_2 = a4*57.3*b4/(57.3*b4-sigma*a7); mun = 2*0.4*(sqrt(a1*a4+a2)-a1-a4)/a3; fprintf('%d\n', k); fprintf('x=%0.1f\n',a1+a4_2); fprintf('y=%0.1f\n',a1*a4_2+a2_2); fprintf('y=%0.1f\n',a1*a4_2+a2_2); fprintf('mun=%0.2f\n',mun); fprintf('\n'); end %p=plot(H,MU_R,'Color','blue'); %hold on %p=plot(H,MU_K,'Color','red'); %hold on %p=plot(H,MU_A,'Color','green'); %grid on; %p=plot(H,MU_R,'Color','blue'); %hold on %p=plot(H,MU_K,'Color','red'); %hold on %p2=plot(H,MU_A,'Color','black'); %grid on; %set(p2,'LineWidth',2); %set(p,'Color','red','LineWidth',2); hg %i=0; %for count = 1:1:12 %i=i+1; %rezh=i; %Выбор режима 1..10 %a1=A(rezh,1); a2=A(rezh,2); a3=A(rezh,3); a4=A(rezh,4); a5=A(rezh,5); %a6=A(rezh,6); a7=A(rezh,7); %b1=B(rezh,1); b2=B(rezh,2); b3=B(rezh,3); b4=B(rezh,4); b4=B(rezh,5); %b6=B(rezh,6); b7=B(rezh,7); %b4=0; %A3=b1*(a2+a1*a4)+b2*(b4+a1*b7-b6)-a6*(a4*b6+a2*b7); %Проверка критерия допустимости изолированного исследования %составляющей пси-бетта и движения гамма %rezultat_proverki=b1*(a1*a4+a2)/(A3-b2*b4); %end %[a,b]=make_koefs(1); %[ a1, a2, a3, a4, a5, a6, a7, b1, b2, b3, b4, b5, b6, b7 ]=make_koefs(1); X1=[0 0.2 0.4 0.6 0.8 1.0 1.01]; Y1=[0 1.5 4 7 9.3 10 50]; X2=[0 0.2 0.4 0.6 0.8 1.0 1.2]; Y2=[0 0.1 0.75 2 3.9 6 9]; X3=[0 0.2 0.4 0.6 0.8 1.0 1.2]; Y3=[0 0.05 0.2 0.5 1 1.5 2.2]; X=zeros(12,1); Y=zeros(12,1); for i = 1:1:12 [ a1, a2, a3, a4, a5, a6, a7, b1, b2, b3, b4, b5, b6, b7 ]=make_koefs(i); X(i)=a1+a4; Y(i)=a1*a4+a2; A3=b1*(a2+a1*a4)+b2*(b4+a1*b7-b6)-a6*(a4*b6+a2*b7); rezultat_proverki=b1*(a1*a4+a2)/(A3-b2*b4); end p=plot(X1,Y1, X2, Y2, X3,Y3,X,Y,'x','LineWidth',2,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',10); grid on; set(p,'Color','red','LineWidth',2); sdf=aa t_reg_min = 2; t_reg_max = 5; %for k = 1:1:12 %[ a1, a2, a3, a4, a5, a6, a7, b1, b2, b3, b4, b5, b6, b7 ]=make_koefs(k); %fprintf('R=%d\n',k); %mu_min = (18-b1*t_reg_min)/(b3*t_reg_min) %i=108/(b3*t_reg_min^2); %fprintf('i=%0.3f\n\n',i); %end %mu_min = (18-b1*t_reg_min)/(b3*t_reg_min) %mu_max = (18-b1*t_reg_max)/(b3*t_reg_max) %%%%%%%%%%%%%%%%%%%%%%%%% %% bode for oporniy rezhim rezhim=2; [ a1, a2, a3, a4, a5, a6, a7, b1, b2, b3, b4, b5, b6, b7 ]=make_koefs(rezhim); mu_min = (18-b1*t_reg_min)/(b3*t_reg_min); mu_max = (18-b1*t_reg_max)/(b3*t_reg_max); %mu_max=0; i_min=108/(b3*t_reg_min^2); i_max=108/(b3*t_reg_max^2); nu_min=216/(b3*t_reg_min^3); nu_max=216/(b3*t_reg_max^3); mu=mu_min; nu=nu_min; i=i_min; % min %mu=mu_max; nu=nu_max; i=i_max; % max G1 = get_tf_zamkn(mu_min, i_min, nu_min, b1, b3); % t min G2 = get_tf_zamkn(mu_max, i_max, nu_max, b1, b3); % t max P = bodeoptions; % Set phase visiblity to off and frequency units to Hz in options P.MagUnits = 'abs'; P.MagScale = 'linear'; P.FreqScale = 'linear'; P.Xlim = [0, 1.8]; P.Ylim = {[0, 1],[-90, 0]}; P.MagLowerLimMode = 'manual'; P.MagLowerLim = -100; P.Grid = 'on'; %h = bodeplot(G1,'r',G2,'b--',P) %% all R A_dop = 0.05; Fi_dop= 0.1; [ a1, a2, a3, a4, a5, a6, a7, b1, b2, b3, b4, b5, b6, b7 ]=make_koefs(2); mu = (18-b1*t_reg_min)/(b3*t_reg_min); i=108/(b3*t_reg_min^2); nu=216/(b3*t_reg_min^3); %mu=0.566; %i=1.087; %nu=0.527; %[ a1, a2, a3, a4, a5, a6, a7, b1, b2, b3, b4, b5, b6, b7 ]=make_koefs(12); [mu, i, nu] = get_korr(1, 2) for k = 5:1:4 [ a1, a2, a3, a4, a5, a6, a7, b1, b2, b3, b4, b5, b6, b7 ]=make_koefs(k); fprintf('REZIM=%d:\n',k); dA_tek = 0; dW_tek = 0.08; w_min = 0.6; w_max = 1.51; w_dop = w_max-w_min; %[X1,Y1,X2,Y2,X3,Y3] = get_dAdz_arrays(k, t_reg_min); %get_value_from_arrs(X1,Y1,w_min); %p=plot(X1,Y3) % 'MarkerEdgeColor','k',... % 'MarkerFaceColor','g',... % 'MarkerSize',10); %grid on; %set(p,'Color','red','LineWidth',2); %[X1,Y1,X2,Y2,X3,Y3] = get_dAdz_arrays(2, t_reg_min); % get A0 for 2 rezim % G1 is for 2 %awo = get_Awo(G1, w_min, dW_tek); %ADW=dW_tek*awo; %x = 0 : 80; % диапазон для построения %x2 = 0:1; %y1 = max(75 - x, 0); % x + y <= 75 ограничение на землю %y2 = max((4000 - 110 * x)/30, 0); % 110x + 30y <=4000 ограничение на хранение %y3 = max((15000 - 120 * x)/210, 0); % 120x + 210y <= 15000 затраты %ytop = min([y1; y2; y3]); % нас интересуют нижние области, т.к. оператор меньше равно %y3 = max(x-1, 0); %y4 = max(x, 0); %ytop = min([y3; y4]); %area(x, ytop); % прорисовываем [ a1, a2, a3, a4, a5, a6, a7, b1, b2, b3, b4, b5, b6, b7 ]=make_koefs(k); mu_nom = (18-b1*t_reg_min)/(b3*t_reg_min); i_nom=108/(b3*t_reg_min^2); nu_nom=216/(b3*t_reg_min^3); dmui = mu_nom - mu; dii = i_nom - i; dnui = nu_nom - nu; [X1,Y1,X2,Y2,X3,Y3] = get_dAdz_arrays(2, t_reg_min); [x, a_mu] = get_max_val(X1, Y1, w_min, w_max); [x, a_i] = get_max_val(X2, Y2, w_min, w_max); [x, a_nu] = get_max_val(X3, Y3, w_min, w_max); [X1,Y1,X2,Y2,X3,Y3] = get_dFdz_arrays(2, t_reg_min); [x, f_mu] = get_max_val(X1, Y1, w_min, w_max); [x, f_i] = get_max_val(X2, Y2, w_min, w_max); [x, f_nu] = get_max_val(X3, Y3, w_min, w_max); awo = get_Awo(G1, w_min, dW_tek); fwo = get_Fwo(G1, w_min, dW_tek); % dmu di dnu dw f = [1; 1; 1; 0]; f = -f; %A = [1 0 0 % 0 1 0 % 0 0 1 % a_mu a_i a_nu]; A = [a_mu a_i a_nu awo -a_mu -a_i -a_nu -awo f_mu f_i f_nu fwo -f_mu -f_i -f_nu -fwo]; b = [ 0.05; -0.0499; 0.1; -0.09]; lb = [0; 0; 0; 0.1]; ub = [dmui; dii; dnui; w_dop]; [x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb, ub); x mu_korr = (mu_nom-x(1)) i_korr = i_nom-x(2) nu_korr = nu_nom-x(3) %x,lambda.ineqlin,lambda.lower fprintf('\n---------------\n'); end