A MATLAB tem diversas funções numéricas e matemáticas.

Funções numéricas

Arredondamento

A função round(<arg>) retorna o valor arredondado de <arg>.

>> round(-2.1)
ans = -2

>> round(-2.7)
ans = -3

Teto

A função ceil(<arg>) retorna o valor inteiro de uma divisão.

>> ceil(-2.7)
ans = -2

Chão

A função floor(<arg>) retorna o valor inteiro imediatamente maior que o valor passado como argumento em <arg>.

>> floor(-2.7)
ans = -3

Resto de divisão

A função rem (<arg1>,<arg2>) retorna o valor inteiro com o resto da divisão de <arg1> por <arg2>.

>> rem(711,7)
ans = 4

Sinal

A função sign(<arg>) retorna o sinal (1 ou -1) do valor passado como argumento em <arg>.

sign(-2.7)= -1

Funções algébricas

Raiz quadrada

A função sqrt(<arg>) retorna a raiz quadrada do argumento <arg>.

>> sqrt(2.2)
ans = 1.4832

Máximo divisor comum (MDC)

A função gcd(<arg1>,<arg2>,...,<argn>) retorna o máximo divisor comum entre s valores passados como argumentos.

>> gcd(4,8)
ans = 4

Funções trigonométricas

Seno

A função sin(<arg>) retorna o seno do ângulo passado como argumento em <arg>.

>> sin(3.1)
ans = 0.0416

Coseno

A função cos(<arg>) retorna o coseno do ângulo passado como argumento em <arg>.

>> cos(3.1)
ans = -0.9991

Tangente

A função tan(<arg>) retorna a tangente do ângulo passado como argumento em <arg>.

>> tan(3.1)
ans = 0.0416

Funções logarítmicas e exponenciais

Logaritmo natural

A função log(<x>) retorna o valor do logaritmo natural (na base e)

>> log(2.2)
ans = 0.7885

logaritmo na base 10

A função log(<x>) retorna o valor do logaritmo na base 10.Funções de manipulação numérica

>> log10(2.2)
ans = 0.3424

Exponencial na base e

A função exp(<arg>) retorna o valor de e elevado à potencia do valor passado no argumento <arg>.

Valores Aleatórios

O comando para geração de números aleatórios é rand., basicamente gerando uma matriz com números com distribuição uniforme [0,1].

Para sabermos mais digitamos:

>> help rand

Seguem abaixo alguns exemplos de sua utilização

>> x = rand(100,1);      % vetor coluna com 100 numeros aleatorios
>> y = rand(1,100);      % vetor linha com 100 numeros aleatorios
>> A = rand(100);        % matriz de 100x100 numeros aleatorios
>> B = rand(50,30);      % matriz de 50x30 numeros aleatorios
>> z = 2*rand(100,1) -1; % vetor 100x1 com distr. unif. [-1,1]

Em determinadas situações necessitaremos que a matriz de valores aleatórios gerado seja sempre a mesma, portanto fixamos a semente do gerador de números aleatórios, inicialmente guardando a semente atual:

>> seed = rand('state'); % guarda a semente do gerador

onde seed é uma variável qualquer, que pode ter outro nome da sua escolha.

Em seguida, fixe a semente no gerador.

>> rand('state', seed); % fixa a semente no gerador

para a mesma sequência de números aleatórios ser repetida.

No exemplo abaixo a semente não é fixada.

>> x = rand(100,1); % gera um vetor aleatório
>> y = rand(100,1); % gera outro vetor aleatório
>> isequal(x,y)     % verifica se x e y são iguais, ans = answer
ans = 0

Neste caso a função isequal retorna 0 indicando que os vetores x e y são diferentes.

Verificamos a semente ser fixada:

>> seed = rand('state'); % guarda a semente do gerador
>> x = rand(100,1);      % gera um vetor aleatório
>> rand('state',seed);   % fixa a semente previamente guardada
>> y = rand(100,1);      % gera outro vetor aleatório
>> isequal(x,y)          % verifica se x e y são iguais, ans = answer
ans = 1

A função isequal retorna 1 indicando que os vetores x e y são iguais.

Sempre que o comando rand('state',seed) for usado, a geração dos números aleatórios será repetida.