Advertisement
Guest User

Untitled

a guest
Apr 19th, 2014
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.54 KB | None | 0 0
  1. x = [0.2,0.4,0.6,0.8,1,1.2,1.4,1.6,1.8,2]
  2. y = [ 2.6,3.1,3.6,4,4.4,4.8,4.8,4.9,4.8,4.7]
  3. function [x_tr, y_tr]=transf(nr, x, y)
  4. // Cel procedury: transformuje tabelkê (x,y) na tabelkê (x_tr,y_tr)
  5. // Parametry wejœciowe:
  6. // nr numer transformacji (w sprawozdaniu trzeba zastosowac 3 rozne transformacje)
  7.  
  8. // x wektor x-ów z tabelki przed transformacj¹
  9. // y wektor y-ów z tabelki przed transformacj¹
  10. // Parametry wyjœciowe:
  11. // x_tr wektor x-ów z tabelki po transformacji
  12. // y_tr wektor y-ów z tabelki po transformacji
  13. ...........................
  14. select nr
  15. case 1
  16. for k=1:10
  17. x_tr(k)=1/(x(k)^2);
  18. y_tr=y;
  19. end
  20. case 2
  21. for k=1:10
  22. x_tr=x;
  23. y_tr(k)=1/y(k);
  24. end
  25. case 3
  26. for k=1:10
  27. x_tr(k)=log(x(k));
  28. y_tr=y;
  29. end
  30. end
  31. endfunction
  32.  
  33.  
  34. function [a_tr, b_tr]=wsp_po_transf(x_tr, y_tr)
  35. // Cel procedury: oblicza wspó³czynniki funkcji liniowej (po transformacji)
  36. // Parametry wejœciowe:
  37. // x_tr wektor x-ów z tabelki po transformacji
  38. // y_tr wektor y-ów z tabelki po transformacji
  39. // Parametry wyjœciowe:
  40. // a_tr, b_tr wspó³czynniki w równaniu prostej y=a_tr*x+b_tr
  41. ...........................
  42. iloscx=10;
  43. sumax=sum(x_tr);
  44. sumay=sum(y_tr);
  45. sumaxk=sum(x_tr. *x_tr);
  46. sumaxy=sum(x_tr. *y_tr);
  47.  
  48. licznik=sumaxy*iloscx-sumay;
  49. mianownik=iloscx*sumaxk-sumax;
  50. a_tr=licznik/mianownik;
  51. licznik2=sumay-a_tr*sumax;
  52. b_tr=licznik2/iloscx;
  53.  
  54.  
  55.  
  56. endfunction
  57.  
  58. //!!!!!!!! nastepna funkcje kazdy musi sobie dostosowac(ew. nic nie zmieniac ;-D )!
  59.  
  60. function [a, b]=wsp_przed_transf(nr, a_tr, b_tr)
  61. // Cel procedury: oblicza wspó³czynniki funkcji nieliniowej (przed transformacj¹)
  62. // Parametry wejœciowe:
  63. // nr numer transformacji (w sprawozdaniu trzeba zastosowaæ 3 ró¿ne transformacje)
  64. // a_tr, b_tr wspó³czynniki w równaniu prostej y=a_tr*x+b_tr
  65. // Parametry wyjœciowe:
  66. // a, b wspó³czynniki w równaniu krzywej y=F(x,a,b)
  67. ...........................
  68.  
  69. if nr==1 then
  70. a=a_tr;
  71. b=b_tr;
  72. end
  73. if nr==2 then
  74. a=a_tr;
  75. b=b_tr;
  76. end
  77. if nr==3 then
  78. a=a_tr;
  79. b=b_tr;
  80. end
  81.  
  82. endfunction
  83.  
  84.  
  85. function [blad_tr]=blad_po_trans(x_tr, y_tr, a_tr, b_tr)
  86. suma=0;
  87. for k=0:9
  88. tmp=a_tr*x_tr(k+1);
  89. funkcja=tmp+b_tr;
  90. licznik=(y_tr(k+1)-funkcja)^2;
  91. suma=suma+licznik;
  92. end
  93. blad_tr=(1/10)*suma;
  94. endfunction
  95.  
  96. // !! tutaj też każdy musi swoje funkcje wrzucić ;-)
  97. function [blad]=blad_przed_trans(nr, x, y, a, b)
  98.  
  99. if nr==1 then
  100. suma=0;
  101. for k=0:9
  102. tmp=a/(x(k+1)^2)+b;
  103. licznik=y(k+1)-tmp;
  104. suma=suma+licznik;
  105. end
  106. blad=(1/10)*suma;
  107. end
  108. if nr==2 then
  109. suma=0;
  110. for k=0;9
  111. tmp=1/(a*x(k+1)+b);
  112. //funkcja=tmp+b;
  113. licznik=y(k+1)-tmp;
  114. suma=suma+licznik;
  115. end
  116. blad=(1/10)*suma;
  117. end
  118. if nr==3 then
  119. suma=0;
  120. for k=0:9
  121. tmp=a*log(x(k+1));
  122. funkcja=tmp+b;
  123. licznik=y(k+1)-funkcja;
  124. suma=suma+licznik;
  125. end
  126. blad=(1/10)*suma;
  127. end
  128. endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement