mihainan

Problema1 - Lab10

May 5th, 2014
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.62 KB | None | 0 0
  1. function [c, a, b] = interpolare_trigonometrica(m, y)
  2.     for j=1:2*m
  3.         x(j) = -pi + ((j-1)/m)*pi;
  4.     end
  5.     n = length(x);
  6.     x = x';
  7.     w = 2*pi/n;
  8.     a = zeros(m, 1);
  9.     b = 1;
  10.     for j=1:m
  11.         a(j) = y*cos(j*x);
  12.         b(j) = y*sin(j*x);
  13.     end
  14.     a = 2*a/n;
  15.     b = 2*b/n;
  16.     a0 = sum(y)/n;
  17.     if n == 2*m
  18.         a(m) = a(m)/2;
  19.     end
  20.     c(1) = a0 + a(1)*cos(x(1));
  21.     c(2) = b(j)*cos(x(1))
  22.     for j=3:m
  23.         if(mod(j, 2) == 1)
  24.             c(j) = c((j+1)/2-1) + a((j+1)/2)*cos((j+1)/2*x);
  25.         else
  26.             c(j) = c(j/2-1) + b(j/2)*sin(j/2*x);
  27.         end
  28.     end
  29. end
Advertisement
Add Comment
Please, Sign In to add comment