abc Matlab - elektronski priručnik
VII dio Dodaci /APPENDIX/ - 7.1. Programiranje u Matlabu 1

7. Zaokruživanje na cijele brojeve. Funkcije ceil, floor, fix i round

MATLAB funkcije round i ceil se koriste za zaokruživanje realnih brojeva na cijele brojeve. Ovdje ćemo dati potpunu listu funkcija namijenjenih zaokruživanju brojeva.

Funkcija

Opis

floor

Zaokružuje prema minus beskonačno

ceil

Zaokružuje prema plus beskonačno

fix

Zaokružuje prema nuli

round

Zaokružuje prema najbližem cijelom broju

Da bismo ilustrovali razlike između ovih funkcija kreirajmo prvo dvodimenzionalni niz slučajnih brojeva koji su normalno distribuirani (srednja vrijednost = 0, varijansa = 1) koristeći drugu MATLAB funkciju randn

randn('seed', 0) % Ovo postavlja tzv. seed generatora slučajnih brojeva na nulu

T = randn(5)



Bitno je napomenuti da važe sljedeći identiteti

floor(x) = fix(x)  za x > 0

i

ceil(x) = fix(x)     za x < 0

U sljedećim m-fajl funkcijama floor i ceil su korištene da se dobije određena reprezentacija nenegativnog ralnog broja

function [m, r] = rep4(x)

% Za dati nenegativni broj x, funkcija rep4 racuna cijeli broj m
% i realni broj r, gdje je 0.25 <= r < 1, tako da je x = (4^m)*r.

if x == 0
       m = 0;
       r = 0;
       return
end
u = log10(x)/log10(4);
if u < 0
       m = floor(u)
else
       m = ceil(u);
end
r = x/4^m;

Komanda return uzrokuje vraćanje na pozivajuću funkciju ili na tastaturu. Funkcija log10 je decimalni logaritam.

[m, r] = rep4(pi)

m =
    1
r =
    0.7854

Provjerićemo ovaj rezultat

format long

(4^m)*r

ans =
    3.14159265358979

format short

Ćelijski nizovi    <    Index    >    Programiranje u Matlabu 2