⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zmien_u2.m

📁 Control optimisation. It is example of use BFGS algorithm to control satellite form Earth atmosphere
💻 M
字号:
%   wylicza nowe wartosci u2(tau) po zmianie tau
function [nowe_u2,nowe_tu2] = zmien_u2 ( x,u2,tu2 )
global super_jednostka;

szerokosc = x(1);
ii = 3;
while (ii<=length(x))
    szerokosc = [szerokosc (x(ii)-x(ii-1))];
    ii = ii + 2;
end
nowe_u2 = [];    % wartosci wektora u2
nowe_tu2 = [];   % czasy dla u2
for ii=1:length(szerokosc)
    if (abs(floor(szerokosc(ii)/super_jednostka)-(szerokosc(ii)/super_jednostka)))<(1e-5)
        vv = 1;
        ilosc_jednostek = 1+(szerokosc(ii)/super_jednostka);
    else
        vv = 0;
        ilosc_jednostek = 2+floor(szerokosc(ii)/super_jednostka);
    end;
    if (ii==1)
        czas_startowy_przedzialu = 0;
    else
        czas_startowy_przedzialu = x(2*ii-2);
    end
    for iii=1:ilosc_jednostek
    	czas_tego_u2 = czas_startowy_przedzialu+(iii-1)*super_jednostka;
        if iii==ilosc_jednostek
        	if vv==0
                czas_tego_u2 = czas_startowy_przedzialu + szerokosc(ii);
            end
        end
        znaleziono = 0;
        for iiii=1:(length(tu2))
            if (czas_tego_u2-tu2(iiii))<(-0.01);
                znaleziono = iiii;
                break;
            end
        end
        if znaleziono==0
            nowe_u2_akt = u2(length(u2));
        else
            if length(u2)>=znaleziono
                nowe_u2_akt = u2(znaleziono-1)+((czas_tego_u2-tu2(znaleziono-1))/(tu2(znaleziono)-tu2(znaleziono-1)))*(u2(znaleziono)-u2(znaleziono-1));
            else
                nowe_u2_akt = u2(length(u2));
            end
        end
        nowe_u2 = [nowe_u2 nowe_u2_akt];
        nowe_tu2 = [nowe_tu2 czas_tego_u2];
    end
end
if floor(length(x)/2)==(length(x)/2)
    nowe_u2 = [nowe_u2 u2(length(u2))];
    nowe_tu2 = [nowe_tu2 x(length(x))];
end

end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -