Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação Orientada a Sistemas de Computação Simbólica Prof. Raphael Garcia SCILAB - Roteiro de Aulas - 2 # Funções matemáticas abs() - absoluto abs(3) = 3 abs(-3) = 3 sin() - seno em radianos – retorna o coeficiente seno de 30 graus = sin(30 * (%pi / 180)) = 0.5 cos() - cosseno em radianos tan() - tangente em radianos asin() - arcoseno – retorna o valor do ângulo (em radianos) Exemplo: aseno de 30 graus = asin(0.5) / %pi * 180 = 30 graus aseno de 45 graus = asin(0.707) / %pi * 180 = 45 graus Exercício: Qual o valor de X? tan(35 * %pi / 180) = 0.7002075 x = 0.7002075 * 5 = 3,5 acos() - arcocosseno – retorna o valor do ângulo (em radianos) atan() - arcotangente – retorna o valor do ângulo (em radianos) Exercício: Qual o valor do ângulo? atan(3.5 / 5) / %pi * 180 = 35 graus 3,5 5 ? X 5 35 graus sqtr() - raiz quadrada (square root) round() - arredondamento para o mais próximo (para cima) floor() - arredendamento para o baixo (chão) sign() - sinal do argumento ceil() - arredondamento para cima(teto) log() - logaritmo na base e (neperiano) log10() - logaritmo na base 10 exp() - exponencial tang() - tangente hiperbólica sinh() - seno hiperbólico cosh() - cosseno hiperbólico primes() - lista de valores primos menores que o argumento factorial() - fatorial # Comando de ajuda help comando ou função # Gráficos Bidimensionais Qual será o gráfico das funções abaixo? Comandos: linspace - cria um número de pontos igualmente espaçados num dado intervalo Forma geral: linspace(valor_inicial, ultimo_valor, numero de valores) Exemplo: >> linspace(1,10,100) – gera 100 pontos igualmente espaçados entre 1 e 10 >>x = linspace(0, 2 * %pi, 10); - gera 10 pontos no intevalo fechado [0,2pi] e associa os valores à variável x estruturada (vetorizada) >>x = linspace(-2*%pi, 2 * %pi, 60) Comando para Plotar Gráfico: “plot” Forma geral: >> plot(x,y); Exemplo: 01) >> x = linspace(-2 * %pi, 2 * %pi, 30); >> y = sin(x); >> plot(x,y); Realizar operação entre elementos vetores .* = multiplicação ./ = divisão .^ = potenciação x * y = x.*y x ^ y = x.^y Sejam x = (1, 2, 3) e y = (5, 6, 7). Os vetores podem ser gerados pelos comandos: >> x = linspace(1, 3, 3) - gera 3 pontos do 1 ao 3 >> y = linspace(5, 7, 3) – gera 3 pontos do 5 ao 7 Quais resultados das operações vetoriais de multiplicação e exponenciação? x = linspace(1,3,3) x = 1. 2. 3. y = linspace(5,7,3) y = 5. 6. 7. z = x.*y z = 5. 12. 21. FAZER O x.^y FAZER O x./y ALTERAR OS VALORES DOS INTERVALOS Verificar as diferenças gráficas nas seguintes funções: 1) y = sqrt(x) z = x2 -->x = linspace(0, 1, 30); -->y = sqrt(x); -->z = x .* x; -->plot(x,y,x,z); 2) y = x2 z = x3 3) y = 1/x z = 1/(x+1) w = 1/x2 4) y = sen x z = 2 sen x w = sen 2x 5) y = cos x z = 2 cos x w = cos 2x 6) y = x3 + 3x2 z = x3 + 2x2 + x + 1 # Configurações do gráfico plot(x, y, 'cmt') = criar gráfico no plano x,y com a cor 'c', marcador 'm' e tipo de linha 't' c = cor m = marcador t = tipo de linha Cores: b = azul g = verde r = vermelho c = ciano m = magenta y = amarelo k = preto w = branco Marcadores: símbolo marcador . ponto o círculo x x + + * estrela s quadrado d losango p pentragrama h hexagrama > triângulo a direita < triângulo a esquerda ^ triângulo para cima v triângulo para baixo Tipos de linha: - = contínua : = pontilhada -. = traços e pontos -- = tracejada Exemplo: Desenhar o gráfico da função na cor vermelha, com linha pontilhada e com marcadores estrela nos pontos de controle gerados no plano x,y x = linspace(0,2*%pi,30) y = sin(x) plot(x,y,'r*:') # Desenhando várias funções com atributos diferentes através do comando plot plot(x,y,'cmt', x,z,'cmt', x,w,'cmt'); x = linspace(0, 2 * %pi, 30); y = sin(x); z = sqrt(x); w = tan(x); plot(x,y,'r*-', x,z,'b>:', x,w,'go--'); O mesmo exemplo sem marcadores: plot(x,y,'b-', x,z,'c-', x, w, 'r-') # Acrescentrar dados ao gráfico mtlb_grid on title('Título do Gráfico') Legendas: Com uma função: h1 = legend(['sen(x)']); Com duas funções: h1 = legend(['sen(x)';'tan(x)']); Com posicionamento da legenda de 1 à 4, sendo: 1 = canto superior direito (default) 2 = canto superior esquerdo 3 = canto inferior esquerdo 4 = canto inferior direito Exemplos: h1 = legend(['sen(x)',[1]); A legenda será posicionada no canto superior direito h1 = legend(['sen(x)';'tan(x)'],[2]); A legenda será posicionada no canto superior esquerdo xlabel('seu texto') – nome para o eixo x ylabel('seu texto') – nome para o eixo y Exemplos: x = linspace(-2 * %pi, 2 * %pi, 50); y = sin(x); title('Função Seno'); xlabel('Espaço linear em x'); ylabel('y = seno(x)'); plot(x,y,'b+:'), ou x = linspace(-2 * %pi, 2 * %pi, 50); y = sin(x); plot(x,y,'b+:'), title('Função Seno'), xlabel('Espaço linear em x'), ylabel('y = seno(x)'); # Criar vários gráficos na mesma tela Comando: subplot(l, c, p), onde: l = linha c = coluna p = qual o painel que a função será gerada * Em cada painel é possível usar configurações diferentes para cor, marcador, tipo, title, xlabel e ylabel x = linspace(0, 2 * %pi, 40); y1 = sin(x); y2 = cos(x); y3 = 2 * sin(x).*cos(x); y4 = sin(x)./cos(x); subplot(2,2,1); // usar o painel 1 plot(x, y1); title('seno(x)'); mtlb_grid on subplot(2,2,2); // usar o painel 2 plot(x, y2); title('cosseno(x)'); mtlb_grid on subplot(2,2,3); // usar o painel 3 plot(x, y3); title('2 * seno(x) * cosseno(x)'); mtlb_grid on subplot(2,2,4); // usar o painel 4 plot(x, y4); title('seno(x) / cosseno(x) = tangente(x)'); mtlb_grid on Gráficos 3D x=[0 2 0 2 0 2 0 2]; // x, y e z são vetores y=[0 0 2 2 0 0 2 2]; z=[0 0 0 0 2 2 2 2]; plot3d(x,y,z) x = [0:0.1:2*%pi]'; y = x; z = cos(x) * sin(x'); plot3d(x, x, z)
Compartilhar