Baixe o app para aproveitar ainda mais
Prévia do material em texto
SCILAB TEMA: MINISTRANTES: ALINE E. RUBENICH VALDINILSON L. DA CUNHA PROGRAMAÇÃO DO MINICURSO 21/11: • Introdução do Software • Ambiente Scilab 22/11: • Operações básicas • Polinômios, Vetores e Matrizes 24/11 • Gráficos INTRODUÇÃO O que é scilab? -Software gratuito com ambiente gráfico para cálculo cientifico; -Fornece funções matemáticas que possibilita a interação com os programas em várias linguagens -Sofisticada estrutura de dados -Vários sistemas operacionais INTRODUÇÃO Onde utilizar? -Ambiente para desenvolvimento ou prototipação numérica -Utilização no ambientes acadêmicos e profissionais -Plataforma atualizada, permitindo avanços no desenvolvimento -Vasta bibliotecas, permitindo utilização de várias ferramentas AMBIENTE SCILAB AMBIENTE SCILAB AMBIENTE SCILAB AMBIENTE SCILAB AMBIENTE SCILAB AMBIENTE SCILAB AMBIENTE SCILAB Marcação da linha de comando e o cursor AMBIENTE SCILAB Comando Help: AMBIENTE SCILAB As operações aritméticas são digitados após o símbolo --> e em seguida tecla- se [ENTER] Exemplo: AMBIENTE SCILAB- COMANDO WHOS Variável Tipo %F Booleana %T Booleana %z Polinomial %s Polinomial %nan Constante %inf Constante COMPILER String %gtk Booleana %gui Booleana %pvm Booleana Variável Tipo %tk Booleana s Polinomial %t Booleana %f Booleana %eps Constante %io Constante %i Constante %e Constante %pi Constante AMBIENTE SCILAB Comando de diretório e arquivos: AMBIENTE SCILAB • < menor • <= menor ou igual • > maior • >= maior ou igual • == igual • ~= diferente • <> diferente • & e • | ou • ~ não Operação de comparação AMBIENTE SCILAB AMBIENTE SCILAB • 1. Nomes de variáveis começam com uma letra seguido de letras, algarismos ou sublinhados. Por exemplo: Alpha, notas, A1, B23 e cor_do_objeto; • 2. Caracteres especiais não são permitidos. Isto é, não é permitido usar #, $, &, %, ?, !, @, <, ~, etc; • 3. Caracteres acentuados não são permitidos; • 4. Nomes de variáveis são sensíveis a maiúsculas e minúsculas. Por exemplo, variável Alpha é diferente das variáveis ALPHA, alpha e AlPhA. De acordo com as regras acima, os seguintes nomes de variáveis são válidos: ALPHA, X, B1, B2, b1, matricula e MEDIA. Porém, estes nomes de variáveis são inválidos: 5B, 1b, nota[1], A/B e X@Z. Regras para nome de variáveis: AMBIENTE SCILAB A ausência ou presença do ponto e vírgula no final de um comando do Scilab visualiza ou suprime, respectivamente, o resultado do cálculo. Exemplo: Regras para ponto-e-vírgula: AMBIENTE SCILAB Quando um comando é longo demais para caber em uma única linha ele pode ser subdividido em duas ou mais linhas. Sempre que uma linha terminar com dois pontos “..”, o Scilab entende que a próxima linha é uma continuação da anterior e não um novo comando. Comando “..” : EXEMPLOS 1) Calcule a área e a circunferência de uma circunferência, cuja o raio é 3m através dos comandos do scilab. EXEMPLOS 1) Calcule a área e a circunferência de uma circunferência, cuja o raio é 3m através dos comandos do scilab. EXEMPLOS • a = 1; • Var _ 1 = 2; • 2var = 3; • esta variável = 3; • ítens = 2; • b = 2; • B = 3; • verifique se b e B têm o mesmo valor. 2) Verificar se é possível declarar as seguintes variáveis: EXEMPLOS 3) Usando a linha de comando do SCILAB resolva o seguinte problema: Um terreno A mede 0.5 m de largura por 0.3km de comprimento. O outro terreno B mede 8 m de largura por 40m de comprimento. Sabendo que o m² de cada terreno vale R$ 15,00, calcule a área total e o valor monetário necessário para se adquirir esses dois terrenos. EXEMPLOS • 3) EXEMPLOS 4) Crie algumas variáveis e atribua valores a elas usando, ou não, o caractere ; no final da linha. Em particular, verifique que o Scilab distingue letras maiúsculas de minúsculas. Para tanto, faça as seguintes atribuições (observe os “;”): ->var1=10; -->Var1=20; -->VAR1=30; Agora, exiba o valor dessas variáveis através dos comandos: -->var1 -->Var1 -->VAR1 EXEMPLO 5) Execute o comando: -->x =1.. -->+2.. -->+3.. -->+4 Observe qual valor que será o resultado. EXEMPLO 6) a) Calcule x²+y² para: x = sin(%pi/4) y = cos(%pi/4) b) Calcule: z= ans*432 EXEMPLO 6) Resposta: a)x=0.7071067811865474617150; y= 0.7071067811865475727373 x²+y²=1 b)432 EXEMPLO 7) Pense antes de resolver no Scilab: 2 * 3 + 4 2 * (3 + 4) 2 + 3 * 4 (2 + 3) * 4 2 / 3 + 4 (2 + 3) / 4 2+3 / 4 EXEMPLO 8) Calcule: a) cos(2*%pi) b) %e^2 EXEMPLO 9) O triplo de um número natural somado a 4 é igual ao quadrado de 5. Calcule-o: EXEMPLO 9) O triplo de um número natural somado a 4 é igual ao quadrado de 5. Calcule-o: 3*x+4=5^2 EXEMPLO 10) A idade de um pai é o quádruplo da idade de seu filho. Daqui a cinco anos, a idade do pai será o triplo da idade do filho. Qual é a idade atual de cada um? EXEMPLO 10) A idade de um pai é o quádruplo da idade de seu filho. Daqui a cinco anos, a idade do pai será o triplo da idade do filho. Qual é a idade atual de cada um? Resolução: Atualmente Filho: x Pai: 4x Futuramente Filho: x + 5 Pai: 4x + 5 4x + 5 = 3 * (x + 5) 4x + 5 = 3x + 15 4x – 3x = 15 – 5 x = 10 Pai: 4x → 4 * 10 = 40 O filho tem 10 anos e o pai tem 40 EXEMPLO 11) O dobro de um número adicionado ao seu triplo corresponde a 20. Qual é o número? EXEMPLO 11) O dobro de um número adicionado ao seu triplo corresponde a 20. Qual é o número? 2x + 3x = 20 EXEMPLO 12) A função real de variável real, definida por f (x) = (3 – 2a).x + 2, é crescente quando: a) a > 0 b) a < 3/2 c) a = 3/2 d) a > 3/2 e) a < 3 EXEMPLO 12) A função real de variável real, definida por f (x) = (3 – 2a).x + 2, é crescente quando: 3 – 2a > 0 EXEMPLO 12) A função real de variável real, definida por f (x) = (3 – 2a).x + 2, é crescente quando: a) a > 0 b) a < 3/2 c) a = 3/2 d) a > 3/2 e) a < 3 OPERAÇÕES BÁSICAS Operações matemáticas: Operação Sinal Soma + Subtração - Multiplicação * Divisão à direita / Divisão à esquerda \ Potenciação ^ EXEMPLO Execute os seguintes comandos: a)2+3 b)5*2 c)9-4 d)9^3 e)8/2 f)8\2 OPERAÇÕES BÁSICAS Funções Matemáticas Elementares: O Scilab oferece um grande número de funções matemáticas básicas como funções trigonométricas, exponenciais, logarítmicas, etc, como qualquer calculadora científica. EXEMPLO Execute os seguintes comandos: A) sind(90) B) sin(%pi/2) C) modulo(3,9) D) exp(3) E) help sign NÚMEROS COMPLEXOS Usando a variável pré-definida %i, os números complexos podem ser representados facilmente. Algumas operações básicas podem ser aplicadas aos números complexos: real Retorna a parte real Imag Retorna a parte imaginária Imult Multiplica o número por i isreal Verdadeiro se parte imaginária for zero EXEMPLO Execute os comandos e verifique os resultados: -->x=1+%i -->isreal(x) -->y=1-%i -->real(y) -->imag(y) -->x*y EXEMPLO Dados os seguintes números complexos, Z1 = 3 + 5i; Z2 = 7 + 3i, execute as seguintes operações: a) Z1 + Z2; b) b) Z1 * Z2; c) c) Z1 + sqrt(-20); d) d) Calcule os módulos de Z1 e Z2 e compare com abs(z); Lembre-se: | z |= a² +b² VARIÁVEL ans Toda vez que executamos um cálculo e o resultado não é armazenado explicitamenteem uma variável especificada, o Scilab armazena esse resultado em uma variável padrão denominada ans. Exemplo: Execute o comando: -->exp(3) -->t=log(ans) MATRIZES Criando Matrizes: • colchetes [,] delimitam o início e o fim da matriz; • vírgulas “,” separam os valores em diferentes colunas; • pontos e vírgulas “;” separam os valores de diferentes linhas EXEMPLO Crie a matriz: A = [1, 2, 3; 4, 5, 6] Verifique o resultado. A = 1. 2. 3. 4. 5. 6. Crie a matriz A=[1,2;3,4;5,6] Verifique o resultado. A = 1. 2. 3. 4. 5. 6. EXEMPLO Crie a matriz (após o elemento de valor igual a 3, digite <ENTER>) -->A = [1 2 3 -->4 5 6] VETORES Montando um vetor: • colchetes [,] delimitam o início e o fim do vetor; • vírgulas “,” separam os valores em diferentes colunas; • pontos e vírgulas “;” separam os valores de diferentes linhas Exemplo: a) Crie um vetor linha (, separando elementos) V1=[1,2,3,4] b) Crie um vetor coluna (; separando elementos) V1=[1;2;3;4] MATRIZES ESPECIAIS Comando Resultado eye(n,m) Gera a matriz identidade zeros(n,m) Inicializa todos os elementos com 0 ones(n,m) Inicializa todos os elementos com 1 Exemplo: a) eye(8,9) b) zeros(3,4) c) Ones(4,7) OPERAÇÕES COM MATRIZES E VETORES Adição e Subtração: Exemplo: a) A=[2 3 2;4 5 2;9 8 5] e B=[2 9 3; 1 5 9;5 7 9] A+B B+A B-A A-B OPERAÇÕES COM MATRIZES E VETORES Multiplicação e Divisão: Exemplo: a) A=[2 3 2;4 5 2;9 8 5] e B=[2 9 3; 1 5 9;5 7 9] A*B B*A A/B A\B OPERAÇÕES COM MATRIZES E VETORES Potenciação Exemplo: a) A=[2 3 2;4 5 2;9 8 5] e B=[2 9 3; 1 5 9;5 7 9] A^B B^A b) C=[1 2; 3 4] e D=[1 2; 3 4] C^D D^C OPERAÇÕES COM MATRIZES E VETORES Exemplo: Determine a matriz por correntes de malha OPERAÇÕES COM MATRIZES E VETORES Exemplo: Determine a matriz por correntes de malha 8 −4 −2 −4 10 −2 −2 −2 10 𝑖0 𝑖1 𝑖2 10 0 4 x = OPERAÇÕES COM MATRIZES E VETORES Transposta e Conjugada: O operador ‘ resulta na transposição da matriz e, se seus elementos forem números complexos, são substituídos pelos respectivos complexos conjugados. O operador ./ resulta apenas na matriz transposta. Se a matriz for real, os dois operadores têm resultado idêntico. Exemplo: a) A=[2 3 2;4 5 2;9 8 5] A’ A.’ b) B=[1+%i 2+%i; 3+%i 4+%i]. B’ B.’ POLINÔMIOS Os polinômios são criados no Scilab através da utilização da função poly • Exemplo: a) p = poly([1 2], ’s’) Com a função roots, mostra as raízes da função. • Exemplo: b)roots(p) EXEMPLO Usando a função roots do Scilab calcular as quatro raízes da equação polinomial: T(x) = 24 – 14x – 13x^2 + 2x^3 + x^4 = 0. POLINÔMIOS Polinômios podem ser multiplicados, divididos, somados ou subtraídos como mostra a sequencia de comandos. Exemplo: P=poly([1 2],’s’) e Q=poly([3 2],’s’) Multiplicação: P*Q Divisão P/Q Divisão de Polinômios: [r,Q]=pdiv(P,Q) Operações: EXEMPLOS 1) Dado os vetores, u = [2, 3], v = [-1, 4] e w = [-2, -1], determine: a) u + 2*v b) – u c) u – v d) 3*u – 2*v + w e) – u – v + 2*w EXEMPLOS 2) Determine a matriz do tipo 3x1 tal que 𝑎𝑖𝑗 = 𝑖 3 + 3 ∗ 𝑗 - Determine a matriz transposta da obtida 3) Qual é o resultado das seguintes expressões segundo o SCILAB: ((5+3)*2^2+7)*2 (5+3*2^2+7)*2 (5+3*2^(41)*2)+(53*2) (2*3)^(31)/(52)+6 EXEMPLOS 4) Considere os seguintes números complexos z1 = 10 + 2i, z2 = 5 – 3i e z3 = – 9 + 5i e calcule a sua soma 5) Calcule a subtração destes dois números complexos: z1 = 12 – 3i e z2 = 15 + 2i. EXEMPLOS 6) Dadas as matrizes ao lado, Calcule: 1. C = A + B 2. C = A-B 3. C = 10*A + 5*B 4. C = A + B*%i 5. A/B 6. A\B OPERAÇÕES MATRIZES DE POLINÔMIOS Os elementos da matriz podem ser polinômios: Exemplo: A = [1-2*s+s^3 3*s+4*s^2; s 2*s] OPERAÇÕES MATRIZES DE POLINÔMIOS Exercício: Dadas as matrizes de polinômios: A = [2*x^2+3*x x;1 x^3+2]; B = [3*x^4+x^2 x^5;8*x+1 5]; Calcule: • A*B • A/B OPERAÇÕES MATRIZES DE POLINÔMIOS • A*B • A/B GRÁFICOS O Scilab permite a criação de vários tipos de gráficos em 2D e 3D. Uma situação particularmente comum é encontrada quando se deseja construir o gráfico de uma função matemática conhecida. Exemplo: Construa o gráfico da função y=x² no intervalo [1,10] usando 50 pontos igualmente espaçados. Digite a seguinte sequência de comandos na console do Scilab: x=linspace(1,10,50); y=x^2; plot(x,y) GRÁFICO 2D GRÁFICO 2D Plot2s1:plotagem padrão (linear) De maneira similar a anterior, construa o gráfico da função y=sin(x^2), no intervalo [-π,π], usando 100 pontos igualmente espaçados. GRÁFICO 2D GRÁFICO 2D plot2d2: plotagem discreta (histograma ou degraus): x= linspace (-%pi,%pi,100); y=sin(x); plot2d2(x,y) GRÁFICO 2D GRÁFICO 2D plot2d3: plotagem em barras verticais: x= linspace (-%pi,%pi,100); y=sin(x); plot2d3(x,y) GRÁFICO 2D GRÁFICO 2D plot2d4: plotagem em setas: x= linspace (-%pi,%pi,100); y=sin(x); plot2d4(x,y) GRÁFICO 2D GRÁFICO 2D O comando fplot2d plota uma função definida por function ou deff. deff("x=s(t)",["x=2*sin(.3*t)"]); t=0:.1:16*%pi; fplot2d(t,s) GRÁFICO 2D GRÁFICO 2D O comando contour2d plota curvas de nível com base numa matriz de dados geométricos da superfície a ser modelada: nz=10; // número de níveis a=eye(5,10)+rand(5,10)+ones(5,10);// matriz para a plotagem z= min(a) + (1:nz)*(max(a) -min(a))/(nz+1); //valor numérico de cada nível x=size(a); contour2d(1:x(1),1:x(2),a,nz); GRÁFICO 2D GRÁFICO 2D O comando polarplot plota as variáveis em coordenadas polares: t= 0:.01:2*%pi; polarplot(sin(2*t),cos(5*t)); GRÁFICO 2D BODE Plotar o diagrama de Bode da seguinte função de transferência: H(s): s² +18s+100 s² + 6.06s + 102.01 BODE BODE GRÁFICOS 3D O comando mais utilizado é o plot3d. O seu uso pode ser observado na rotina a seguir: t=[0:0.1:2*%pi]'; z=(sin(t).*exp(t))*cos(t'); plot3d(t,t,z) GRÁFICO 3D GRÁFICOS 3D Um modo mais rápido é gerar superfícies a partir de funções definidas pelo comando deff, através do comando eval3d: x=-2:.1:2; y=x; deff('[z]=f(x,y)',['z= cos(x).*y']); z=eval3d(f,x,y); plot3d(x,y,z) GRÁFICOS 3D OBRIGADO A TODOS!
Compartilhar