fprintf('Demonstrace chyby ulozeni cisla v pocitaci:\n\nSecteme 100x jednu desetinu, ') fprintf('cisla jsou ulozena ve vektoru 1x100.\n') c=0.1; % chyba je radove 10^(-16) %format hex % hexadecimalni reprezentace %c u=c*ones(1,100); % 100x(1/10) v1=sum(u); v2=10-v1; % vysledek by mel byt 0 fprintf('Vysledek: %18.16f\n\n',v1) disp('Neco stiskni.') pause fprintf('\nPro lepsi identifikaci chyby odecteme vysledek od 10: %6.4e\n\n',v2) disp('Neco stiskni.') pause fprintf('\nReorganizace vypoctu - vektor prevedeme na matici 10x10:\n\n'); A=reshape(u,10,10); % vektor je preveden do matice v3=sum(sum(A)); % vysledek zalezi na verzi Matlabu v4=10-v3; % vysledek by mel byt 0 disp('Neco stiskni.') pause fprintf('Vysledek: %18.16f\n\n',v3) disp('Neco stiskni.') pause fprintf('\nOdecteme vysledek od 10: %6.4e\n\n',v4) disp('Neco stiskni.') pause fprintf('\nPoznamka: Vysledek zavisi na verzi Matlabu, ve verzi 9.6.0 (R2019a)\n') fprintf('byl druhy postup zhruba desetkrat lespi nez prvni.\n\n')