max,min,mean,median,std,sort,sortrows,sum,prod,diff,trapz,cumsum, cumprod,cumtrapzHistogrammien modostamiseen ja piirtoon Matlabissa on esim. hist ja bar. Edellinen toimii hieman mystisesti. Pakko tehdä oma "luokittele", jolloin on varmuus siitä, mitä se tekee.
help luokittele function [frekvenssit,keskip]=luokittele(arvot,luokat) % 18.11.01 % arvot: lukuarvojen vektori % luokat: Vektori, jossa luokkarajat % Esim: >> x=[89 84 87 81 89 86 91 90 78 89 87 99 83 89]; >> luokat=[74.5:5:99.5] luokat = 74.5000 79.5000 84.5000 89.5000 94.5000 99.500 >> [fr,kp]=luokittele(x,luokat) fr = 1 3 7 2 1 kp = 77 82 87 92 97 >> bar(kp,fr) >> suhtfr=fr/length(x) suhtfr = 0.0714 0.2143 0.5000 0.1429 0.0714 >> sum(suhtfr) ans = 1 >> bar(kp,suhtfr) % vrt. KRE Fig. 476 s. 1051 >> ylim([0,1]); grid
>> subplot(1,2,1) >> bar(kp,fr) >> title('Absoluuttinen frekvenssi') >> subplot(1,2,2) >> bar(kp,suhtfr) >> title('Suhteellinen frekv') >> ylim([0,1]); grid
>> kertyma=cumsum (suhtfr) kertyma = 0.0714 0.2857 0.7857 0.9286 1.0000 >> bar(kp,kertyma) >> bar(kp,kertyma) >> title('Kertymä')
%%%%%%%%%%%%%%%%%%%%%%%%%%%% function z=tasaluokat(x,n) xmin=min(x); xmax=max(x); a=xmin-0.5;b=xmax+0.5; z=linspace(a,b,n+1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% >> [fr,lk]=luokittele(x,tasaluokat(x,10)) >> bar(lk,fr)
function z=keskiarvo(x) z=sum(x(:))/length(x(:)); % Mikä tyyli! function z=varianssi(x) n=length(x); a=sum(x)/n; z=sum((x-a).^2)/(n-1); % Mikä eleganssi! function luku=mediaani(v) v=sort(v); n=length(v); i=(n+1)/2;i1=floor(i);i2=ceil(i); luku=(v(i1)+v(i2))/2; function [qu,qm,ql]=kvartiilit(v) v=sort(v) n=length(v); i=(n+1)/4;i1=floor(i);i2=ceil(i); % Tätä en ihan tarkkaan miettinyt ql=(v(i1)+v(i2))/2; i=(n+1)/2;i1=floor(i);i2=ceil(i); qm=(v(i1)+v(i2))/2; i=3*(n+1)/4;i1=floor(i);i2=ceil(i); % kuten tätäkään. qu=(v(i1)+v(i2))/2;
Yksityisen koetuloksen tai mittauksen arvoa on mahdotonta (joko periaatteessa tai käytännössä) ennustaa, mutta kokeen keskimääräinen tulos pitkässä toistosarjassa käyttäytyy säännönmukaisesti.