Computação – Funções 1 Funções matemáticas elementares fix floor ceil round mod rem sign sin -seno. - seno em Graus (Matlab 7.0) - seno hiperbólico. - inverso do seno (arsen). - inverso do seno em Graus (Matlab 7.0) - inverso do seno hiperbólico. cos -coseno. cosd / cosh / acos / acosd/ acosh. tan -tangente. tand / tanh / atan / atand / atanh. atan2(x,y) - inverso da tangente entre -π e π (atan entre -π/2 e π/2) sec -secante. secd / sech / asec / asecd / asech. csc -cosecante. cscd / csch / acsc / acscd / acsch. cot -cotangent. cotd / coth / acot / acotd / acoth. sind sinh asin asind asinh zeros ones eye repmat rand randn linspace logspace - array de zeros. - array de uns. - matriz identidade. - copia um array. - gera números aleatórios uniformemente distribuídos. - gera números aleatórios normalmente distribuídos. - gera um vector linearmente espaçado. - gera um vector logaritmicamente espaçado. Informação básica de arrays -exponencial (ex). -logaritmo natural ou neperiano. -logaritmo na base 10. -logaritmo ns base 2 (e ... ver help). - 2x (e ... ver help). - x. - (ver help). size length ndims disp error isempty isequal isnumeric islogical logical Complexos: angle complex conj imag real isreal - arredonda para o inteiro mais próximo de zero. - arredonda para o inteiro mais próximo de − ∞ . - arredonda para o inteiro mais próximo de ∞ . - arredonda para o inteiro mais próximo. - resto da divisão (com o sinal do divisor) (ver help). - resto da divisão (com o sinal do dividendo) (ver ≠). - sinal. Matrizes elementares Exponenciação: abs - valor absoluto a + bi = a 2 + b2 . - semelhante a atan2 (argumento complexo) - constrói um complexo dada a parte real e imaginária. - conjugado de um complexo. - parte imaginária de um complexo. - parte real de um complexo. - verdadeiro de o array é real. Computação – Funções 3 - dimensão do array. - maior das dimensões do array (length(A)=max(size(A))). - número de índices do array. - escreve uma matriz (ou texto). - escreve mensagens de erro parando a execução. - verdadeiro se a matriz é vazia. - verdadeiro se os arrays são idênticos. - verdadeiro se o array é numérico. - verdadeiro se o array é lógico. - converte valores numéricos em lógicos. Manipulação de matrizes find end -encontra os índices dos elementos não nulos. -se for índice representa o último índice, caso contrário termina as instruções for, while, switch, try, e if. Computação – Funções Manipulação de matrizes Funções de Vectores cat diag flipdim fliplr cross dot intersect ismember flipud repmat reshape rot90 tril triu - concatenação de arrays - cria matrizes diagonais ou diagonais de uma matriz - troca a ordem segundo uma dada dimensão. - troca as colunas das matrizes da esquerda para a direita - troca as linhas das matrizes da cima para a baixo - forma um array com cópias de outro array - redimensiona uma matriz com m*n elementos - roda as matrizes 90 graus - parte triangular inferior de uma matriz - parte triangular superior de uma matriz setdiff setxor union unique - produto vectorial de dois vectores de R3 - produto escalar de dois vectores - determina a intersecção de dois vectores - verdadeiro se o(s) elemento(s) pertencerem ao conjunto - determina os elementos que pertencem a um vector e não a outro - dertermina os elementos que não pertencem à intersecção - determina a reunião dos elementos sem repetições - elimina os elementos repetidos dos arrays Tempo e Datas Análise de dados cumprod cumsum factor max mean median min perms polyarea primes prod sort std sum var - produto acumulado - soma acumulada - decompõe em factores primos - elementos máximos de um array - média dos valores de um array - mediana dos valores de um array - elementos mínimos de um array - todas as permutações - área de um polígono dado pelos vértices - gera uma lista de números primos - produto de elementos de um array - ordena os elementos por ordem ascendente - desvio padrão - soma de elementos de um array - variância Conversão de sistemas de coordenadas cart2pol cart2sph pol2cart sph2cart 2 Arredondamentos e restos: Trigonometria: exp log log10 log2 pow2 sqrt nextpow2 Computação – Funções - transforma coordenadas cartesianas em polares ou cilíndricas - transforma coordenadas cartesianas em esféricas - transforma polares ou cilíndricas em coordenadas cartesianas - transforma coordenadas esféricas em cartesianas calendar clock cputime date datenum datestr datevec eomday etime now tic, toc - dá o calendário de um dado mês. - dá as horas incluindo data - tempo de CPU (em segundos) desde o início - um "string" com a data - dá o número em dias de uma data - define o formato da data - cria um vector com a data - último dia de cada mês (ano) - diferença de tempo - número com informação da data e tempo - tic começa a contar o tempo e toc dá o tempo que passou após tic weekday - dia da semana Análise matricial cond - número de condição det - determinante da matriz norm - norma de vectores e matrizes null - base ortonormal do núcleo da matriz orth - base ortonormal do contradomínio da matriz rank - característica da matriz rcond - estimativa do recíproco do número de condição rref, rrefmovie- forma reduzida da matriz (Gauss-Jordan) trace - soma dos elementos da diagonal 4 Computação – Funções 5 Computação – Funções Funções Lógicas Manipulação de strings any findstr int2str lower num2str -é verdadeiro se algum dos elementos for diferente de zero (dá a informação por colunas) Exemplo: any([0 1 0])→1 all -é verdadeiro se todos os elementos forem diferentes de zero (dá a informação por colunas) Exemplo: all([1 2 -1])→1 find -fornece um vector com os índices dos elementos diferentes de zero Exemplo: find([0 3 0;2 0 3])→[2 3 6]'; isfinite -dá um array com 1 onde os elementos são finitos e zero nos restantes Exemplo: finite([0 3 inf;2 NaN 3])→[1 1 0;1 0 1]; isnan -dá um array com 1 onde os elementos são "NaN" e zero nos restantes Exemplo: isnan([0 3 inf;2 NaN 3])→[0 0 0;0 1 0]; isinf -dá um array com 1 onde os elementos são "inf" e zero nos restantes Exemplo: isinf([0 3 inf;2 NaN 3])→[0 0 1;0 0 0]; ischar -dá 1 se o array for de caracteres Exemplos: ischar([0 3 inf;2 NaN 3])→0; ischar(['abc','de']) →1 isempty -dá 1 se o array é vazio Exemplo: isempty([])→1; isnumeric -dá 1 se o array é numérico Exemplo: isreal([0 3 inf;2+i NaN 3])→1; isreal -dá 1 se todos os elementos do array não tiverem parte imaginária Exemplo: isreal([0 3 inf;2 NaN 3])→1; isletter -O argumento é um string. Dá um array lógico do mesmo tamanho de string contendo o valor 1 se for uma letra do alfabeto e 0 no caso contrário. isvarname -testa se um string é válido para nome de variável logical -converte valores numéricos em lógicos 7 Comandos gerais cd clear copyfile delete diary dir doc exist format load lookfor mkdir path -muda a directoria corrente -retira variáveis do workspace. -copia ficheiros. -apaga ficheiros ou objectos gráficos. -guarda a sessão num ficheiro do disco. -lista a directoria -mostra a documentação do Help em HTML. -verifica se o ficheiro ou variável existe. -controla o formato do output. -inicializa variáveis a partir do disco. -procura por um texto no help (demora muito tempo). -cria novas directorias. -controla o caminho de busca de directorias usado pelo MATLAB. pwd -mostra o nome da directoria corrente rmpath -elimina directorias do path. save -guarda variáveis do workspace no disco. type -lista ficheiros. what -lista ficheiros da directoria corrente. who, whos -lista as variáveis do workspace Funções gráfica bar barh Compass contour contourf figure fplot hist hold loglog mesh meshc Meshgrid pie -gráfico de barras vertical. -gráfico de barras horizontal. -gráfico compasso. -gráficos de linhas de nível. -gráficos de linhas de nível cheio. -cria uma janela gráfica. -gráfico de funções -histogramas. -mantém o gráfico corrente. -gráfico com escalas logarítmicas. -gráficos com uma trama (3-D). -gráfico combinado de mesh e countour (3-D). -cria as matrizes x e y necessárias para os gráficos 3-D -gráfico redondo. plot -gráfico de vectores e matrizes. -encontra um string dentro de outro. -converte a parte inteira do número em string -altera o string para letras minúsculas. -converte o número em string Exemplo: num2str(a) escreve até 4 casas decimais num2str(a,n) escreve até n caracteres strcat strcmp strcmpi upper -concatenação de strings -compara strings -compara strings sendo indiferente maiúsculas ou minúsculas -altera o string para letras maiúsculas. o uso de Outras funções eval feval func2str str2func fzero nargin nargout poly polyfit polyval roots Computação – Funções 6 -interpreta strings contendo expressões MATLAB -calcula o valor de funções. -constrói um string com o nome da função "handle" -constrói uma função "handle" de um string com o nome da função. -encontra o zero de uma função de uma variável próximo de um ponto dado. Exemplo:Encontra o zero de sen x próximo de 3 x = fzero(@sin,3) x= 3.1416 -número de argumentos de entrada (input) da função. -número de argumentos de saída (output) da função. -dá os coeficientes de um polinómio dado um vector com as raízes -dá os coeficientes de um polinómio que aprima uma lista de pontos dados no sentido dos "mínimos quadrados". -dá o valor do polinómio de um determinado grau em pontos conhecido o vector dos coeficientes do polinómio. -dá um vector com as raízes do polinómio conhecido o vector dos coeficientes do polinómio. Computação – Funções plot3 polar print saveas semilogx semilogy shading stairs stem3 subplot surf surfc -gráfico de linhas e pontos em 3-D -gráfico de coordenadas polares. -imprime o gráfico ou guarda-o num ficheiro. -guarda uma figura num ficheiro gráfico. -gráfico com escala logarítmica em x. -gráfico com escala logarítmica em y. -define o modo de sombrear. -gráfico em escada. -gráfico de dados discretos em 3-D -cria subdivisões numa figura. -gráfico com as facetas coloridas (3-D). -gráfico combinado de surf e countour (3-D). Anotações gráficas e grelhas axis clabel colorbar grid gtext legend text texlabel title xlabel ylabel zlabel -coloca eixos no gráfico. -adiciona rótulos aos contornos dos gráficos contour -barra com a escala das cores -traça redes nos gráficos. -coloca texto num gráfico usando o rato. -coloca legendas. -cria um texto (strings). -produz caracteres TeX dum string de caracteres -coloca títulos -rótulo no eixo dos x. -rótulo no eixo dos y. -rótulo no eixo dos z Precedência dos operadores 1. Parêntesis () 2. sinal mais (+), sinal menos (-), negação lógica (~) (operadores unários) 3. Transposta (.'), potência (.^), transposta da conjugada('), potência de matrizes (^) 4. Multiplicação (.*), divisão à direita (./), divisão à esquerda (.\), multiplicação de matrizes (*), divisão à direita de matrizes (/), divisão à esquerda de matrizes (\) 5. Adição (+), subtracção (-) 6. Operator (:) 7. Menor que (<), menor ou igual a (<=), maior que (>), maior ou igual a (>=), igual a (==), diferente de (~=) 8. conjunção lógica ∧ (&) 9. Disjunção lógica ∨ (|) 10. Circuito curto ∧ (&&) 11. Circuito curto ∨ (||) 8