Page 23 - 4299
P. 23

delta=(X(N)-X(1))/Nn;
               X1=X(1):delta:X(N);
               for i=1:Nn+1
               S=0;
               for j=1:N1
                   r=a(N1-j+1)*X1(i)^(j-1);
                   S=S+r;
               end
               P(i)=S;
               end
               %Побудова графіка
               plot(X1,P,'m-+',X,Y,'kо')




               Підпрограма fun_Lagran

               function [a,d]=fun_Lagran(X,Y)
               %==============================================
               %Вхід: X - вектор абсцис
               %      Y - вектор ординат
               %Вихід: а - матр. коефіцієнтів інтерпол.
               %           полінома Лагранжа
               %       d - матр. коефіцієнтів полінома Лагранжа
               n=length(X);%Кількість вузлів інтерпол.
               N=n-1;
               a=zeros(n,n);
               %==============================================
               %Формування коефіцієнтів полінома Лагранжа
               for k=1:N+1
                   V=1;
                   for j=1:N+1
                       if k~=j
                           V=conv(V,poly(X(j)))/(X(k)-X(j));
                       end
                   end
                   d(k,:)=V;
               end
               %===============================================
               %Визначення коефіцієнтів інтерполяційного
               %полінома Лагранжа
               a=Y*d;

                     Для  запуску  програми  необхідно  у  13  і  14  лінійках  програми  занести  значення  x   у
                                                                                                            k
               такій  формі:  x  : x x  :  ,  де  x ,  x   -  перший  і  останній  вузол  інтерполяції;       -  крок
                                                                                                      x
                               0       N       0    N
               приросту  аргументу  x   (у  нашому  випадку  -  X=0:0.2:1;),  та  сформувати  значення  Y як
               вектор  з  компонентами  y ,  k  1, N   (у  нашому  випадку  -  Y=[1  0.86  0.84  0.91  1.09
                                           k
               1.37];)
                     Результатом  роботи  програми  є  вектор  коефіцієнтів  полінома  Лагранжа  a   з
               компонентами  a ,  k   1, N . Знаючи коефіцієнти полінома, можна записати поліном  P      ( )x  у
                                k                                                                        N
               такому вигляді:
                                                                     2
                                            P    x   a   a  x a  x     a x N 1 ,
                                             N       N    N  1   N  2       1
                                                            
               де  N  - кількість коефіцієнтів полінома  P x .
                                                          N

                                                              22
   18   19   20   21   22   23   24   25