i=1;\r
mezvak=0.07;\r
cit=50;\r
-k=50;\r
+k=10;\r
\r
Vb=36.81;\r
KK=616.26;%612.47\r
vaku=mean(P{i,1}(P{i,1}<0.01));\r
P{i,4}(P{i,1}<mezvak)=[];%smazaní evakuace\r
P{i,1}(P{i,1}<mezvak)=[];\r
- P{i,2}=-P{i,1}(2:end)+P{i,1}(1:end-1); %derivace odhaluje skoky\r
+ P{i,2}=(-P{i,1}(2:end)+P{i,1}(1:end-1)); %derivace odhaluje skoky\r
P{i,3}=P{i,2}./(P{i,1}(1:end-1)/max(P{i,1})); %nomralizace skoku\r
minind=find(P{i,3}<min(P{i,3})/cit);%hledání napouštění\r
%smazání vakua a napouštění\r
\r
end\r
for i=1:length(V)\r
- Vprum(i)=mean(V{i});\r
- printf("Výsledek z měření %s:\n\tV%i = %f mm^3\n\t", fnamecelk{i}, Vznak(i), Vprum(i));\r
+ Vprum = mean(V{i});\r
+ dev = (sum((Vprum - V{i}).^2) / length(V{i}))^0.5;\r
+ [Vprum, dev, ~, dec] = round_deviation(Vprum, dev);\r
+ printf("Výsledek z %i skoků z měření %s:\n", length(V{i}), fnamecelk{i})\r
+ printf("\tV%i = (%.*f ± %.*f) mm^3\n", Vznak(i), dec, Vprum, dec, dev);\r
end\r
-V1=mean(Vprum(Vznak==1))\r
-V2=mean(Vprum(Vznak==2))\r
-uA1=(sum((V1-[V{Vznak==1}]).^2)/(length([V{Vznak==1}])-1))^0.5\r
-uA2=(sum((V2-[V{Vznak==2}]).^2)/(length([V{Vznak==2}])-1))^0.5\r
+V1 = mean([V{Vznak == 1}]);\r
+V2 = mean([V{Vznak == 2}]);\r
+dev1 = (sum((V1-[V{Vznak==1}]).^2)/(length([V{Vznak==1}])-1))^0.5;\r
+dev2 = (sum((V2-[V{Vznak==2}]).^2)/(length([V{Vznak==2}])-1))^0.5;\r
+[V1, dev1, ~, dec1] = round_deviation(V1, dev1);\r
+[V2, dev2, ~, dec2] = round_deviation(V2, dev2);\r
+printf("\nCelková statistika:\n")\r
+printf("\tV1 = (%.*f ± %.*f) mm^3\n", dec1, V1, dec1, dev1)\r
+printf("\tV2 = (%.*f ± %.*f) mm^3\n", dec2, V2, dec2, dev2)\r
--- /dev/null
+function [value, deviation, significant_digits, decimal_digits] = round_deviation(value, deviation)
+ order = floor(log10(deviation));
+ first_digit = floor(deviation * 10^-order);
+ if ((first_digit == 1) || (first_digit == 2))
+ --order
+ end
+ deviation = ceil(deviation * 10^-order) * 10^order;
+ order = floor(log10(deviation));
+ first_digit = floor(deviation * 10^-order);
+ if ((first_digit == 1) || (first_digit == 2))
+ --order;
+ end
+ value = round(value * 10^-order) * 10^order;
+ significant_digits = floor(log10(value)) - order;
+ decimal_digits = max(-order, 0);
+ ++significant_digits;
+end