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.