Baixe o app para aproveitar ainda mais
Prévia do material em texto
INFORMÁTICA APLICADA A Faculdade Multivix está presente de norte a sul do Estado do Espírito Santo, com unidades presenciais em Cachoeiro de Itapemirim, Cariacica, Castelo, Nova Venécia, São Mateus, Serra, Vila Velha e Vitória, e com a Educação a Distância presente em todo estado do Espírito Santo, e com polos distribuídos por todo o país. Desde 1999 atua no mercado capixaba, destacando-se pela oferta de cursos de graduação, técnico, pós-graduação e extensão, com qualidade nas quatro áreas do conhecimento: Agrárias, Exatas, Humanas e Saúde, sempre primando pela qualidade de seu ensino e pela formação de profissionais com consciência cidadã para o mercado de trabalho. Atualmente, a Multivix está entre o seleto grupo de Instituições de Ensino Superior que possuem conceito de excelência junto ao Ministério da Educação (MEC). Das 2109 instituições avaliadas no Brasil, apenas 15% conquistaram notas 4 e 5, que são consideradas conceitos de excelência em ensino. Estes resultados acadêmicos colocam todas as unidades da Multivix entre as melhores do Estado do Espírito Santo e entre as 50 melhores do país. MISSÃO Formar profissionais com consciência cidadã para o mercado de trabalho, com elevado padrão de quali- dade, sempre mantendo a credibilidade, segurança e modernidade, visando à satisfação dos clientes e colaboradores. VISÃO Ser uma Instituição de Ensino Superior reconhecida nacionalmente como referência em qualidade educacional. R E I TO R GRUPO MULTIVIX R E I 2 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 3 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 BIBLIOTECA MULTIVIX (Dados de publicação na fonte) Daisy Assmann Lima Informática Aplicada/ LIMA A, D - Multivix, 2022 Catalogação: Biblioteca Central Multivix 2022 • Proibida a reprodução total ou parcial. Os infratores serão processados na forma da lei. 4 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 LISTA DE FIGURAS Gráfico do Matlab 12 Programação 13 Funcionalidades 14 Desenho de imagens 15 Logomarca do Matlab 16 Área de trabalho do Matlab 17 Janela de comando do Matlab 19 Programador de MATLAB 21 Workspace do MATLAB 22 Programação 23 Comandos para gerenciar a área de trabalho 24 Códigos de programação 24 Caminhos de busca 25 Alerta 26 Comandos de sistema, diretórios e arquivos 27 Programando 28 Tela do computador 29 Tela do computador 30 Linhas de código 34 Linhas de código 35 Principais funções predefinidas do MATLAB 37 Matrizes multidimensionais 38 Valores de dados para matrizes 40 Código 42 Funções mais comuns do MATLAB 43 Projeto de programas 44 Programas 47 Processo para projetar programas 50 Principais operadores relacionais do MATLAB 53 Operadores relacionais do MATLAB 53 Principais operadores lógicos do MATLAB 54 5 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Tabelas-Verdade para operadores lógicos do MATLAB 54 Números 59 Representação de um número complexo 60 Coordenada polar 60 Coordenadas polares 61 Números 63 Principais funções relacionadas com números complexos do MATLAB 64 Diagrama de um número complexo do MATLAB 65 Gráfico de haste do MATLAB 66 Gráfico de escada do MATLAB 67 Gráfico de barras do MATLAB 68 Gráfico de pizza do MATLAB 68 Gráfico de bússola do MATLAB 69 Principais funções adicionais de diagramação bidimensional do MATLAB 70 Histograma do MATLAB 73 Diagrama bidimensional do MATLAB 74 Diagrama tridimensional do MATLAB 75 Diagrama de malha do MATLAB 76 Diagrama de superfície do MATLAB 76 Diagrama de nível do MATLAB 77 Principais funções de entrada e de saída do MATLAB 79 Opções de configuração da fopen do MATLAB 80 Arquivos 81 Análise de dados 87 Dados 88 Excel 89 Excel 91 Excel 92 Excel 93 Excel 93 Planilhas 94 Planilha de Excel 98 Editar tabela 99 6 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Tabela 99 Tabela 100 Tabela 101 Números 102 Números 103 Números 103 Números 104 Tabela 108 Tabela com dados 114 Tabela dinâmica no Excel 115 Formas 117 Itens de uma tabela dinâmica 118 Estrutura de uma tabela dinâmica 119 Campos da Tabela Dinâmica 122 Configurações do Campo de Valor 122 Configurações do Campo de Valor 123 Campos de um gráfico dinâmico 125 Linha de tendência 128 Mais Opções de Linha de Tendência 129 Painel Formatar Linha de Tendência 129 Opção Linear em Formatar Linha de Tendência 130 Linha de tendência de melhor ajuste 130 Formatar Linha de Tendência 131 Formas geométricas 132 Suplementos 134 Análise 135 Análise de dados 135 Estatística 137 Níveis de significância 138 Números 139 Regra de decisão 140 Teste-t: duas amostras presumindo variâncias diferentes 141 Estatísticas do Teste-t: duas amostras presumindo variâncias diferentes 142 7 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Lógica 146 Programador 146 Códigos 148 Programando em VBA 151 Análise 153 Atalhos mais usados em VBA 154 Programação 155 Programando 159 Programação 161 Tabelas 162 Excel 163 Guia Desenvolvedor 164 Análise 165 Gravar Macro 166 8 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 1UNIDADE SUMÁRIO APRESENTAÇÃO DA DISCIPLINA 10 INTRODUÇÃO DA UNIDADE 12 1.1 O AMBIENTE MATLAB 12 1.2 EDIÇÃO/DEPURAÇÃO DO MATLAB 22 2 MATLAB BÁSICO 33 2.1 INICIANDO VARIÁVEIS NO MATLAB 33 2.1.1 INICIANDO VARIÁVEIS EM EXPRESSÕES DE ATRIBUIÇÃO 33 2.2 MATRIZES MULTIDIMENSIONAIS 38 2.2.2 .ACESSANDO MATRIZES MULTIDIMENSIONAIS COM UM ÚNICO SUBSCRIPT 40 2.4 EXPRESSÕES DE RAMIFICAÇÕES DE PROJETO DE PROGRAMA 44 3 DADOS COMPLEXOS, DADOS DE CARACTERES E TIPOS ADICIONAIS DE DIAGRAMAS 58 INTRODUÇÃO DA UNIDADE 58 3.1 DADOS COMPLEXOS 58 3.2 DIAGRAMAS BIDIMENSIONAIS ADICIONAIS 65 4. INTRODUÇÃO À ANÁLISE DE DADOS COM EXCEL 86 INTRODUÇÃO DA UNIDADE 86 4.1 TÉCNICAS BÁSICAS DE ANÁLISE DE DADOS 86 4.2 OBTENDO DADOS 104 5. ANÁLISE DE DADOS COM TABELAS E GRÁFICOS 113 INTRODUÇÃO DA UNIDADE 113 5.1 CRIANDO E USANDO TABELAS DINÂMICAS 113 5.2 FERRAMENTAS DE ANÁLISE DE DADOS 127 6 PROGRAMAÇÃO VBA-EXCEL 145 INTRODUÇÃO DA UNIDADE 145 6.1 INTRODUÇÃO AO VBA 145 6.2 PROGRAMAÇÃO VBA 159 9 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ATENÇÃO PARA SABER SAIBA MAIS ONDE PESQUISAR DICAS LEITURA COMPLEMENTAR GLOSSÁRIO ATIVIDADES DE APRENDIZAGEM CURIOSIDADES QUESTÕES ÁUDIOSMÍDIAS INTEGRADAS ANOTAÇÕES EXEMPLOS CITAÇÕES DOWNLOADS ICONOGRAFIA 10 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 APRESENTAÇÃO DA DISCIPLINA Este curso de Informática Aplicada vai permitir que o estudante conheça o software MATLAB para desenvolver técnicas e habilidades para aplicar cálculos matemáticos. Adicionalmente, o estudante aprenderá a realizar análise de dados com o uso do Excel. Dessa forma, será possível utilizar métodos analíticos em estatística. Por meio do Excel, aprenderá a construir gráficos, planilhas, bem como aplicar macros e códigos VBA de forma que haja a interação com outras aplicações. Atualmente, o profissional precisa ser versátil e, portanto, habilitado a navegar em diferentes softwares. Essa habilidade facilita o trabalho e também permite que o aluno foque na essência das atividades e não na parte operacional. O profissional precisa possuir habilidades analíticas, já que softwares como o MATLAB e Excel promovema análise de dados e automação de tarefas. Bons estudos! UNIDADE 1 OBJETIVO Ao final desta unidade, esperamos que possa: 11 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA > Entender como o MATLAB funciona. > Desenvolver os primeiros conceitos sobre o software. 12 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA INTRODUÇÃO DA UNIDADE O MATLAB funciona por meio de scripts com códigos, bem como por meio da interface de uso do sistema. Dessa forma, o usuário poderá efetuar análises de bases de dados e extrair insights e informações relevantes sobre o objeto de estudo. No caso da engenharia, o software MATLAB é particularmente relevante, tendo em vista que, frequentemente, a área necessita de cálculos mais rebuscados relacionados com cálculos de otimização e numéricos. Assim, vamos compreender o seu funcionamento básico, além dos primeiros conceitos sobre o MATLAB. Bons estudos! 1.1 O AMBIENTE MATLAB O MATLAB é um software pago que representa o acrônimo de MATriz LABoratory, que em português significa “Laboratório de Matrizes”. É um programa de computador de uso específico, otimizado para executar cálculos científicos e de engenharia (CHAPRA, 2013). GRÁFICO DO MATLAB Fonte: Wikimedia commons (2022). #pratodosverem: imagem que representa um gráfico do Matlab. 13 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 O MatLAb surgiu como um programa para operações matemáticas sobre matrizes, mas, ao longo dos anos, transformou-se em um sistema computacional flexível capaz de resolver essencialmente qualquer problema técnico (CHAPRA, 2013). O programa MATLAB implementa a linguagem MATLAB e oferece uma ampla biblioteca de funções predefinidas para que a programação técnica se torne mais fácil e eficiente. PROGRAMAÇÃO Fonte: Wikimedia commons (2022). #pratodosverem: imagem que representa um homem programando. Com uma vasta quantidade de funções, é muito mais fácil resolver problemas técnicos em MATLAB do que em outras linguagens, como Fortran ou C. Para saber mais, assista ao vídeo “O que é MATLAB?”. https://www.youtube.com/watch?v=i2gX28Y7PeU 14 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA O MATLAB apresenta muitas vantagens em comparação com outras linguagens de programação para resoluções de problemas técnicos, como é o caso de: A facilidade de uso Sendo o MATLAB uma linguagem interpretada, assim como versões do Basic (PALM, 2014). A independência da plataforma O MATLAB tem suporte nos principais sistemas operacionais de computadores, proporcionando uma independência na plataforma. Temos versões do software para Windows, LINUX, entre outros (PALM, 2014). Solução de problemas técnicos Vale-se de funções predefinidas (PALM, 2014). O software é completo e dispõe de uma grande biblioteca de funções já preestabelecidas. Essas funções já representam soluções testadas e empacotadas para diversas tarefas técnicas básicas. FUNCIONALIDADES Fonte: Wikimedia commons (2022). #pratodosverem: imagem que representa dois homens discutindo sobre problemas e funcionalidades de um software. 15 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Podemos resolver problemas diversos com o MATLAB, tais como: • processamento de sinais; • sistemas de controle; • comunicações; • processamento de Imagens; • redes neurais. Um grande diferencial da linguagem de programação MATLAB é a possibilidade do desenho de imagens. Após a resolução de um problema técnico, um desenho ou imagem podem ser apresentados e essa imagem pode ser emitida por um outro dispositivo de saída. Dessa forma, o MATLAB se torna uma ferramenta excepcional para a apresentação de dados técnicos. DESENHO DE IMAGENS Fonte: Wikimedia commons (2022). #pratodosverem: imagem que representa duas pessoas desenhando e organizando imagens em um software. O ambiente MATLAB, além de ser um amigável e de fácil utilização, tem total capacidade para a resolução de problemas complexos. Quando iniciado, o programa apresenta uma interface chamada de área de trabalho, integrando várias ferramentas de gerenciamento de arquivos, variáveis e aplicações. 16 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA O MATLAB é uma ferramenta impressionante e com diversas aplicações. O curso tem por objetivo explorar, de maneira abrangente, e aprofundar as aplicações do software. LOGOMARCA DO MATLAB Fonte: Wikimedia commons (2022). #pratodosverem: imagem que representa a logomarca do Matlab. O programa é amplamente utilizado por profissionais da área de exatas, como matemáticos, estatísticos, economistas, engenheiros e cientistas de dados. É um sistema versátil que viabiliza a resolução de problemas técnicos especializados. Vamos lá! 1.1.1 ÁREA DE TRABALHO Para acessar a área de trabalho do MATLAB, primeiro precisamos entrar no software, em um sistema Windows, e clicar no ícone do MATLAB. Depois disso, iremos identificar a tela da Área de Trabalho (Desktop) do software, conforme podemos observar na imagem a seguir. 17 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 A área de trabalho organiza a janela de comandos, que pode ser identificada pela Command Window do MATLAB e o Navegador de Ajuda (Help Browser), e assim por diante (PALM, 2014). ÁREA DE TRABALHO DO MATLAB Fonte: elaborado pela autora (2022). #pratodosverem: imagem que representa a área de trabalho do Matlab. A área de trabalho é composta por cinco janelas, conforme Chapman (2018): Janela de comandos que está na parte inferior é aqui que os comandos são digitados no prompt. Caso seja a sua intenção implementar algum programa, projeto ou trabalho, então devemos usar o M-File Editor. Nesse editor, é possível criar um arquivo de texto com a extensão “.m” com os comandos almejados. Janela de histórico de comandos (Command History) Exibe um log de instruções que você executou nas sessões usadas agora e anteriormente no MATLAB; 18 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA Janela do espaço de trabalho (Workspace) Esta área contém variáveis que você cria ou importa para o MATLAB a partir de arquivos de dados ou, até mesmo, de outros programas. Você pode visualizar e editar o conteúdo da área de trabalho no navegador da área de trabalho ou na janela de comando. Janela de detalhes (Details Window) Evidencia detalhes completos dos arquivos no diretório de trabalho em que você está trabalhando. Uma observação relevante é que as janelas podem ser reorganizadas de acordo com as suas preferências pessoais e forma de trabalhar, incluindo a possibilidade de arrastar as janelas para fora do ambiente de trabalho do MATLAB. Janela de diretório atual (Current Directory) É o local em que os arquivos são armazenados. Você sempre pode executar seus arquivos, pois o MATLAB acrescenta automaticamente a pasta userpath ao topo do caminho de pesquisa. Na primeira vez que você executa uma nova versão do MATLAB, é criada uma pasta userpath. Temos, também, na parte superior da Área de Trabalho, uma linha de nomes de menu e uma linha de ícones denominada Barra de Ferramentas (toolbar). Há, adicionalmente, uma caixa que identifica o diretório no qual o MATLAB faz a gestão de arquivos, como buscar e salvar. Você sabe como funciona o ambiente do MATLAB? Assista ao vídeo de apresentação do curso e do ambiente do MATLAB. https://www.youtube.com/watch?v=XyNI0-DP-0o&list=PLJoR6gvpdNEZLB-Epf9csRTLhubXSnrzs&index=1 19 INFORMÁTICAAPLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 1.1.2 COMANDOS A janela de comandos é o meio que usamos para inserir instruções no MATLAB, como comandos propriamente ditos, funções e sentenças. Assista ao vídeo, Command Window, criação e nomeação de variáveis escalares, e primeiros comandos no MATLAB para conhecer mais sobre Command Window. Todas essas instruções serão lançadas no prompt, que é indicado pelo símbolo (>>), para sinalizar que ele já pode receber os mais variados tipos de comandos (CHAPMAN, 2018). Atente-se para a imagem da janela de comando a seguir. JANELA DE COMANDO DO MATLAB Fonte: elaborado pela autora (2022). #pratodosverem: imagem que representa a janela de comando do Matlab. https://www.youtube.com/watch?v=nsE7upK0dQc&list=PLJoR6gvpdNEZLB-Epf9csRTLhubXSnrzs&index=2 20 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA Nessa janela, é possível aplicar os seguintes comandos: clc limpa o conteúdo do Command Window; Diary Grava o conteúdo do Command Window para um arquivo denominado diary; diary nome_ficheiro Grava tudo que ocorre durante uma sessão de códigos; Home Desloca o cursor para o canto superior esquerdo. More Obriga que os dados saiam para a tela, página a página. O MATLAB possui variadas formas de apresentar um número. Esses formatos podem ser localizados no “help”, ao ser digitado na janela de comandos help format. Vamos analisar alguns formatos, bem como um exemplo de cada tipo na tabela a seguir. Comando Formato Exemplo para 2 Format short 4 dígitos decimais 1.4142 Format long 14 dígitos decimais 1.41421356237310 Format short e Notação exponencial com 4 dígitos decimais 1.4142e+000 Format long e Notação exponencial com 15 dígitos decimais 1.414213562373095e+000 21 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Comando Formato Exemplo para 2 Format short g O melhor entre “short” e “short e”. 1.4142 Format long g O melhor entre “long” e “long e”. 1.4142135623731 Format bank 2 dígitos decimais representando moeda. 1.41 Format compact Elimina linhas em branco para permitir que mais linhas com informações possam ser exibidas. Format loose Adiciona linhas, portanto, é o oposto de “format compact”. Fonte: Chapman (2018) adaptado. 1.1.3 ESPAÇO DE LANÇAMENTO Espaço de lançamento ou Launchpad é a forma como o MATLAB permite a organização de pastas dentro do MATLAB de maneira que haja um agrupamento com a documentação e as ferramentas (CHAPMAN, 2018). Cada usuário terá a sua própria forma de organizar de modo que vai ser diferente em cada instalação do programa. PROGRAMADOR DE MATLAB Fonte: Freepik (2022). #pratodosverem: imagem que representa um jovem programando no Matlab. 22 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA Agora, iremos estudar sobre a edição do MATLAB por meio do conhecimento do espaço de trabalho e do caminho de busca. Vamos lá! 1.2 EDIÇÃO/DEPURAÇÃO DO MATLAB O processo de trabalho no MATLAB requer conhecimentos sobre o espaço de trabalho, bem como sobre os caminhos de busca. Exige-se certo esforço do usuário para a sua compreensão, pois há uma fonte de erros recorrentes quando rodamos um script no MATLAB. Você sabe o que é um script? Script é um conjunto de comandos para que uma função possa executar determinado aplicativo, de acordo com Chapra (2013). 1.2.1 ESPAÇO DE TRABALHO A janela do espaço de trabalho (Workspace) evidencia as variáveis criadas na janela de Comandos. Você pode experimentar clicar duas vezes no nome de uma variável para que o Editor de Arranjos seja aberto (CHAPRA, 2013). WORKSPACE DO MATLAB Fonte: elaborado pela autora (2022). #pratodosverem: imagem que representa o workspace do Matlab. 23 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Todos os nomes e valores de variáveis que estiverem em uso estarão no espaço de trabalho. Um ponto de destaque é que os nomes das variáveis devem começar com uma letra e os demais termos do nome podem conter letras, dígitos e traços inferiores. PROGRAMAÇÃO Fonte: Freepik (2022). #pratodosverem: imagem que representa um homem programando. O MATLAB possui sensibilidade entre letras maiúsculas e minúsculas, então, é preciso prestar bastante atenção ao digitar os comandos. Se você escrever Data ou data, haverá um entendimento diferente. Outra característica é que os nomes das variáveis não podem ter mais do que 63 caracteres. Atente-se, a seguir, para uma tabela com alguns comandos e símbolos especiais para gerenciar a sessão de trabalho. 24 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA COMANDOS PARA GERENCIAR A ÁREA DE TRABALHO Fonte: adaptada de Palm (2013, p. 24). #pratodosverem: imagem que representa uma lista de comandos para gerenciar a área de trabalho. É possível utilizar as teclas direcionais Tab e Ctrl para recuperar, editar e reutilizar funções e variáveis que já foram digitadas. CÓDIGOS DE PROGRAMAÇÃO Fonte: Freepik (2022). #pratodosverem: imagem que representa um conjunto de códigos. 25 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Para aparecer uma lista com as variáveis presentes no Workspace utilizamos o comando who. 1.2.2 CAMINHOS DE BUSCA Uma forma de procurar uma ajuda no MATLAB é digitar help e, logo em seguida, teclar enter. Dessa forma, o MATLAB vai indicar uma sequência de possíveis tópicos de ajuda. CAMINHOS DE BUSCA Fonte: Freepik (2022). #pratodosverem: imagem que representa uma mão clicando em um buscador da internet. Outra maneira é por meio do comando lookfor. Ele serve para buscar um comando específico. A principal diferença para o comando help é que ele é mais preciso para produzir uma informação relevante (CHAPMAN, 2018). Vamos aprender mais sobre o MATLAB? Assista ao vídeo “Noções Preliminares”. https://www.youtube.com/watch?v=JHBdtY_7RB4&list=PLE1UtdMhwaEobcUPjpo27o5HxeBSYjLEs&index=3 26 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA Para exibir o caminho de busca do MATLAB, podemos digitar a palavra path. Aqui, temos uma consideração relevante: caso o arquivo esteja somente no disco e, ainda, se o caminho de busca não for esse, irá ocorrer um erro. ALERTA Fonte: Freepik (2022) #pratodosverem: imagem que representa um símbolo de alerta. O MATLAB é bem rigoroso com a questão da localização dos arquivos. Uma forma de descobrir qual é o local verdadeiro dos seus arquivos é por meio da digitação do seguinte comando: cd f:\homework. Ele indica que estamos alterando o diretório para f:\homework, e então o MATLAB vai procurar o arquivo nesse local. Podemos afirmar que a sintaxe geral do comando é cd dirname, sendo que dirname é o caminho até o diretório. Você sabe como personalizar o MATLAB? Para aprender, assista ao vídeo Personalização do MATLAB. Atente-se, a seguir, para uma lista de comandos de sistema, diretórios e arquivos. 27 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 COMANDOS DE SISTEMA, DIRETÓRIOS E ARQUIVOS Fonte: Adaptada de Palm (2013, p. 35). #pratodosverem: imagem que representa uma lista de comandos de sistema, diretórios e arquivos. Por exemplo, podemos adicionar um diretório ao caminho de busca ao usar o comando addpath. Saiba mais sobre comandos de sistema do MATLAB no link. Para remover, digitamos rmpath. Agora, iremos retomar os principais pontos vistos sobre o MATLAB. Vamos lá! https://www.youtube.com/results?search_query=matlab+comando+de+sistema.28 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA 1.2.3 RESUMO DO MATLAB O MATLAB funciona por meio de scripts com códigos e po meio da interface de uso do sistema. Dessa forma, o usuário poderá efetuar análises de bases de dados e extrair insights e informações relevantes sobre o objeto de estudo (CHAPMAN, 2018). O programa MATLAB implementa a linguagem MATLAB e oferece uma ampla biblioteca de funções predefinidas para que a programação técnica se torne mais fácil e eficiente. PROGRAMANDO Fonte: Freepik (2022). #pratodosverem: imagem que representa duas mãos programando. Podemos resolver problemas diversos com o MATLAB, tais como: • processamento de sinais; • sistemas de controle; • comunicações; • processamento de imagens; • redes neurais. 29 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 O ambiente MATLAB, além de ser amigável e de fácil utilização, tem total capacidade para a resolução de problemas complexos. Quando iniciado, o programa apresenta uma interface chamada de área de trabalho, integrando várias ferramentas de gerenciamento de arquivos, variáveis e aplicações (CHAPMAN, 2018). A área de trabalho organiza a janela de Comandos, que pode ser identificada pela Command Window do MATLAB e o Navegador de Ajuda (Help Browser), e assim por diante. A janela de comandos é o meio que usamos para inserir instruções ao MATLAB como comandos propriamente ditos, funções e sentenças. TELA DO COMPUTADOR Fonte: Freepik (2022). #pratodosverem: imagem que representa uma tela do computador. Espaço de lançamento, ou Launch pad, é a forma como o MATLAB permite a organização de pastas dentro do programa, de maneira que haja um agrupamento com a documentação e as ferramentas. Cada usuário terá a sua própria forma de organizar, de modo que vai ser diferente em cada instalação do programa (CHAPMAN, 2018). A janela do espaço de trabalho (Workspace) evidencia as variáveis criadas na janela de comandos. Você pode clicar duas vezes no nome de uma variável para que o Editor de Arranjos seja aberto. 30 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA TELA DO COMPUTADOR Fonte: Freepik (2022). #pratodosverem: imagem que representa vários números zero e um. O MATLAB é bem rigoroso em relação à localização dos arquivos. Para descobrir o local verdadeiro dos seus arquivos, basta digitar o seguinte comando: cd f:\ homework, e ele indica que estamos alterando o diretório para f:\homework, então o MATLAB vai procurar o arquivo nesse local. Podemos afirmar que a sintaxe geral do comando é cd dirname, sendo que dirname é o caminho até o diretório. 31 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 CONCLUSÃO Esta unidade apresentou uma visão geral e inicial sobre o software MATLAB e seu funcionamento. Para alcançar esse objetivo, foi apresentado o software, bem como alguns comandos básicos para facilitar o uso da ferramenta. Existem algumas regras que devem ser obedecidas para que a experiência seja proveitosa. Uma delas é sobre o local em que estamos trabalhando com os nossos arquivos. Este simples passo requer bastante cuidado. Bons estudos! UNIDADE 2 OBJETIVO Ao final desta unidade, esperamos que possa: 32 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA > Introduzir os conceitos e técnicas de operação com variáveis no MATLAB. > Entender as aplicações com matrizes multidimensionais. > Identificar as funções predefinidas dentro do software MATLAB. > Conhecer as técnicas do desenvolvimento de projeto de programa MATLAB. 33 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA 2 MATLAB BÁSICO INTRODUÇÃO DA UNIDADE Esta unidade abordará uma introdução sobre os conceitos e técnicas de operação com variáveis no MATLAB. Posteriormente, iremos entender as possíveis aplicações com matrizes multidimensionais. Esse conhecimento permite a manipulação de variáveis, bem como a compreensão de como podemos usá-las no dia a dia. Os dados geralmente estão estruturados em matrizes que nos permitem calcular os mais variados parâmetros, de acordo com o contexto. Outra possibilidade é o cálculo de processos de otimização. Logo em seguida, abordaremos as funções predefinidas dentro do software MATLAB. Essas funções são úteis para agilizar o processo de cálculo de funções mais recorrentes. Finalmente, conheceremos as técnicas do desenvolvimento de um projeto de programa MATLAB. Essas técnicas vão permitir que os arquivos estejam estruturados adequadamente, sendo necessária a adaptação para o contexto de aplicação apenas. Bons estudos! 2.1 INICIANDO VARIÁVEIS NO MATLAB Iremos trabalhar alguns aspectos iniciais de variáveis no MATLAB. Para tanto, vamos, primeiramente, conhecer variáveis em expressões de atribuição, depois abordaremos as expressões de atalho e, por fim, iniciaremos o estudo de funções previamente definidas. Vamos lá! 2.1.1 INICIANDO VARIÁVEIS EM EXPRESSÕES DE ATRIBUIÇÃO No MATLAB, quando iniciamos as variáveis, elas são automaticamente geradas. E agora, como é possível começar uma variável no MATLAB? 34 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 LINHAS DE CÓDIGO Fonte: Freepik (2022). #pratodosverem: imagem que representa um homem trabalhando no computador. Há três formas, de acordo com Chapra III (2013): Primeira Ligar os dados da variável a uma expressão. Segunda Dar os dados à variável por meio do teclado. Terceira Ler os dados que venham de um arquivo. 35 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA Então vamos, agora, analisar a primeira e a segunda forma de começarmos variáveis no MATLAB. Você sabe como trabalhar com variáveis? Assista ao vídeo para descobrir. Vamos trabalhar com as expressões de atalho. 2.1.2 INICIANDO COM EXPRESSÕES DE ATALHO Uma das maneiras mais fáceis de iniciar uma variável é relacionar um ou mais valores em uma expressão de atribuição. Mas, afinal, qual é a forma geral de uma expressão de atribuição? Atente-se para a forma geral a seguir: var = expression Nessa expressão, var é o nome que damos a uma variável e expression é uma constante escalar que pode ser uma matriz ou uma combinação de constantes ou, ainda, outras variáveis e expressões matemáticas. LINHAS DE CÓDIGO Fonte: Freepik (2022). #pratodosverem: imagem que representa um exemplo de código de programação. https://www.youtube.com/watch?v=Ap_c2JUfWdo&list=PLNBygTHTfFLEaHYTYFfirZ6Q3ZyYCtWZg&index=3 36 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Aqui podemos nos valer das regras habituais da Matemática. Já os valores são armazenados na variável que foi nomeada. Outro ponto: podemos colocar ou não ponto e vírgula ao final, isso é opcional (PALM III, 2014). A diferença é que utilizando o ponto e vírgula não será mostrado na Janela de Comandos, mesmo que tenha havido a atribuição. Observe alguns exemplos, a seguir: var = 40i; var2 = var / 5; x = 1; y = 2; array = [1 2 3 4]; Existem algumas expressões de atalho que podem facilitar a escrita da programação no MATLAB. Vamos analisar o operador dois-pontos e o operador de transição (PALM III, 2014). Operador dois-pontos É útil para escrever uma série de valores. Como isso ocorre? O primeiro valor é o primeiro valor da série, o segundo valor é o passo entre os valores e o último valor é o último valor da série. first:incr:last Operador de transposição Pode ser útil para iniciarvetores coluna e matrizes mais elaboradas. Vamos a um exemplo: f = [1:4]´; Essa expressão vai resultar em um vetor-linha com quatro elementos na horizontal [1 2 3 4] e, depois, devemos transpor esse vetor por causa do símbolo (´), resultando no seguinte vetor 1 2 3 4 : . . 37 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA 21.3 INICIANDO FUNÇÕES PREDEFINIDAS Funções predefinidas, que também podem ser denominadas funções integradas (CHAPMAN, 2016), são funções que já estão dentro do MATLAB. Uma delas é a função de zeros. Exemplos: a = zeros(2); b = zeros(2,3); c = [1 2; 3 4]; d = zeros(size(c)); Da mesma forma, a função de ones pode ser usada para gerar matrizes contendo tudo, e a função de eye para gerar matrizes que contêm matrizes de identidade, nas quais todos os elementos da diagonal principal são one e os demais elementos são zero. Agora, atente-se para a tabela a seguir, que possui algumas das principais funções do MATLAB para iniciar variáveis. PRINCIPAIS FUNÇÕES PREDEFINIDAS DO MATLAB Fonte: adaptada de Chapman (2016, p. 31). #pratodosverem: imagem que representa uma lista com funções predefinidas do MATLAB. 38 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 2.2 MATRIZES MULTIDIMENSIONAIS As matrizes multidimensionais são aquelas que podem ter uma ou mais dimensões, daí a justificativa para o nome. Elas são úteis quando temos mais de uma variável independente. As matrizes do MATLAB podem ter uma ou mais magnitudes. Matrizes unidimensionais podem ser vistas como uma série de valores alocados em uma linha ou coluna, com um único índice para escolher os elementos individuais da matriz. Essas matrizes são relevantes para descrever dados que são funções de uma variável independente, como uma série de mensurações de temperatura feitas em intervalos de tempo fixos (CHAPRA, 2013). Algumas categorias de dados são funções que possuem mais de uma variável independente. Por exemplo, segundo Chapman (2016, p. 32), podemos mensurar a temperatura em cinco lugares e quatro tempos, ambos diferentes. Nesse caso, 20 mensurações coerentes podem ser agrupadas em cinco colunas, cada uma contendo quatro mensurações, sendo cada coluna imputada a uma localização. No exemplo, estamos usando dois subscritos para acessar um elemento específico da matriz. O primeiro subscrito seleciona as linhas o segundo subscrito seleciona as colunas. Essas matrizes são conhecidas como matrizes bidimensionais. O número de elementos em uma matriz bidimensional é igual ao produto do número de linhas e o número de colunas na matriz. MATRIZES MULTIDIMENSIONAIS Fonte: adaptada de Chapman (2016, p. 32). #pratodosverem: imagem que representa matrizes multidimensionais. 39 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA Outra funcionalidade que você certamente fará uso é relacionada à criação de matrizes. Você sabe como trabalhar com matrizes? Assista ao vídeo para descobrir. Para compreender melhor, vamos a um exemplo (CHAPMAN, 2016). Considere que você deseja criar uma matriz c, com as seguintes dimensões: 2x3x2, então temos que: • c(:,:,1)=[1 2 3; 4 5 6]; • c(:,:,2)=[7 8 9; 10 11 12]; • whos c Name Size Bytes Class Attributes c 2x3x2 96 double Lembrando que a quantidade de termos de uma matriz é contabilizada pela multiplicação entre a quantidade de linhas por colunas e por dimensão. Acima, demonstramos a quantidade de elementos para a dimensão 1 e, logo em seguida, para a dimensão 2. Agora, vamos trabalhar com o armazenamento de matrizes multidimensionais. Vamos lá! 2.2.1 ARMAZENANDO MATRIZES MULTIDIMENSIONAIS EM MEMÓRIA Para armazenar as matrizes multidimensionais na memória do MATLAB, precisamos transformar uma matriz em uma única linha. Para isso, cada elemento passará a ter uma “localização” que indica o local que teria uma representação convencional de uma matriz. Observe o exemplo a seguir (CHAPMAN, 2016, p. 34). https://www.youtube.com/watch?v=-xS8VWtKYXM&list=UULF_DBJG3OUZ0bNMRVdq6O6Wg&index=6 40 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 VALORES DE DADOS PARA MATRIZES Fonte: adaptada de Chapman (2016, p.34). #pratodosverem: imagem que representa valores de dados para matrizes. a) Valores de dados para a matriz a e (b) Layout dos valores na memória para a matriz a. 2.2.2 .ACESSANDO MATRIZES MULTIDIMENSIONAIS COM UM ÚNICO SUBSCRIPT É possível acessar matrizes multidimensionais como se elas possuíssem apenas uma dimensão. A diferença vai ocorrer no ponto em que o comprimento da matriz com uma dimensão será igual ao número de elementos da matriz multidimensional (PALM III, 2014). Vamos analisar um exemplo. Uma matriz 4x3 ficará desta forma no MATLAB: • a = [1 2 3; 4 5 6; 7 8 9; 10 11 12] E o resultado será: 41 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA 1 2 3 4 5 6 7 8 9 10 11 12 a = Portanto, o valor do elemento a (6) será 5, já que o valor do elemento a (2,2) foi alocado no sexto lugar na memória. Vale ressaltar que, embora seja recomendável saber dessa situação, não é uma boa prática de programação, pois podemos nos perder facilmente nessas correspondências. 2.3 FUNÇÕES PREDEFINIDAS NO MATLAB A função geralmente aceita, no mínimo, um valor de entrada e calcula um único resultado por meio desse valor. Entretanto, no cotidiano, temos funções bem mais complexas. E a complexidade vai depender do problema que estamos analisando. Sendo assim, essa é uma das principais vantagens do MATLAB, pois ele permite o uso de uma variedade de funções que já estão prontas para uso. 2.3.1 RESULTADOS OPCIONAIS É muito comum que as expressões retornem diferentes resultados, porém estamos focados nos principais resultados, bem como nos seus significados. Contudo, existem saídas opcionais e, por isso, é importante ficarmos atentos. Chapman (2016) aponta que a expressão maxval = max ( [1 -5 6 -3] ) vai retornar tanto maxval = 6 quanto o local do valor máximo: [6 3]. 2.3.2 UTILIZANDO FUNÇÕES MATLAB COM MATRIZES COMO ENTREGA No MATLAB, a entrega não será um único valor escalar, como 6, 7, 15, e assim por diante, mas, sim, será uma matriz. Como assim? Vamos a um exemplo para você compreender melhor. 42 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 CÓDIGO Fonte: Freepik (2022). #pratodosverem: imagem que representa um código binário. Considerando que o x da função y = sin(x) seja x = [0 pi/2 pi 3*pi/2 2*pi], então a declaração da função y = sin(x) no MATLAB vai resultar em y = [0 1 0 -1 0], que é uma matriz. 2.3.3 FUNÇÕES MATLAB COMUNS Hoje em dia, é comum saber lidar com diferentes programas. E uma maneira de agilizar o aprendizado é organizar as principais funções ou aquelas mais utilizadas. 43 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA FUNÇÕES MAIS COMUNS DO MATLAB Fonte: adaptada de Chapman (2016, p. 37). #pratodosverem: imagem que representa as funções mais comuns do MATLAB. 44 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 2.4 EXPRESSÕES DE RAMIFICAÇÕES DE PROJETO DE PROGRAMA Quando executamos linha a linha em um programa, então estamos diante de programas sequenciais. Esses programas são executados um a um, e vão mostrar a resposta ao final. PROJETO DE PROGRAMAS Fonte: Freepik (2022). #pratodosverem: imagem que representa a elaboração de um projeto de programa. Há alguns pontos de atenção: eles não permitem que executemos apenas uma parteou repetidamente. Essas práticas são muito comuns no dia a dia de quem trabalha com códigos de programação. Para saber mais sobre as estruturas while e for, assista a este vídeo. https://www.youtube.com/watch?v=CwI0Cpnfurs&list=UULF_DBJG3OUZ0bNMRVdq6O6Wg&index=13 45 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA Então vamos trabalhar, agora, com as definições de ramificações e de laços, de acordo com Chapman (2016). Ramificações Essencialmente, ramificações permitem que a seleção de partes do código seja executada. Laços são uma forma de viabilizar que uma sequência de expressões seja executada mais de uma vez, sendo que as construções mais comuns são laços while e laços for. Antes de prosseguirmos, vale considerar que é muito mais fácil executar erros, ao escrever programas com ramificações, e laços, do que ao redigir programas sequenciais. Mesmo depois de todo o processo do projeto, é praticamente certo que um programa de qualquer tamanho contenha bugs quando usado pela primeira vez. Vamos considerar a produção de um programa e, então, descobrimos durante o teste que os resultados possuem erros (PALM III, 2014). Como podemos encontrá-los e corrigi-los? Quando começamos a usar ramificações e laços, a melhor forma de encontrar um erro é usar o depurador simbólico do próprio MATLAB. Esse depurador é integrado ao editor MATLAB. Para usar o depurador, primeiro comece o arquivo que deseja depurar, selecionando o menu Arquivo / Abrir na janela de comando do MATLAB. Quando o arquivo é aberto, ele é colocado no editor e a sintaxe é automaticamente codificada por cores. Comentários em verde, variáveis e números em preto, strings em vermelho e palavras-chave do idioma em azul. Logo em seguida, vamos conhecer as técnicas de projeto top-down, uso de pseudocódigo, bem como operações relacionais e lógicas. 46 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 2.4.1 INTRODUÇÃO ÀS TÉCNICAS DE PROJETO TOP-DOWN Digamos que você, engenheiro, queira escrever um programa para resolver um problema. Como você começa? Diante de um novo problema, há uma tendência natural de ir direto ao teclado, sem “perder” tempo pensando no problema. Usualmente, é possível resolver a situação com essa abordagem para problemas muito pequenos, como a maioria dos exemplos neste livro. Mas no mundo real, os problemas são maiores, e um engenheiro com essa abordagem pode se perder irremediavelmente. Para problemas maiores, é útil pensar no problema e na abordagem para resolvê-lo, antes mesmo de escrever uma linha de código. Propomos aqui o processo de desenvolvimento oficial. Esse processo foi utilizado em todos os aplicativos desenvolvidos no restante do livro. Para que cumpramos esse simples exemplo, o processo de design pode parecer redundante. No entanto, à medida que o volume de problemas resolvidos aumenta, o processo se torna mais importante para o sucesso da programação. Os professores de programação gostam de dizer: “Codificar é fácil. Saber o que programar é a parte mais difícil”. Isso fica claro ao entrarmos no mercado de trabalho, e vamos trabalhar em empresas, nos envolver em grandes projetos de software. A parte mais difícil do trabalho é entender o problema a ser resolvido. Depois de resolver o problema, fica bem mais fácil dividi-lo em partes menores e mais gerenciáveis, com papéis bem definidos e, em seguida, lidar com cada papel, um por um. Dessa maneira, o projeto top-down é um processo que inicia uma tarefa consideravelmente grande. Inclusive, esses tipos de tarefa são as mais comuns no dia a dia de serem executadas. Então, dificilmente digitamos linhas de código diretamente no MATLAB. Na realidade, criamos projetos top-down. 47 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA Algoritmo é o procedimento passo a passo para encontrar a solução de um problema (CHAPMAN, 2016, p. 114). Os designers procuram uma quebra lógica no problema e o dividem em subtarefas ao longo dessas linhas. Esse processo é chamado de putrefação. Se apenas as subtarefas forem importantes, o designer pode dividi-las em subtarefas ainda menores. Esse processo é repetido, até que o problema seja dividido em várias partes menores, cada uma executando uma tarefa simples e fácil. No projeto, as tarefas ficarão divididas em pequenas partes, que podem ser executas de forma separada. Ao final, teremos um processo formal de programas. PROGRAMAS Fonte: Freepik (2022). #pratodosverem: imagem que representa um homem programando em dois monitores. Chapman (2016, p.115) aponta alguns passos como aqueles essenciais para a criação desses projetos. Vamos lá! 48 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Passo 1 O primeiro passo é estabelecer, de forma clara, o problema a ser solucionado. Os programas são usualmente escritos para atender alguma necessidade, mas essa necessidade pode não ser evidentemente declarada pela pessoa que pede o programa. Por exemplo, um usuário pode pedir ao programa para solucionar simultaneamente um sistema de equações lineares. Esse requisito não é claro o suficiente para o engenheiro projetar o programa essencial. Em primeiro lugar, você precisa saber muito mais sobre o problema que está tentando resolver. O sistema de equações a ser solucionado é real ou complexo? Qual é o número máximo de equações e incógnitas que o programa deve manipular? Há simetrias nas equações que podem ser aproveitadas para ajudar a resolvê-las? O criador do programa deve conversar com o usuário que o demandou, e ambos devem declarar clara e precisamente o que estão procurando alcançar. Uma declaração clara do problema evita mal-entendidos e auxilia o projetista do programa a organizar bem o raciocínio. Passo 2 O segundo passo é definir os dados que serão colocados na entrada e os dados que serão gerados pelo software. As entradas do programa e as saídas construídas por ele devem ser especificadas para que o novo programa se encaixe corretamente no esquema geral de processamento. Passo 3 O terceiro passo é projetar o algoritmo que você pretende implementar no programa. E é aqui que são usadas as técnicas top- down, uma vez que são definidas as subdivisões do programa em pequenas tarefas. Os designers procuram uma quebra lógica no problema e o dividem em subtarefas ao longo dessas linhas. Esse procedimento é denominado decomposição. Se apenas as subtarefas forem muito grandes, então o designer pode dividi-las em subtarefas ainda menores. Esse procedimento é repetido, até que o problema seja desintegrado em várias partes menores, cada uma executando uma tarefa simples e fácil. 49 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA Passo 4 O quarto passo é transformar o algoritmo em expressões que o MATLAB possa compreender. Se o processo de decomposição e refinamento foi feito corretamente, essa etapa será muito fácil. Tudo o que o engenheiro precisa fazer é trocar o pseudocódigo pelas expressões MATLAB apropriadas em um relacionamento um-para-um. Passo 5 O quinto passo é testar o programa no MATLAB. Essa etapa é crucial. Os componentes do programa devem ser testados individualmente primeiro, se possível, e então todo o programa deve ser testado. Ao testar o programa, devemos garantir que o programa funcione da forma correta para todas as entradas válidas. É muito usual que um programa seja redigido, testado com alguns grupos de dados padrão e liberado para utilização, apenas para descobrir que ele produz respostas erradas com um conjunto diferente de dados de entrada. Se o algoritmo implementado em um programa inclui diferentes ramificações, devemos testartodas as ramificações possíveis para garantir que o programa funcione adequadamente em todas as circunstâncias possíveis. Esses testes exaustivos podem ser quase impossíveis em programas muito grandes; portanto os bugs podem ser relevados depois que o programa estiver em utilização regular por anos. Esses passos podem ser resumidos, de acordo com Chapra, conforme observamos a seguir (2013). 50 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 • O primeiro passo é estabelecer, de forma clara, o problema a ser solucionado. • O segundo passo é definir os dados que serão colocados na entrada e os dados que serão gerados pelo software. • O terceiro passo é projetar o algoritmo que você pretende implementar no programa. Nesse momento são usadas as técnicas top-down, uma vez que são definidas as subdivisões do programa em pequenas tarefas. • O quarto passo é transformar o algoritmo em expressões que o MATLAB possa compreender. • O quinto passo é testar o programa no MATLAB. Atente-se para o esquema a seguir, conforme Chapman (2016, p.115): PROCESSO PARA PROJETAR PROGRAMAS Fonte: Chapman (2016, p.115). #pratodosverem: esquema que mostra o processo necessário para projetar programas. 51 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA 2.4.2 USO DE PSEUDOCÓDIGO Como parte do processo de elaboração do projeto, é essencial relatar o algoritmo a ser implementado. Essa descrição do algoritmo deve estar em um formato padronizado, que seja de fácil compreensão e ajude a traduzir seus conceitos em código MATLAB (PALM III, 2014). Os métodos padrão que usamos para descrever algoritmos são chamados de estruturas, e um algoritmo relatado usando essas construções é denominado algoritmo organizado. Quando o algoritmo é implementado no MATLAB, o programa resultante é chamado de programa organizado. As estruturas colocadas para produzir algoritmos podem ser descritas de uma maneira especial, chamada pseudocódigo. O pseudocódigo é uma combinação híbrida de MATLAB e inglês. É organizado como o MATLAB, com uma linha destacada para cada ideia individual ou segmento de código, mas com uma descrição em inglês para cada linha. Cada linha de pseudocódigo deve explicar a ideia em inglês. O pseudocódigo é muito útil para progredir com os algoritmos, pois é flexível e facilmente modificável (CHAPRA, 2013). Os pseudocódigos referem-se ao processo de depuração de um projeto em pequenas tarefas. É necessário que haja a análise cuidadosa dessa divisão, de forma que faça sentido. É particularmente útil, porque pode ser redigido e editado pelo mesmo editor ou processador de texto utilizado para compor a programação MATLAB, sem a necessidade de gráficos especiais. Após a elaboração de um pseudocódigo, é possível adequar para a linguagem do MATLAB. Observe, a seguir, um exemplo de pseudocódigo, de acordo com Chapman (2016, p.117): Prompt user to enter temperature in degrees Fahrenheit Read temperature in degrees Fahrenheit (temp_f) temp_k in kelvins Write temperature in kelvins 52 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 2.4.3 OPERADORES RELACIONAIS E LÓGICOS Os operadores relacionais e lógicos são aqueles que resultam em true ou false. Sua função é controlar qual o código é executado em estruturas de ramificação do MATLAB. As cadeias são, na verdade, matrizes de caracteres, portanto os operadores relacionais somente podem comparar duas matrizes se tiverem o mesmo comprimento (CHAPRA, 2013). Se comprimento difere, então a operação de comparação gerará um erro. O operador de equivalência relacional é redigido com dois símbolos de igual, ao passo que o operador de atribuição é escrito com apenas um operador de igual (CHAPRA, 2013). Eles são operadores muito diferentes, e os programadores iniciantes costumam confundir. O símbolo = = é uma operação de comparação que devolve um resultado lógico (0 ou 1), enquanto o símbolo = atribui o valor da expressão à direita do sinal de igual do erro de programação à variável à esquerda do sinal de igual. Tenha cuidado para não confundir o operador de equivalência relacional (= =) com o operador de atribuição (=). Um erro muito usual que programadores iniciantes cometem é usar um único sinal de igual para tentar fazer uma comparação. Na hierarquia de operações, os operadores relacionais são considerados após a avaliação de todos os operadores aritméticos. Consequentemente, as duas fórmulas, conforme observamos a seguir, são equivalentes. 8 + 3 < 2 + 12 (8 + 3) < (2 + 12) Para saber mais sobre operadores, assista a este vídeo. https://www.youtube.com/watch?v=uOvDbY3jrOg 53 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA Os operadores relacionais realizam a comparação entre dois números e podem resultar em true ou false. Os principais operadores relacionais estão na tabela abaixo. PRINCIPAIS OPERADORES RELACIONAIS DO MATLAB Fonte: Adaptada de CHAPMAN (2016, p. 118). #pratodosverem: imagem que representa os principais operadores relacionais do MATLAB. OPERADORES RELACIONAIS DO MATLAB Fonte: Adaptada de CHAMPMAN (2016, p. 118). #pratodosverem: imagem que representa alguns exemplos de operadores relacionais do MATLAB. 54 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 No caso dos operadores lógicos, a comparação é realizada entre valores lógicos, sendo o resultado true ou false. Alguns operadores lógicos podem ser observados logo abaixo. PRINCIPAIS OPERADORES LÓGICOS DO MATLAB Fonte: Adaptada de CHAPMAN (2016, p. 120). #pratodosverem: imagem que representa principais operadores lógicos do MATLAB. Perceba que os operadores lógicos consideram qualquer valor diferente de zero como verdadeiro e qualquer valor zero como falso. A tabela a seguir apresenta as tabelas-verdade para todos os operadores lógicos. TABELAS-VERDADE PARA OPERADORES LÓGICOS DO MATLAB Fonte: Adaptada de Chapman (2016, p. 121). #pratodosverem: imagem que representa as tabelas-verdade para operadores lógicos do MATLAB. Assim, podemos identificar que os resultados dos operadores são abreviados em tabelas-verdade, que exibem o resultado de cada procedimento para todas as combinações viáveis (CHAPRA, 2013). 55 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA Usar o operador & AND quando precisar garantir que ambos os operandos sejam avaliados em uma expressão ou quando a comparação for entre matrizes. Senão, utilizar o operador & & AND, pois a apreciação parcial acelera a execução se o primeiro operador for falso. O operador & deve ser usado na maioria dos casos. O resultado de uma operação AND é verdadeiro somente se ambos os operadores de entrada forem verdadeiros. Se um ou ambos os operandos forem falsos, o resultado será falso (0). Na maioria das vezes, não importa qual operador AND é usado. Se você estiver comparando categorizações e a avaliação caso a caso nem sempre for necessária, utilizar o operador & &. A avaliação parcial irá acelerar a execução caso o primeiro operando seja falso (CHAPRA, 2013). Afinal, o que são funções lógicas? O MATLAB inclui várias funções lógicas que devolvem true, se a condição testada for verdadeira, e false, se a condição testada for falsa. Essas funções podem ser empregadas com operadores relacionais e lógicos para supervisionar o comportamento de ramificações e laços. Assista ao vídeo para saber mais sobre como trabalhar com matrizes no MATLAB. https://www.youtube.com/watch?v=hjEBACmng7Q&list=PLE1UtdMhwaEobcUPjpo27o5HxeBSYjLEs&index=4 56 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017,Publicada no D.O.U em 23/06/2017 CONCLUSÃO Esta unidade objetivou-se a apresentar um panorama sobre os principais aspetos relacionados com a manipulação do software MATLAB. Há três formas de começar uma variável no MATLAB: 1º) Ligar os dados da variável a uma expressão. 2º) Dar os dados à variável por meio do teclado. 3º) Ler os dados que venham de um arquivo. A forma geral de uma expressão de atribuição é: var = expression. O operador dois-pontos é útil para escrever uma série de valores. O operador de transposição pode ser útil para iniciar vetores coluna e matrizes mais elaboradas. As funções predefinidas são funções que já estão dentro do MATLAB. As matrizes multidimensionais são aquelas que podem ter uma ou mais dimensões, daí a justificativa para o nome. Para armazenar as matrizes multidimensionais na memória do MATLAB, precisamos transformar uma matriz em uma única linha. As ramificações essencialmente permitem que a seleção de partes do código seja executada. Os laços são uma forma de viabilizar que uma sequência de expressões seja executada mais de uma vez, sendo que as construções mais comuns são laços while e laços for. O projeto top-down é um processo que inicia uma tarefa consideravelmente grande. Chapman (2016) aponta alguns passos como aqueles essenciais para a criação desses projetos. O primeiro passo é estabelecer, de forma clara, o problema a ser solucionado. O segundo passo é definir os dados que serão colocados na entrada e os dados que serão gerados pelo software. O terceiro passo é projetar o algoritmo que você pretende implementar no programa. Nesse momento são usadas as técnicas top-down, uma vez que são definidas as subdivisões do programa em pequenas tarefas. O quarto passo é transformar o algoritmo em expressões que o MATLAB possa compreender. O quinto passo é testar o programa no MATLAB. Os pseudocódigos referem-se ao processo de depuração de um projeto em pequenas tarefas. Os operadores relacionais realizam a comparação entre dois números e podem resultar em true ou false. No caso dos operadores lógicos, a comparação é realizada entre valores lógicos, sendo o resultado true ou false. UNIDADE 3 OBJETIVO Ao final desta unidade, esperamos que possa: 57 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA > Utilizando variáveis e números complexos no MATLAB. > Desenvolver os diagramas bidimensionais e tridimensionais. > Entender os conceitos de funções de E/S (entrada e saída), como fopen, fclose, fwrite, fread, fprint, fsca, fget1 e fgets. 58 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA 3 DADOS COMPLEXOS, DADOS DE CARACTERES E TIPOS ADICIONAIS DE DIAGRAMAS INTRODUÇÃO DA UNIDADE Esta unidade abordará variáveis complexas no MATLAB. Vamos trabalhar com o uso de números complexos em operações relacionais, compreender as funções complexas e a sua utilidade para o dia a dia do profissional, bem como a representação em diagramas. Logo em seguida, abordaremos diagramas bidimensionais adicionais. Para tanto, vamos conhecer quais são os tipos adicionais de diagramas bidimensionais, os histogramas e, por fim, os diagramas tridimensionais. Ao final da unidade, vamos falar sobre funções de entrada e de saída no MATLAB. E isso significa que iremos descobrir como abrir e fechar arquivos, quais são as funções de E/S binárias e estruturadas no MATLAB. Bons estudos! 3.1 DADOS COMPLEXOS Iremos trabalhar com alguns aspectos relacionados aos números complexos, operações relacionais, funções complexas e diagramas que estão disponíveis no MATLAB. Vamos lá! 3.1.1 VARIÁVEIS COMPLEXAS Números complexos são compostos por uma parte real e outra imaginária (CHAPMAN, 2016). Dessa forma, possuem uma forma geral, conforme a seguir: c a bi= + 59 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Em que: c É um número complexo; a É a parte real do número complexo c; b É a parte imaginária do número complexo c; i: Equivale a 1− . NÚMEROS Fonte: Freepik (2022). #pratodosverem: imagem que representa algumas formas geométricas. 60 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA Como um número complexo possui duas partes, então pode ser representado em um diagrama como um ponto em um plano. Observe a figura a seguir. REPRESENTAÇÃO DE UM NÚMERO COMPLEXO Fonte: Chapman (2018, p. 80). #pratodosverem: imagem que representa um número complexo. Nessa representação, o número complexo está sendo indicado por coordenadas retangulares, já que visualmente podemos identificar com um retângulo no gráfico (CHAPRA, 2013). Se quisermos acrescentar outro eixo, que pode ser o eixo de comprimento z e ângulo θ, então temos uma representação em coordenadas polares. Observe esta representação no gráfico abaixo. COORDENADA POLAR Fonte: Chapman (2018, p.79) #pratodosverem: imagem que representa um número complexo em coordenada polar. 61 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Podemos resumir da seguinte forma: uma coordenada cartesiana indica os componentes x e y de um vetor. Já a coordenada polar indica a magnitude (comprimento) e direção (ângulo) de um vetor. Para saber mais sobre coordenadas polares, clique aqui e assista ao vídeo para descobrir. A utilização das coordenadas cartesianas é muito corriqueira. Encontramos facilmente uma situação em que precisamos de coordenadas cartesianas para direcionar algum caminho (CHAPRA, 2013). Porém, em outros casos, é mais conveniente pensar em coordenadas polares para projetar. Isso é comum quando lidamos com uma forma giratória, por exemplo. Além de expressarem adequadamente valores tridimensionais, as coordenadas polares são usadas na navegação, já que o destino de uma viagem é geralmente dado por um ângulo e pela distância. Outra utilidade das coordenadas polares é a modelagem de sistemas na Engenharia por meio do uso da simetria radial. COORDENADAS POLARES Fonte: Wikimedia Commons (2022). #pratodosverem: imagem que representa coordenadas polares. No MATLAB, as coordenadas retangulares são utilizadas para representar os https://pt.khanacademy.org/math/multivariable-calculus/integrating-multivariable-functions/double-integrals-a/v/polar-coordinates-1 62 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA números complexos. Dessa forma, cada número complexo consiste em um par de números reais (a, b). Você sabe como trabalhar com variáveis? Clique aqui e assista ao vídeo para descobrir. Agora, vamos trabalhar usando números complexos com operações relacionais. 3.1.2 USANDO NÚMEROS COMPLEXOS COM OPERAÇÕES RELACIONAIS No MATLAB, quando há a identificação de um valor complexo, então, logo em seguida, é criada uma variável complexa. Usamos i ou j para indicar 1− . . Você sabe o que é um operador relacional? Clique aqui e assista ao vídeo para descobrir. c1 = 5 + i*4 c1 = 5.000 + 4.000i Ou apenas indicando o i ao final de um número: c1 = 6 + 3i. Agora, temos um ponto de atenção. Apenas as operações com o == e ~= podem https://www.youtube.com/watch?v=Ap_c2JUfWdo&list=PLNBygTHTfFLEaHYTYFfirZ6Q3ZyYCtWZg&index=3 https://www.youtube.com/watch?v=Ig4QZNpVZYs 63 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ser usadas normalmente com números complexos. As demais operações relacionais irão comparar apenas a parte real, e não é essa a nossa intenção (CHAPRA, 2013). Para solucionar esse problema, temos que usar a função intrínseca abs ou a equação a seguir: 2 2 c a b= + esse caso, podemos comparar as magnitudes c1 e de c2 paratermos resultados mais adequados. Caso opte por abs (c1) > abs (c2), então o resultado será 0, já que a magnitude de c2 é maior do que a magnitude de c1. NÚMEROS Fonte: Freepik (2022) #pratodosverem: imagem que representa um grupo de pessoas pensando a respeito de números. E, aqui, a lição que fica é: muita atenção ao usar operadores relacionais com os números complexos, já que somente a parte real é levada em consideração. Agora iremos trabalhar com as funções complexas (CHAPRA, 2013). 3.1.3FUNÇÕES COMPLEXAS O MATLAB possui uma diversidade de funções que efetuam cálculos complexos. E essas funções podem ser divididas em três categorias, conforme a seguir. 64 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA Funções de conversão são aquelas que transformam os dados do tipo complexo em dados reais. No software, esse tipo de variável é do tipo double. Valor absoluto e funções de ângulo Essas funções transformam números complexos em suas representações polares. A função abs(c) calcula o valor absoluto de um número complexo utilizando a equação: ( ) 2 2 abs c a b= + sendo c = a + bi. Funções matemáticas A maioria das funções matemáticas básicas são definidas em valores complexos. As funções incluem funções exponenciais, logaritmos, funções trigonométricas e raízes quadradas, e todas elas funcionam bem tanto com dados complexos quanto com dados reais. Abaixo, estão relacionadas algumas funções que suport adequadamente os números complexos. PRINCIPAIS FUNÇÕES RELACIONADAS COM NÚMEROS COMPLEXOS DO MATLAB Fonte: Chapman (2018, p. 31). #pratodosverem: imagem que representa uma lista com funções que suportam números complexos do MATLAB. 65 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 3.1.4 DADOS COMPLEXOS EM DIAGRAMAS O tratamento dos dados complexos para a confecção de diagramas é diferente no MATLAB quando comparamos com os números reais. Isso acontece, pois se plotarmos da maneira convencional uma função que contém uma parte imaginária, então, o MATLAB vai desconsiderar a parte complexa (PALM III, 2014). Uma forma de plotar um gráfico considerando a parte imaginária e a parte real pode ser feita ao colocar o código abaixo na command window: y = exp(-0.2*t).*(cos(t)+i*sin(t)); >> plot(real(y),imag(y)); O resultado será o diagrama a seguir: DIAGRAMA DE UM NÚMERO COMPLEXO DO MATLAB Fonte: elaborado pela autora (2022). #pratodosverem: imagem que representa um diagrama de um número complexo no MATLAB. 3.2 DIAGRAMAS BIDIMENSIONAIS ADICIONAIS Um dos recursos mais poderosos do MATLAB é a habilidade de produzir gráficos que representam os dados com os quais os engenheiros e outros profissionais estão trabalhando. 66 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA Em outras linguagens de programação utilizadas por engenheiros e outros profissionais, a diagramação é um trabalho importante, que exige muito empenho ou pacotes de software adicionais, que não fazem parte da linguagem principal. Em vez disso, o MATLAB está pronto para criar diagramas de alta qualidade, com o mínimo de esforço. Estudaremos os diagramas bidimensionais e suas principais funcionalidades. Bons estudos! 3.2. 1 TIPOS ADICIONAIS DE DIAGRAMAS BIDIMENSIONAIS O MATLAB viabiliza a criação de uma multiplicidade de diagramas. São mais de vinte tipos. Temos, por exemplo, o diagrama de haste, de escada, de barras, de pizza e de bússola (CHAPMAN, 2018). Um gráfico de haste é um diagrama no qual cada valor de dados é figurado por um marcador e uma linha conectando os marcadores verticalmente ao eixo x. Observe o código e o gráfico do MATLAB logo abaixo. x = [ 1 2 3 4 5 6]; y = [ 2 6 8 7 8 5]; stem(x,y); title(‘gráfico de haste’) GRÁFICO DE HASTE DO MATLAB Fonte: elaborado pela autora (2022). #pratodosverem: imagem que representa um gráfico de haste do MATLAB. 67 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Um diagrama de escada é um diagrama no qual cada ponto de dados é figurado por uma linha horizontal e pontos sucessivos são ligados por linhas verticais para produzir o efeito de um degrau de escada (CHAPMAN, 2018). Observe o código e o gráfico do MATLAB logo abaixo. x = [ 1 2 3 4 5 6]; y = [ 2 6 8 7 8 5]; stairs(x,y); title(‘gráfico de escada’) GRÁFICO DE ESCADA DO MATLAB Fonte: elaborado pela autora (2022). #pratodosverem: imagem que representa um gráfico de escada do MATLAB. Um gráfico de barras é um gráfico em que cada ponto é representado por uma barra vertical ou horizontal, conforme o gráfico do MATLAB a seguir. x = [ 1 2 3 4 5 6]; y = [ 2 6 8 7 8 5]; barh(x,y); title(‘gráfico de barras’) 68 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA GRÁFICO DE BARRAS DO MATLAB Fonte: elaborado pela autora (2022). #pratodosverem: imagem que representa um gráfico de barras do MATLAB. Um gráfico de pizza é um gráfico representado por “fatias de pizza” de tamanhos variados. x = [ 1 2 3 4 5 6]; y = [ 2 6 8 7 8 5]; pie(x); title(‘gráfico de pizza’) GRÁFICO DE PIZZA DO MATLAB Fonte: elaborado pela autora (2022). #pratodosverem: imagem que representa um gráfico de pizza do MATLAB. 69 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Finalmente, um diagrama de bússola é um tipo de diagrama polar em que cada valor é representado por uma seta cuja extensão é proporcional a esse valor. Atente-se para o código e o gráfico do MATLAB logo abaixo. x = [ 1 2 3 4 5 6]; y = [ 2 6 8 7 8 5]; compass(x,y); title(‘gráfico de bússola’) GRÁFICO DE BÚSSOLA DO MATLAB Fonte: elaborado pela autora (2022). #pratodosverem: imagem que representa um gráfico de bússola do MATLAB. Para facilitar a consulta posteriormente, segue uma tabela com as principais funções adicionais de diagramação bidimensional. 70 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA PRINCIPAIS FUNÇÕES ADICIONAIS DE DIAGRAMAÇÃO BIDIMENSIONAL DO MATLAB Fonte: Chapman (2018, p. 256). #pratodosverem: imagem que representa uma lista com funções pré-definidas do MATLAB. 71 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 3.2.2 HISTOGRAMAS Um histograma é um gráfico que mostra a distribuição de valores em um conjunto de dados. Para construir um histograma, devemos separar o intervalo de valores de nosso grupo de dados em partes igualmente espaçadas e determinarmos quantos valores de dados vão para cada parte (CHAPRA, 2013). As contagens resultantes podem ser plotadas em função do número de partes. A função do histograma MATLAB padrão é hist. Os formatos dessa função são mostrados abaixo: 72 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA hist(y) cria um histograma com dez partes; hist(y,nbins) cria um histograma com n partes; hist(y,x) permite a configuração da quantidade de centros de compartimento e depois cria cada parte de maneira centralizada; [n,xout] = hist(y,...) cria os centros de compartimento e a contagem de cada um, não chegando a criar um histograma. Vamos a um exemplo! y = randn(10000,1); hist(y,15); title(‘histograma’) 73 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 HISTOGRAMA DO MATLAB Fonte: elaborado pela autora (2022). #pratodosverem: imagem que representa um histograma do MATLAB. 3.2.3 DIAGRAMAS TRIDIMENSIONAIS Um gráfico de linha tridimensional pode ser criado com a função plot3. Essa função é análoga à funçãode gráfico bidimensional, exceto que cada ponto é representado pelos valores x, y e z, em vez de apenas valores x e y (CHAPMAN, 2018). A forma mais simples dessa função é plot (x, y, z); em que x, y e z são matrizes de tamanho igual contendo as localizações dos pontos de dados a serem plotados. Vamos a um exemplo! 74 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA t = 0:0.1:10; x = exp(-0.2*t) .* cos(2*t); y = exp(-0.2*t) .* sin(2*t); plot(x,y); title(‘diagrama bidimensional’) DIAGRAMA BIDIMENSIONAL DO MATLAB Fonte: elaborado pela autora (2022). #pratodosverem: imagem que representa um diagrama bidimensional do MATLAB. 75 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 t = 0:0.1:10; x = exp(-0.2*t) .* cos(2*t); y = exp(-0.2*t) .* sin(2*t); plot3(x,y,t); title(‘diagrama tridimensional’) DIAGRAMA TRIDIMENSIONAL DO MATLAB Fonte: elaborado pela autora (2022). #pratodosverem: imagem que representa um diagrama bidimensional do MATLAB. Existem, ainda, os gráficos de malha, superfície e de nível. Vamos fazer o diagrama de malha. Perceba que precisamos definir uma matriz e o código deve ser configurado conforme a seguir: [array1,array2] = meshgrid(-4:0.1:4,-3:0.1:3); array3 = exp(-0.5*(array1.^2+0.5*(array1-array2).^2)); mesh(array1, array2, array3); title(‘diagrama de malha’); 76 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA DIAGRAMA DE MALHA DO MATLAB Fonte: elaborado pela autora (2022). #pratodosverem: imagem que representa o diagrama de malha do MATLAB. Vamos fazer o diagrama de superfície. O código deve ser configurado conforme a seguir. Perceba que precisamos definir uma matriz: [array1,array2] = meshgrid(-4:0.1:4,-3:0.1:3); array3 = exp(-0.5*(array1.^2+0.5*(array1-array2).^2)); surf(array1, array2, array3); title(‘diagrama de superfície’); DIAGRAMA DE SUPERFÍCIE DO MATLAB Fonte: elaborado pela autora (2022). #pratodosverem: imagem que representa um diagrama de superfície do MATLAB. 77 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 Vamos fazer o diagrama de nível. O código deve ser configurado conforme podemos observar a seguir. Note que precisamos definir uma matriz: [array1,array2] = meshgrid(-4:0.1:4,-3:0.1:3); array3 = exp(-0.5*(array1.^2+0.5*(array1-array2).^2)); contour(array1, array2, array3); title(‘diagrama de nível’); DIAGRAMA DE NÍVEL DO MATLAB Fonte: elaborado pela autora (2022). #pratodosverem: imagem que representa um diagrama de nível do MATLAB. 3.3 FUNÇÕES DE ENTRADA E DE SAÍDA Vamos compreender melhor como ocorre o processamento de arquivos no MATLAB. Para usar arquivos em um programa MATLAB, necessitamos, de alguma forma, escolher o arquivo desejado e ler ou gravar nele (PALM III, 2014). O MATLAB tem um jeito muito flexível de ler e gravar arquivos, estejam eles em um disco, unidade USB ou outro dispositivo ligado ao seu computador. Esse mecanismo é conhecido como identificador de arquivo (às vezes denominado fid). O ID do arquivo é um número imputado a um arquivo quando ele é aberto e é utilizado para todas as operações de leitura, gravação e controle desse arquivo. A chave do arquivo é um número inteiro positivo. Ambos os IDs de arquivo estão sempre ativados. O ID de arquivo 1 é o dispositivo de saída padrão (stdout) do computador 78 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA executando o MATLAB e o ID de arquivo 2 é o dispositivo de falha padrão (stderr). IDs de arquivo adicionais são atribuídos no momento em que os arquivos são abertos e liberados quando os arquivos são fechados. Várias funções MATLAB estão disponíveis para inspecionar a entrada e saída de arquivos para o disco. As funções de E / S de arquivo estão resumidas na tabela abaixo. IDs de arquivo são atribuídos a arquivos de disco ou dispositivos pela expressão fopen e separados pela expressão fclose. Depois que um arquivo é associado a um ID de arquivo usando a expressão fopen, podemos ler e gravar nesse arquivo usando as expressões de entrada e saída do arquivo MATLAB. Quando estamos em um arquivo, a expressão fclose o fecha e invalida o ID do arquivo. As expressões frewind e fseek podem ser colocadas para modificar a posição atual de leitura ou gravação de um arquivo, quando ele está aberto. Os dados podem ser lidos e registrados em arquivos de duas maneiras: como dados binários ou como dados de caracteres formatados (CHAPMAN, 2018). Os dados binários consistem em critérios reais de bits usados para guardar dados na memória do computador. Entender e gravar dados binários é muito efetivo, mas um usuário não pode ler os dados armazenados no arquivo. As informações do arquivo gerado são convertidas em caracteres, que podem ser lidos diretamente pelo usuário. No entanto, as alternativas de E / S formatadas são mais lentas e menos eficientes do que as operações de E / S binárias. Observe a tabela a seguir, com as principais funções de entrada e de saída do MATLAB. 79 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 PRINCIPAIS FUNÇÕES DE ENTRADA E DE SAÍDA DO MATLAB Fonte: Chapman (2018, p. 356). #pratodosverem: imagem que representa uma lista com funções predefinidas do MATLAB. 3.3.1 ABRINDO E FECHANDO ARQUIVOS Aqui temos, essencialmente, duas funções: fopen e fclose. A função fopen abre um arquivo e fclose fecha um arquivo (PALM III, 2014). A forma básica da função fopen é: fid=fopen(filename,permission) Vamos a um exemplo: considere que você deseja abrir um arquivo para a saída binária. Nesse caso, o comando deve ser: fid = fopen(‘exemplo.dat’,’r’) ‘r’ indica que o arquivo deve ser aberto somente para leitura. Observe, a seguir, outras opções de configuração da função fopen para abertura de arquivo. 80 MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 INFORMÁTICA APLICADA OPÇÕES DE CONFIGURAÇÃO DA FOPEN DO MATLAB Fonte: Chapman (2018, p. 369). #pratodosverem: imagem que representa as configurações da fopen do MATLAB. No caso da função fclose, a sua forma é: status = fclose(fid) Vale considerar que ‘fid’ é um ID do arquivo e status é o resultado da operação. Por exemplo, se colocarmos status = fclose(‘all’) teremos todos os arquivos fechados. 3.3.2 FUNÇÕES DE E/S BINÁRIAS O MATLAB possui algumas funções de E/S binárias. Vamos conhecer fwrite e fread. No caso da função fwrite, a sua forma geral é: count = fwrite(fid,array,precision) Sendo que o fid é o ID de um arquivo aberto, usando a função fopen, array é a matriz com os valores que ainda serão gravados e count é a quantidade de valores gravados para o arquivo. 81 INFORMÁTICA APLICADA MULTIVIX EAD Credenciada pela portaria MEC nº 767, de 22/06/2017, Publicada no D.O.U em 23/06/2017 ARQUIVOS Fonte: Freepik (2022). #pratodosverem: imagem que representa um código binário. A função fread permite a leitura de arquivos binários no formato que está dito pelo usuário por meio de um arquivo e volta os dados no formato determinado pelo usuário. A sua forma geral é: [array,count] = fread(fid,size,precision) Em que fid é o ID de um arquivo aberto com a função fopen, size é o número de valores a ser lido, array é a matriz para conter os dados e count é o número de valores lidos do arquivo. 3.3.3 FUNÇÕES DE E/S ESTRUTURADAS Temos algumas funções estruturadas. A primeira delas é a fprint. Essa função permite que os dados estejam conforme a especificação do usuário para um arquivo (CHAPMAN, 2018). A sua forma é: count = fprintf(fid,format,val1,val2,...) fprint(format,val1,val2,...) Fid é o ID de um arquivo, no qual os dados serão gravados,
Compartilhar