SonicDesu

Aproxx

Dec 9th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.10 KB | None | 0 0
  1. clc;
  2. clear all;
  3. %format long;
  4. tab=[      
  5.       1.700     4.460;
  6.       0.510    -0.090;
  7.       0.810    -0.790;
  8.       0.970     0.030;
  9.       1.100     2.040;
  10.       1.520     4.140;
  11.       0.110     1.000;
  12.       1.520     4.090;
  13.       0.110     1.030;
  14.       0.310     1.580;
  15.       0.970     0.110;
  16.       0.820    -0.780;
  17.       0.510    -0.080;
  18.       0.810    -0.770;
  19.       1.520     4.060;
  20.       0.320     1.610;
  21.       0.710    -0.780;
  22.       0.960     0.010;
  23.       0.700    -0.770;
  24.       1.100     2.050]
  25.   x=tab(:,1);
  26.   y=tab(:,2);
  27. n=length(x); %liczba pkt. aproksymacji
  28. m=3;            %stopien wielomianu
  29.  
  30. S=zeros(m+1,m+2);
  31.  
  32. for i=0:m
  33. for j=0:m
  34. for k=0:n-1
  35. S(i+1,j+1)=S(i+1,j+1)+(x(k+1))^(i+j);
  36. end
  37. end
  38. end
  39.  
  40.  
  41. for i=0:m
  42. for j=0:n-1
  43. S(i+1,m+2)=S(i+1,m+2)+y(j+1)*((x(j+1))^i);
  44. end
  45. end
  46.  
  47. [n,m]=size(S);
  48.  
  49. for i=1:n
  50. for j=1:m-1
  51. S1(i,j)=S(i,j);
  52. end
  53. end
  54.  
  55.  
  56. for i=1:n
  57. b(i)=S(i,m);
  58. end
  59.  
  60. disp('S = ');disp(S1);
  61. disp('b = ');disp(b');
  62. [n,m]=size(S1);
  63.  
  64. for k=1:m
  65. T=S1(:,k);
  66. S1(:,k)=b';
  67. W(k)=det(S1);
  68. S1(:,k)=T;
  69. end
  70. D=det(S1)
  71. a=W./D;
  72. disp('Współczynniki a = ');disp(a);
Advertisement
Add Comment
Please, Sign In to add comment