Baixe o app para aproveitar ainda mais
Prévia do material em texto
CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER ESCOLA SUPERIOR POLITÉCNICA BACHARELADO EM ENGENHARIA ELÉTRICA DISCIPLINA DE SINAIS E SISTEMAS ATIVIDADE PRÁTICA DE SINAIS E SISTEMAS ALUNO: PROFESSORA: VIVIANA R. ZURRO PORTO ALEGRE - RS 2020 SUMÁRIO RESUMO ................................................................................................................................................................ I 1 INTRODUÇÃO ............................................................................................................................................ 1 1.1 FUNDAMENTAÇÃO TEÓRICA ............................................................................................................ 1 1.2 OBJETIVO................................................................................................................................................ 1 2 METODOLOGIA ........................................................................................................................................ 2 2.1 ATIVIDADE 1- OPERAÇÕES BÁSICAS .......................................................................................................... 2 2.2 ATIVIDADE 2 – SISTEMAS LINEARES - CONVOLUÇÃO .................................................................................. 7 3 RESULTADOS E DISCUSSÃO ............................................................................................................... 14 4 CONCLUSÕES .......................................................................................................................................... 15 5 REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................................................... 15 i RESUMO Este trabalho tem atividades referente ao estudo de sinais e sistemas, e vem de forma prática fortalecer o estudo da matéria e capacitar para o uso do software SciLab, que é uma ótima ferramenta para auxiliar nas operações com sinais além de poder retornar graficamente, o que nos ajuda na visualização e comparação entre sinais e na compreensão do comportamento dos sinais e operações. As atividades foram divididas em duas, a primeira parte abrangendo operações mais básicas e a segunda tratando da convolução entre sinais. Palavras-chave: Convolução, sinais, sistemas, operações. Abstract: This work has activities related to the study of signals and systems, and it comes in a practical way to strengthen the study of the subject and to enable the use of the SciLab sof- tware, which is a great tool to assist in operations with signals in addition to being able to return graphically, which helps us to visualize and compare signals and to understand the behavior of signals and operations. The activities were divided into two, the first part covering more basic operations and the second dealing with the convolution between signals. Keywords: Convolution, signals, systems, operations. 1 1 INTRODUÇÃO Dependendo dos sinais a se trabalhar, o cálculo de seu comportamento pode ser bem ex- tenso e trabalhoso, então existem vários softwares matemáticos capazes de realizar essas ope- rações muito mais rapidamente, e ainda capazes de gerar gráficos com facilidade. Programas como o Matlab, o Octave, o Scilab e vários outros são bastante utilizados na engenharia para vários fins, e nesta atividade vamos realizar operações com o SciLab, gerar gráficos para com- paração e ainda realizar o cálculo de forma matemática. 1.1 FUNDAMENTAÇÃO TEÓRICA O Scilab é um software poderoso voltado a análise numérica. Além de possuir diversas funções para trabalhar com vetores, matrizes, polinômios, sistemas lineares e sinais diversos, podemos ainda em poucas linhas criar funções complexas utilizando a linguagem FORTRAN, C , C++ ou Java. Todas essas possibilidades o tornam um ambiente ótimo para estudo de sinais e sistemas e plotagem de gráficos em 2 ou 3 dimensões. 1.2 OBJETIVO Essa atividade contribui para o aprofundamento do estudo do conteúdo aqui trabalhado e nos faz conhecer o software matemático SciLab e algumas operações básicas com sinais. 2 2 METODOLOGIA 2.1 ATIVIDADE 1- OPERAÇÕES BÁSICAS Vamos iniciar criando funções, na aba “aplicativos” do Scilab e usamos a extensão “SciNotes”. Figura 1: Janela de programação do SciNotes Clicamos em novo e após digitar cada função, precisamos salvar e executar para que o Scilab reconheça como uma função e fique disponível para uso. Importante também salientar que as funções devem ser executadas toda vez que se iniciar o Scilab, caso contrário ele não as reco- nhecerá. Figura 2:botão salvar e executar do SciNotes A primeira tarefa da atividade um é criar duas funções, impulso unitário e degrau unitário. Para a função impulso unitário usamos os seguintes comandos: function [y]=impulso(x) //cria função com nome impulso e recebe argumento y y=zeros(1,length(x));//cria vetor de zeros vetor com uma linha e x colunas y(find(x==0))=1; //procura os zeros e substitui por um endfunction; // fim da função 3 Figura 3:Função impulso unitário Agora vamos criar a função degrau unitário: function [y]=degrau(x) //cria função chamada degrau que recebe argumento x e retorna y y=zeros(1,length(x)); //cria um vetor y de zeros com uma linha e length retorna quantas colunas de cordo com o vetor de entrada y(find(x>=0))=1; //onde x for maior que zero, altera valor para 1 endfunction //fim da função Figura 4:Função degrau unitário Agora vamos gerar um vetor n de -10 a 10 com intervalo 1. Usamos o seguinte comando na janela do Scilab: n=-10:10 // onde n é o nome do vetor, que vai de -10 a 10, com intervalo 1 4 Figura 5: Gerando vetor de -10 a 10 com intervalo de 1 Agora vamos criar mais uma função no SciNotes, lembrando que é só ir na aba aplicativos do Scilab e clicar em SciNotes. A função que vamos criar é esta: 𝑥[𝑛] = 𝑡𝑎𝑛( 𝑅𝑈7 2 𝑛 + 𝑅𝑈2𝜋 3 ) n>=0 Se RU7 for zero, adotar 3 para gerar a função. É meu caso, então para mim a função fica desta forma; 𝑥[𝑛] = 𝑡𝑎𝑛( 3 2 𝑛 + 3𝜋 3 ) n>=0 E os comandos no SciNotes ficam assim: function [y]=funcao(x) //cria função chamada funcao que recebe argumento x e retorna y y=tan(((3/2)*x)+ (((3* %pi)/3))); //realiza o cálculo e retorna resultado em y endfunction //fim da função Figura 6:Criando função para calcular x[n] Agora vamos gerar um sinal discreto y[n]=[RU1 RU2 RU3 RU4 RU5 RU6 RU7], onde RU4 corresponde ao valor da amostra n=0. Para meu RU então fica desta forma: y[n]=[2 3 4 3 9 8 0] 5 Para gerar esse sinal no Scilab, é necessário antes ter executado a função impulso para que o SciLab reconheça, e então usamos os comandos abaixo para gerar o sinal. y=2*impulso(n+3)+3*impulso(n+2)+4*impulso(n+1)+3*impulso(n)+9*impulso(n-1)+8*im- pulso(n-2)+0*impulso(n-3) Obtendo a seguinte resposta no programa: Figura 7: Gerando sinal discreto y[n] Agora vamos calcular a[n]=x[n]n. y[n] com o Scilab. Digitando os comandos: clc // limpar a tela x=funcao(n); //envia n para a função e armazena resultado em x a=x.*y //realiza a operação x[n]=tan (RU7*n/2 + RU2*%pi/3) Figura 8:Calculando a[n] 6 Agora vamos calcular b[n]=x[n]-y[n]. Os comandos usados foram: clc //limpar a a tela b=x-y // realiza o cálculo b[n]= x[n]-y[n] Figura 9:Calculando b[n] Vamos plotar os quatro gráficos em uma mesma janela para observar e comparar os resultados da atividade 1. //comandos de impressão dos gráficos //imprimir gráficos na mesma janela com as respectivas legendas e dimensões de 2 linhas x 2 colunas subplot(221);xtitle( 'x[n]', 'Amostra', 'Amplitude'); plot2d3(n,x); // posição 1 da janela subplot(222); xtitle( 'y[n]', 'Amostra', 'Amplitude'); plot2d3(n,y); // posição 2 da janela subplot(223); xtitle( 'a[n]=x[n].y[n]', 'Amostra', 'Amplitude'); plot2d3(n1,a); // posição 3 da janela subplot(224); xtitle( 'b[n] =x[n]-y[n]', 'Amostra', 'Amplitude'); plot2d3(n,b); // posição 4 da janela 7 Figura 10: Gráficos da atividade 1 2.2 ATIVIDADE 2 – SISTEMAS LINEARES - CONVOLUÇÃO Iniciamos gerando um vetor n de -5 a 5 com intervalo de 1, e um vetor n1 de -10 a 10 com intervalo de 1 para fazer o gráfico, já que a convolução retorna mais elementos que os vetores de entrada. Vamos inserir os comandos no terminal de programação para gerar esses vetores. n=-5:5 //cria vetor de -5 a 5 com intervalo de 1 n1=-10:10 //cria vetor de -10 a 10 com intervalo de 1 8 Figura 11:Gerando vetores n e n1 Agora vamos criar os sinais: x[n]=[RU1 RU2 RU3 RU4], onde RU2 é a amostra n=0 h1[n]=[RU1 RU2 0], onde 0 é a amostra n=0 h2[n]=[RU5 RU6 RU7], onde RU6 é a amostra n=0 Para meu RU : x[n]=[2 3 4 3] h1[n]=[2 3 0] h2[n]=[9 8 0] Os comandos ficam desta forma: clc //limpar a tela x=2*impulso(n+1)+3*impulso(n)+4*impulso(n-1)+3*impulso(n-2) // 𝑥[𝑛] = [𝑅𝑈1 𝑅𝑈2 𝑅𝑈3 𝑅𝑈4], RU2 = n=0, RU➔2343 h1=2*impulso(n+2)+3*impulso(n+1) //h1[n]=[RU1 RU2 0], 0 é a amostra n=0, RU ➔ 23 h2=9*impulso(n+1)+ 8*impulso(n) // h2[n]=[RU5 RU6 RU7], RU6 =n=0, RU➔980 9 Figura 12: Gerando sinais x[n], h1[n] e h2[n] Agora que já temos os sinais, vamos fazer o seguinte cálculo: y[n]=x[n] * (h1[n]+h2[n]) Então no terminal digitamos o comando: clc //limpar a tela y=conv(x,(h1+h2)) // y[n]= x[n]* (h1[n]+h2[n]) Figura 13:Calculando 𝑦[𝑛] = 𝑥[𝑛] ∗ (ℎ1[𝑛] + ℎ2[𝑛]) Segue a resolução matemática do cálculo que acabamos de fazer usando o SciLab: Vou começar somando os sinais h1[n] e h2[n]. H1 ➔ 0 0 0 2 3 0 0 0 0 0 0 + H2 ➔ 0 0 0 0 9 8 0 0 0 0 0 H ➔ 0 0 0 2 12 8 0 0 0 0 0 10 Agora h tem a soma dos vetores h1[n] e h2[n], então vou calcular a convolução de x[n] com h[n]. x[0] x h[0]=0 x[0] x h[0] + x[0] x h[0] = 0 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 0 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[2] = 0 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[2] = 0 x[2] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[2] + x[0] x h[12] = 0 x[3] x h[0] + x[2] x h[0] + x[0] x h[0] + x[0] x h[2] + x[0] x h[12] + x[0] x h[8] = 0 x[4] x h[0] + x[3] x h[0] + x[2] x h[0] + x[0] x h[2] +x[0] x h[12]+ x[0] x h[8] +x[0] x h[0]= 0 x[3] x h[0] + x[4] x h[0] + x[3] x h[0] + x[2] x h[2]+ x[0] x h[12] + x[0] x h[8] + x[0] x h[0] + x[0] x h[0] = 4 x[0] x h[0] +x[3] x h[0] + x[4] x h[0] + x[3] x h[2] + x[2] x h[12]+ x[0] x h[8] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 30 x[0] x h[0] + x[0] x h[0] + x[3] x h[0] + x[4] x h[2] + x[3] x h[12] + x[2] x h[8]+ x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 60 x[11] x h[0] + x[0] x h[0] + x[0] x h[2] + x[3] x h[12] + x[4] x h[8] + x[3] x h[0]+ x[2] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 78 x[0] x h[0] + x[0] x h[2] + x[0] x h[12] + x[3] x h[8] + x[4] x h[0]+ x[3] x h[0] + x[2] x h[0] + x[0] x h[0] + x[0] x h[0] = 24 x[0] x h[2] + x[0] x h[12] + x[0] x h[8] + x[3] x h[0]+ x[4] x h[0] + x[3] x h[0] + x[2] x h[0] + x[0] x h[0] = 0 x[0] x h[12] + x[0] x h[8] +x[0] x h[0]+ x[3] x h[0] + x[4] x h[0] + x[3] x h[0] + x[2] x h[0]= 0 x[0] x h[8] + x[0] x h[0]+ x[0] x h[0] + x[3] x h[0] + x[4] x h[0] + x[3] x h[0] = 0 x[0] x h[0]+ x[0] x h[0] + x[0] x h[0] + x[3] x h[0] + x[4] x h[0] = 0 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[3] x h[0] = 0 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 0 x[0] x h[0] + x[0] x h[0] = 0 x[0] x h[0] = 0 y[n]=[0 0 0 0 0 0 0 4 30 60 78 68 24 0 0 0 0 0 0 0 0] Vamos plotar os sinais da atividade dois primeira parte em uma única janela a fim de observar os resultados. Os comandos para plotar são: clc //limpar a tela // imprimir gráficos na mesma janela com as respectivas legendas e dimensões de 2 linhas x 2 colunas subplot(221); xtitle( 'x[n]=[RU1 RU2 RU3 RU4]', 'Amostra', 'Amplitude'); plot2d3(n,x); subplot(222); xtitle( 'h1[n]=[RU1 RU2 0]', 'Amostra', 'Amplitude'); plot2d3(n,h1); subplot(223); xtitle( ' h2[n]=[RU5 RU6 RU7]', 'Amostra', 'Amplitude'); plot2d3(n,h2); subplot(224); xtitle( 'y[n]=x[n]* (h1[n]+h2[n])', 'Amostra', 'Amplitude'); plot2d3(n1,y); 11 Figura 14: Gráficos dos sinais da atividade 2 primeira parte Agora vamos para a segunda parte da atividade dois, calcular y[n]= x[n]*h1[n] + x[n]*h2[n]. Para o SciLab isso pode ser feito em apenas uma linha de comando, pois já temos os sinais criados, então no terminal digitamos: clc // para limpar a tela novamente y=conv(x,h1) + conv(x,h2) // y[n]= (x[n]* h1[n] ) + (x[n]* h2[n]) Abaixo segue a resolução matemática do cálculo. Farei o cálculo separado de cada convolução e no final a soma das convoluções. A convolução x[n] * h1[n]: 12 x[0] x h[0] = 0 x[0] x h[0] + x[0] x h[0] = 0 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 0 x[0] x h[2] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 0 x[0] x h[2] + x[0] x h[2] + x[0] x h[0] + x[0] x h[0] + x[2] x h[0] = 0 x[0] x h[0] + x[0] x h[2] + x[0] x h[2] + x[0] x h[0] + x[2] x h[0] + x[3] x h[0] = 0 x[0] x h[0] + x[0] x h[0] + x[0] x h[2] + x[0] x h[2] + x[2] x h[0] + x[3] x h[0] + x[4] x h[0]= 0 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[2] + x[2] x h[2] + x[3] x h[0] + x[4] x h[0] + x[0] x h[0] = 4 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[2] x h[2] + x[3] x h[2] + x[4] x h[0] + x[0] x h[0] + x[0] x h[0] = 12 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[2] x h[0] + x[3] x h[2] + x[4] x h[2] + x[3] x h[0] + x[0] x h[0] + x[0] x h[0] = 17 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[2] x h[0] + x[3] x h[0] + x[4] x h[2] + x[3] x h[2] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 18 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[2] x h[0] + x[3] x h[0] + x[4] x h[0] + x[3] x h[2] + x[0] x h[2] + x[0] x h[0] + x[0] x h[0]= 9 x[0] x h[0] + x[0] x h[0] + x[2] x h[0] + x[3] x h[0] + x[4] x h[0] + x[3] x h[0] + x[0] x h[2] + x[0] x h[2] + x[0] x h[0] = 0 x[0] x h[0] + x[2] x h[0] + x[3] x h[0] + x[4] x h[0] + x[3] x h[0] + x[0] x h[0] + x[0] x h[2] + x[0] x h[2] = 0 x[2] x h[0] + x[3] x h[0] + x[4] x h[0] + x[3] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[2] =0 x[3] x h[0] + x[4] x h[0] + x[3] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 0 x[4] x h[0] + x[3] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 0 x[3] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 0 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 0 x[0] x h[0] + x[0] x h[0] = 0 x[0] x h[0] = 0 x[n]* h1[n] =[0 0 0 0 0 0 0 4 12 17 18 9 0 0 0 0 0 0 0 0 0] Agora a convolução x[n] * h2[n]: x[0] x h[0] = 0 x[0] x h[0] + x[0] x h[0] = 0 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 0 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 0 x[0] x h[9] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[2] x h[0] = 0 x[0] x h[8] + x[0] x h[9] + x[0] x h[0] + x[0] x h[0] + x[2] x h[0] + x[3] x h[0] = 0 x[0] x h[0] + x[0] x h[8] + x[0] x h[9] + x[0] x h[0] + x[2] x h[0]+ x[3] x h[0] + x[4] x h[0] = 0 x[0] x h[0] + x[0] x h[0] + x[0] x h[8] + x[0] x h[9] + x[2] x h[0] + x[3] x h[0] + x[4] x h[0] + x[3] x h[0] = 0 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[8] + x[2] x h[9] + x[3] x h[0] + x[4] x h[0] + x[3] x h[0] + x[0] x h[0] = 18 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[2] x h[8] + x[3] x h[9] + x[4] x h[0] + x[3] x h[0] + x[0] x h[0] + x[0] x h[0] = 43 x[0]x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[2] x h[0] + x[3] x h[8] + x[4] x h[9] + x[3] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 60 x[0] x h[0] + x[0] x h[0] + x[0] x h[0] + x[2] x h[0] + x[3] x h[0] + x[4] x h[8] + x[3] x h[9] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] = 59 13 x[0] x h[0] + x[0] x h[0] + x[2] x h[0] + x[3] x h[0] + x[4] x h[0] + x[3] x h[8] + x[0] x h[9] + x[0] x h[0] + x[0] x h[0] = 24 x[0] x h[0] + x[2] x h[0] + x[3] x h[0] + x[4] x h[0] + x[3] x h[0] + x[0] x h[8] + x[0] x h[9] + x[0] x h[0] = 0 x[2] x h[0] + x[3] x h[0] + x[4] x h[0] + x[3] x h[0] + x[0] x h[0] + x[0] x h[8] +x[0] x h[9]= 0 x[3] x h[0] + x[4] x h[0] + x[3] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[8] =0 x[4] x h[0] + x[3] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] =0 x[3] x h[0] + x[0] x h[0] + x[0] x h[0] + x[0] x h[0] =0 x[3] x h[0] + x[0] x h[0] + x[0] x h[0] =0 x[3] x h[0] + x[0] x h[0] =0 x[0] x h[0] =0 x[n]*h2[n] =[0 0 0 0 0 0 0 0 18 43 60 59 24 0 0 0 0 0 0 0 0] Agora a soma do resultado das convoluções: x[n] * h2[n] = [0 0 0 0 0 0 0 0 18 43 60 59 24 0 0 0 0 0 0 0 0] x[n] * h1[n] = [0 0 0 0 0 0 0 4 12 17 18 9 0 0 0 0 0 0 0 0 0] y[n]= = [0 0 0 0 0 0 0 4 30 60 78 68 24 0 0 0 0 0 0 0 0] Vamos plotar os sinais da atividade dois segunda parte em uma única janela a fim de observar os resultados. Os comandos para plotar são: clc //limpar a tela // imprimir gráficos na mesma janela com as respectivas legendas e dimensões de 2 linhas x 2 colunas subplot(221); xtitle( 'x[n]=[RU1 RU2 RU3 RU4]', 'Amostra', 'Amplitude'); plot2d3(n,x); subplot(222); xtitle( 'h1[n]=[RU1 RU2 0]', 'Amostra', 'Amplitude'); plot2d3(n,h1); subplot(223); xtitle( ' h2[n]=[RU5 RU6 RU7]', 'Amostra', 'Amplitude'); plot2d3(n,h2); subplot(224); xtitle( 'y[n]=x[n]*h1[n] + x[n]+h2[n]', 'Amostra', 'Amplitude'); plot2d3(n1,y); 14 Figura 15:Gráficos dos sinais da atividade 2 segunda parte 3 RESULTADOS E DISCUSSÃO Podemos observar que na atividade dois ambos os cálculos resultaram em valores iguais. Isso ocorre devido a propriedade distributiva da convolução em relação a soma. A propriedade distributiva nos diz que: ][*][][*][])[][(*][ 2121 nhnxnhnxnhnhnx +=+ 15 Figura 16: Propriedade distributiva 4 CONCLUSÕES Nesta atividade pudemos aprender comandos básicos do funcionamento do software SciLab, além de aprimorar o conhecimento no conteúdo trabalhado para seu desenvolvimento. Também fica evidente a diferença entre realizar os cálculos matemáticos e usar um software para tal, podendo gerar com facilidade gráficos onde comparamos os sinais e suas operações. 5 REFERÊNCIAS BIBLIOGRÁFICAS Material disponível no AVA. OPPENHEIM, Alan. Sinais e Sistemas. Ed Pearson, 2010. WIKIPIÉDIA, Convolução. Disponível em: < https://pt.wikipedia.org/wiki/Con- volu%C3%A7%C3%A3o> Acesso em: 31 ago. 2020. WIKIPIÉDIA, Scilab. Disponível em: < https://pt.wikipedia.org/wiki/Scilab#:~:text=Sci- lab%20%C3%A9%20uma%20linguagem%20de,%2C%20For- tran%2C%20ou%20C%2B%2B> Acesso em: 31 ago. 2020. https://pt.wikipedia.org/wiki/Convolu%C3%A7%C3%A3o https://pt.wikipedia.org/wiki/Convolu%C3%A7%C3%A3o https://pt.wikipedia.org/wiki/Scilab#:~:text=Scilab%20%C3%A9%20uma%20linguagem%20de,%2C%20Fortran%2C%20ou%20C%2B%2B. https://pt.wikipedia.org/wiki/Scilab#:~:text=Scilab%20%C3%A9%20uma%20linguagem%20de,%2C%20Fortran%2C%20ou%20C%2B%2B. https://pt.wikipedia.org/wiki/Scilab#:~:text=Scilab%20%C3%A9%20uma%20linguagem%20de,%2C%20Fortran%2C%20ou%20C%2B%2B.
Compartilhar