Математическое моделирование в среде MATLAB компьютерный эксперимент на основе бутстреп – подхода (метода), страница 2

                    end   

                 end

            end

            end

      end

   NI=NIC;  

   end

   YE=mean(Ymodel,1);

   e_b=e_b';

            for i=1:PLAN(1,2)

                        for j=1:4

                                    YEB(i,j)=YE(j)+e_b(i,j);

            end     

            end

YB=[Ymodel;YEB]

Пояснения к коду: 

PLAN – матрица, где первый столбец – это координаты точки в которых проводим измерения, а второй – количество съёмов в соответствующих точках.

Ymodel - массив данных смоделированных измерений полученный в пункте 1.

Y – реальные значения функции;

R_int - размер интервала;

K_int – количество интервалов;

YЕВ – данные получены по генерации бутстреп выборки;

YВ – бутстреп выборка.

Результаты

k_int =

    10

PLAN =

         0   16.0000

    2.7650   16.0000

    7.2350   16.0000

   10.0000   16.0000

random =

    0.0169   -0.8197    0.7041    0.4332

   -0.9677   -1.2701   -1.3554   -0.6440

    1.2086   -0.3695    0.0538    0.0837

    0.3474    0.9945   -0.9413   -0.5518

   -1.4846   -1.2813    0.8031   -0.6975

    2.0094   -1.8020    0.8293    0.5564

    0.4343   -0.1798   -0.3055    1.0924

    2.2184   -0.0979   -3.0815    3.1682

    1.7070    0.7279    0.1988   -2.0359

   -1.0262   -0.8932    2.3894   -1.5339

   -1.9379   -0.2245    1.5276    1.5568

   -0.1094   -0.6521   -2.3706   -0.5847

   -0.4959   -0.1190   -0.1180   -2.0719

   -1.2654    2.3027   -1.0225    0.4733

    0.7467   -0.9097   -1.5368    2.3299

    2.2327   -2.0210   -1.8515    1.0618

Ymodel =

    6.0169  -18.2459   10.0873  166.4332

    5.0323  -18.6963    8.0278  165.3560

    7.2086  -17.7957    9.4370  166.0837

    6.3474  -16.4316    8.4419  165.4482

    4.5154  -18.7074   10.1863  165.3025

    8.0094  -19.2281   10.2125  166.5564

    6.4343  -17.6060    9.0776  167.0924

    8.2184  -17.5241    6.3017  169.1682

    7.7070  -16.6982    9.5820  163.9641

    4.9738  -18.3194   11.7726  164.4661

    4.0621  -17.6507   10.9108  167.5568

    5.8906  -18.0783    7.0126  165.4153

    5.5041  -17.5451    9.2652  163.9281

    4.7346  -15.1234    8.3607  166.4733

    6.7467  -18.3359    7.8463  168.3299

    8.2327  -19.4472    7.5316  167.0618

YB =

    6.0169  -18.2459   10.0873  166.4332

    5.0323  -18.6963    8.0278  165.3560

    7.2086  -17.7957    9.4370  166.0837

    6.3474  -16.4316    8.4419  165.4482

    4.5154  -18.7074   10.1863  165.3025

    8.0094  -19.2281   10.2125  166.5564

    6.4343  -17.6060    9.0776  167.0924

    8.2184  -17.5241    6.3017  169.1682

    7.7070  -16.6982    9.5820  163.9641

    4.9738  -18.3194   11.7726  164.4661

    4.0621  -17.6507   10.9108  167.5568

    5.8906  -18.0783    7.0126  165.4153

    5.5041  -17.5451    9.2652  163.9281

    4.7346  -15.1234    8.3607  166.4733

    6.7467  -18.3359    7.8463  168.3299

    8.2327  -19.4472    7.5316  167.0618

   12.3786  133.1895    9.5826  143.6474

    8.6466  144.1897  -15.3539  175.0133

  -15.0449  -31.9715  -13.2863  143.4379

   -1.2693   -8.4286    7.9551  164.5914

   10.8241  -30.6118   -3.1397  143.6887

  160.1087   -5.4305   12.0213  164.6199

   -7.9073  142.8432  165.2245  164.9838

   -7.8712  145.1492  -13.6365  163.9935

  169.7176  -18.5099  167.0059  168.9736

  161.4694  -16.1618   19.1830  168.0863

  -18.0745   -6.5807  155.2896  164.0352

  159.4663  128.6957   18.3611  173.4115

  158.6209  143.3719  -15.8770  175.4157

    9.6750  -13.2164    9.5017  174.1098

   14.7075  142.9123   11.4341  166.0932

   -5.8692  135.9899   20.2056  168.3778

б)  по функции распределения ошибок;

sigma = 1.5;

%Реальные параметры модели

Q=[6 -4 -3 0.5];

X=[0:0.1:10];

SizeOfX=size(X);

k_int = 10

%Точки и количества наблюдений

PLAN=[

            0      16;

            2.765  16;

            7.235  16;

            10     16;

]

%Генерация массива случайных чисел с заданным среднеквадратическим отклонением и нулевым матожиданием.

random=randn(16,4)*sigma

%Инициализация массива

Ymodel=zeros(16,4);

%Моделирование: получение модельных данных с объекта

for j=1:16

            for i=1:4

              Ymodel(j,i)=Q(1)+Q(2)*PLAN(i,1)+Q(3)*PLAN(i,1)^2+Q(4)*PLAN(i,1)^3+random(j,i);

            end

end

%Результат: значения смоделированной выходной переменной

Ymodel

Y=zeros(1,SizeOfX(2));

  for i=1:SizeOfX(2)

       Y(i)=Q(1)+Q(2)*X(i)+Q(3)*X(i)^2+Q(4)*X(i)^3;

   end

for j=1:PLAN(1,2)

  for i=1:4

     e(j,i)=Ymodel(j,i)-Y(i);

  end

end

k=0;

for j=1:PLAN(1,2)

  for i=1:4

     e(j,i)=Ymodel(j,i)-Y(i);

  end

end

k=0;

for j=1:PLAN(1,2)

    for i=1:4

        k=k+1;

        elem(k)=e(j,i);

    end

end

a=min(elem);

b=max(elem);

r_int=(b-a)/k_int;

for i=1:k_int

            sum_n(i)=0;

end

for i=1:k

   for j=1:k_int

      if a + (j-1)*r_int <= elem(i) & elem(i) < a+j*r_int

         sum_n(j)=sum_n(j)+1;

      end

      if elem(i)==b

         sum_n(k_int)=sum_n(k_int)+1;

         break

      end

   end

end

for i=1:k_int

   p(i)=sum_n(i)/k;

end

sum=0;

for i=1:k_int

   sum=sum+p(i);

   Fp(i)=sum;

end

Kpr=[];

for i=1:k_int

                        Kpr(i,1)=p(i)/r_int;

            Kpr(i,2)=Fp(i)-((Kpr(i,1))*(a + (i)*r_int));

end  

for j=1:4

            for k=1:PLAN(1,2)

               ran_y=rand;

                        if 0 <= ran_y & ran_y < Fp(1)

            t=1;

               end

               for i=2:k_int

                if Fp(i-1) <= ran_y&ran_y < Fp(i)

            t=i;