Programação e Computadores Funções 2002/2003 Ana Maria Faustino Departamento de Engenharia Civil Programação e Computadores – Funções 1 Funções matemáticas elementares Trigonometria: sin - seno. sinh - seno hiperbólico. asin - inverso do seno (arsen). asinh - inverso do seno hiperbólico. cos - coseno. cosh / acos / acosh. tan - tangente. tanh / atan / atanh. sec - secante. sech / asec / asech. csc - Cosecante. csch / acsc / acsch. cot - Cotangent. coth / acot / acoth. Exponenciação: exp - exponencial (ex). log - logaritmo natural ou neperiano. log10 - logaritmo na base 10. log2 - logaritmo ns base 2 (e ... ver help). pow2 - 2x (e ... ver help). sqrt - x. nextpow2 - (ver help). Complexos: abs complex conj imag real isreal - valor absoluto a + bi = a 2 + b2 . - 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. Programação e Computadores – Funções Arredondamentos e restos: fix floor ceil round mod rem sign - arredonda para o número mais próximo de zero. - arredonda para o número mais próximo de − ∞ . - arredonda para o número 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 zeros - array de zeros. ones - array de uns. eye - matriz identidade. repmat - copia um array. rand - gera números aleatórios uniformemente distribuídos. randn - gera números aleatórios normalmente distribuídos. linspace - gera um vector linearmente espaçado. logspace - gera um vector logaritmicamente espaçado. Informação básica de arrays size - dimensão da matriz. length - comprimento do vector. ndims - Número de índices do array. disp - escreve uma matriz (ou texto). error - escreve mensagens de erro parando a execução. isempty - verdadeiro se a matriz é vazia. isequal - verdadeiro se os arrays são idênticos. isnumeric - verdadeiro se o array é numérico. islogical - verdadeiro se o array é lógico. logical - 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. 2 Programação e Computadores – Funções 3 Manipulação de matrizes cat diag flipdim fliplr - 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 flipud - troca as linhas das matrizes da cima para a baixo repmat - forma um array com cópias de outro array reshape - redimensiona uma matriz com m*n elementos rot90 - roda as matrizes 90 graus tril - parte triangular inferior de uma matriz triu - parte triangular superior de uma matriz Análise de dados cumprod - produto acumulado cumsum- soma acumulada factor - decompõe em factores primos max - elementos máximos de um array mean - média dos valores de um array median - mediana dos valores de um array min - elementos mínimos de um array perms - todas as permutações polyarea - área de um polígono dado pelos vértices primes - gera uma lista de números primos prod - produto de elementos de um array sort - ordena os elementos por ordem ascendente std - desvio padrão sum - soma de elementos de um array var - variância Conversão de sistemas de coordenadas cart2pol - transforma coordenadas cartesianas em polares ou cilíndricas cart2sph- transforma coordenadas cartesianas em esféricas pol2cart - transforma polares ou cilíndricas em coordenadas cartesianas sph2cart- transforma coordenadas esféricas em cartesianas Programação e Computadores – Funções 4 Funções de Vectores cross - produto vectorial de dois vectores de R3 dot - produto escalar de dois vectores intersect - determina a intersecção de dois vectores ismember - verdadeiro se o(s) elemento(s) pertencerem ao conjunto setdiff - determina os elementos que pertencem a um vector e não a outro setxor - dertermina os elementos que não pertencem à intersecção union - determina a reunião dos elementos sem repetições unique - elimina os elementos repetidos dos arrays Tempo e Datas calendar- dá o calendário de um dado mês. clock - dá as horas incluindo data cputime - tempo de CPU (em segundos) desde o início date - um "string" com a data datenum - dá o número em dias de uma data datestr - define o formato da data datevec - cria um vector com a data eomday - último dia de cada mês (ano) etime - diferença de tempo now - número com informação da data e tempo tic, toc - tic pára 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 Programação e Computadores – Funções 5 Funções Lógicas any - é 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]'; finite - 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 Programação e Computadores – Funções 6 Manipulação de strings findstr - encontra um string dentro de outro. int2str - converte a parte inteira do número em string lower - altera o string para letras minúsculas. num2str - converte o número em string Exemplo: num2str(a) escreve até 4 casas decimais num2str(a,n) escreve até n caracteres strcat - concatenação de strings strcmp - compara strings strcmpi - compara strings sendo indiferente o uso de maiúsculas ou minúsculas upper - altera o string para letras maiúsculas. Outras funções eval feval func2str str2func 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 fzero 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 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. poly polyfit polyval roots Programação e Computadores – Funções 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. 7 Programação e Computadores – Funções plot plot3 polar print saveas semilogx semilogy shading stairs stem3 subplot surf surfc gráfico de vectores e matrizes. 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 8