Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- x = [0.2,0.4,0.6,0.8,1,1.2,1.4,1.6,1.8,2]
- y = [ 2.6,3.1,3.6,4,4.4,4.8,4.8,4.9,4.8,4.7]
- function [x_tr, y_tr]=transf(nr, x, y)
- // Cel procedury: transformuje tabelkê (x,y) na tabelkê (x_tr,y_tr)
- // Parametry wejœciowe:
- // nr numer transformacji (w sprawozdaniu trzeba zastosowac 3 rozne transformacje)
- // x wektor x-ów z tabelki przed transformacj¹
- // y wektor y-ów z tabelki przed transformacj¹
- // Parametry wyjœciowe:
- // x_tr wektor x-ów z tabelki po transformacji
- // y_tr wektor y-ów z tabelki po transformacji
- ...........................
- select nr
- case 1
- for k=1:10
- x_tr(k)=1/(x(k)^2);
- y_tr=y;
- end
- case 2
- for k=1:10
- x_tr=x;
- y_tr(k)=1/y(k);
- end
- case 3
- for k=1:10
- x_tr(k)=log(x(k));
- y_tr=y;
- end
- end
- endfunction
- function [a_tr, b_tr]=wsp_po_transf(x_tr, y_tr)
- // Cel procedury: oblicza wspó³czynniki funkcji liniowej (po transformacji)
- // Parametry wejœciowe:
- // x_tr wektor x-ów z tabelki po transformacji
- // y_tr wektor y-ów z tabelki po transformacji
- // Parametry wyjœciowe:
- // a_tr, b_tr wspó³czynniki w równaniu prostej y=a_tr*x+b_tr
- ...........................
- iloscx=10;
- sumax=sum(x_tr);
- sumay=sum(y_tr);
- sumaxk=sum(x_tr. *x_tr);
- sumaxy=sum(x_tr. *y_tr);
- licznik=sumaxy*iloscx-sumay;
- mianownik=iloscx*sumaxk-sumax;
- a_tr=licznik/mianownik;
- licznik2=sumay-a_tr*sumax;
- b_tr=licznik2/iloscx;
- endfunction
- //!!!!!!!! nastepna funkcje kazdy musi sobie dostosowac(ew. nic nie zmieniac ;-D )!
- function [a, b]=wsp_przed_transf(nr, a_tr, b_tr)
- // Cel procedury: oblicza wspó³czynniki funkcji nieliniowej (przed transformacj¹)
- // Parametry wejœciowe:
- // nr numer transformacji (w sprawozdaniu trzeba zastosowaæ 3 ró¿ne transformacje)
- // a_tr, b_tr wspó³czynniki w równaniu prostej y=a_tr*x+b_tr
- // Parametry wyjœciowe:
- // a, b wspó³czynniki w równaniu krzywej y=F(x,a,b)
- ...........................
- if nr==1 then
- a=a_tr;
- b=b_tr;
- end
- if nr==2 then
- a=a_tr;
- b=b_tr;
- end
- if nr==3 then
- a=a_tr;
- b=b_tr;
- end
- endfunction
- function [blad_tr]=blad_po_trans(x_tr, y_tr, a_tr, b_tr)
- suma=0;
- for k=0:9
- tmp=a_tr*x_tr(k+1);
- funkcja=tmp+b_tr;
- licznik=(y_tr(k+1)-funkcja)^2;
- suma=suma+licznik;
- end
- blad_tr=(1/10)*suma;
- endfunction
- // !! tutaj też każdy musi swoje funkcje wrzucić ;-)
- function [blad]=blad_przed_trans(nr, x, y, a, b)
- if nr==1 then
- suma=0;
- for k=0:9
- tmp=a/(x(k+1)^2)+b;
- licznik=y(k+1)-tmp;
- suma=suma+licznik;
- end
- blad=(1/10)*suma;
- end
- if nr==2 then
- suma=0;
- for k=0;9
- tmp=1/(a*x(k+1)+b);
- //funkcja=tmp+b;
- licznik=y(k+1)-tmp;
- suma=suma+licznik;
- end
- blad=(1/10)*suma;
- end
- if nr==3 then
- suma=0;
- for k=0:9
- tmp=a*log(x(k+1));
- funkcja=tmp+b;
- licznik=y(k+1)-funkcja;
- suma=suma+licznik;
- end
- blad=(1/10)*suma;
- end
- endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement