1 Introdução ao MatLab



Documentos relacionados
Pesquisa e organização de informação

Ambiente de trabalho. Configurações. Acessórios

O AMBIENTE DE TRABALHO DO WINDOWS

Departamento: Matemática Curso: Eng a Madeiras Ano: 1 o Semestre: 2 o Ano Lectivo: 2006/2007. Aula prática n o 1 - Introdução ao MATLAB

UNIVERSIDADE GAMA FILHO Laboratório de Controle I - MATLAB

Sistema Operativo em Ambiente Gráfico

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Tutorial de Matlab Francesco Franco

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira

Sistemas e Sinais (LEE & LETI)

LeYa Educação Digital

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

Conceitos importantes

Aplicações de Escritório Electrónico

Ferramenta de Testagem IECL Orientações para o Aluno (PT)

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

Office 365 Manual Outlook 365 Web Application

SISTEMA DE INFORMAÇÃO DAS PARTICIPAÇÕES DO ESTADO

COMPETÊNCIAS BÁSICAS EM TIC NAS EB1

A4 Projeto Integrador e Lista de Jogos

Os elementos básicos do Word

Google Sites. A g r u p a m e n t o C a m p o A b e r t o /

Google Drive. Passos. Configurando o Google Drive

Tratamento de Dados Utilizando o SciDAVis Tutorial Parte 1 Como construir um gráfico e fazer um ajuste linear

SAFT para siscom. Manual do Utilizador. Data última versão: Versão: Data criação:

FOLHA DE CÁLCULO EXCEL

Moldura Digital para Fotografias

Microsoft Office PowerPoint 2007

FICHA ORIENTADA Nº1. Barra de fórmulas. Área de trabalho T E C N O L O G I A S D E I N F O R M A Ç Ã O E C O M U N I C A Ç Ã O

Fórmulas e Funções 7

Iniciação à Informática

Microsoft Windows: # 1

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

Microsoft PowerPoint 2003

Iniciação à Recolha de Dados Com TI-Nspire CX

No final desta sessão o formando deverá ser capaz de trabalhar com imagens no Word, oriundas do ClipArt.

Laboratório de Sistemas e Sinais L1: Matrizes, Sons e Imagens

Clique no menu Iniciar > Todos os Programas> Microsoft Office > Publisher 2010.

Prof. Esp. Adriano Carvalho

MICROSOFT POWERPOINT

GESTÃO E ORGANIZAÇÃO DA INFORMAÇÃO

ALBUM DE FOTOGRAFIAS NO POWER POINT

Associação Educacional Dom Bosco Curso de Engenharia 1º ano

Configurar ligação VPN a rede do CIIMAR 2010

Formador: Carlos Maia

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

Seu manual do usuário EPSON LQ-630

Utilizar o Microsoft Offi ce OneNote 2003: Iniciação rápida

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO

Aplicações de Escritório Electrónico

Manual de Utilização. Site Manager. Tecnologia ao serviço do Mundo Rural

Arquivos e Pastas. Instrutor Antonio F. de Oliveira. Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro

Manual de Administração Intranet BNI

Capítulo Tabelas e Gráficos

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

SIMULADO Windows 7 Parte V

Emissão de Recibos a Clientes e Avisos de Lançamento a Fornecedores

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

Manipulação de Células, linhas e Colunas

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

Capítulo 5. ARQUIVOS E FUNÇÕES MATEMÁTICAS INTRÍNSECAS

PROGRAMAÇÃO Microsoft WINDOWS XP

1 Code::Blocks Criação de projetos

Análise de Sistemas Não Lineares por Plano de Fase Recorrendo ao MATLAB

No final desta sessão o formando deverá ser capaz de aceder ao Word e iniciar um novo documento.

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

Esta aplicação permite desempenhar tarefas relacionadas com o cálculo, análise e apresentação gráfica de dados, de uma forma rápida e eficaz.

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Manual do Utilizador. Impressoras de Rede / Sistemas Operativos Windows. Versão 1.3, Novembro de 2013

Manual do Spectacle. Boudhayan Gupta Boudhayan Gupta Tradução: André Marcelo Alvarenga

Usando o Excel ESTATÍSTICA. A Janela do Excel Barra de título. Barra de menus. Barra de ferramentas padrão e de formatação.

Noções de. Microsoft SQL Server. Microsoft SQL Server

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Ajuda: Pesquisa Web na base de dados Digitarq

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

Tecnologias da Informação e Comunicação: Sistema Operativo em Ambiente Gráfico

Configuração do Ambiente de Trabalho

O cursor se torna vermelho e uma Paleta de Edição contendo as instruções mais utilizadas é apresentada.

Manual do PDFCreator Versão 1

VM Card. Referência das Definições Web das Funções Avançadas. Manuais do Utilizador

Educação Digital

Dois Quentes, Dois Frios

Google Drive: Acesse e organize seus arquivos

Microsoft Windows. Aspectos gerais

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

Educação Digital. A aplicação 20 Manual é um novo conceito de manual escolar. Mais motivador,

Quadros Interactivos CLASUS

Oficina de Construção de Páginas Web

Introdução ao MATLAB

Centro de Competência Entre Mar e Serra. Guia

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado.

Linux Caixa Mágica 14. Como Gravar um Live CD. Julho 2009 Versão 1.1

Aluísio Eustáquio da Silva

Manual utilização. Dezembro Instituto Politécnico de Viseu

Manual do utilizador. Aplicação de agente

Transcrição:

1 Introdução ao MatLab O que é o MatLab? O MatLab é um sistema para cálculo científico que proporciona um ambiente de fácil utilização com uma notação intuitiva mas poderosa. Permite a realização de algoritmos numéricos sobre matrizes com o mínimo de programação. Além disso, no ambiente MatLab é possível a criação e manipulação de matrizes sem a necessidade de dimensionamento prévio e a manipulação das variáveis pode ser realizada de forma interactiva. O termo MatLab" tem origem na conjugação dos termos MATrix" e LABoratory". Figura 1 - Exemplos de aplicações do MatLab: gráfico 2D, processamento de imagens e gráficos 3D Para iniciar o programa MatLab seleccionar as seguintes opções de menu: Start fi Programs fi MatLab 7.0 1

Execute o programa. O desktop apresentado na Figura 2 deverá aparecer no ecrã. Figura 2 Imagem do desktop por defeito do MatLab. A aparência exacta do desktop pode diferir ligeira mente em diferentes tipos de computador. A interface apresenta na barra de comandos superior diversas opções, incluindo help, no qual se pode observar os diferentes comandos da linguagem, como será visto mais adiante. Os comandos são executados no MatLab pela linha de comando, através da prompt " >>" e, após a confirmação através da tecla <Enter>. O comando HELP Para esclarecer a maior parte das dúvidas acerca da utilização de uma dada função do Matlab o comando help é de grande utilidade. Se se pretender, por exemplo, informação sobre a função sin, basta fazer >> help sin obtendo-se a seguinte descrição SIN Sine. SIN(X) is the sine of the elements of X. O Matlab possui todas as funções organizadas em grupos e a própria estrutura de directórios onde o Matlab é armazenado em disco reflecte esse facto. Por exemplo, todas as funções de álgebra linear estão armazenadas no directório matfun. Para obter uma lista completa deste tipo de funções basta fazer >>help matfun 2

Como não é fácil decorar os nomes de todas as categorias de funções, existe uma janela de ajuda mais organizada, bastando para tal escrever o comando >>helpwin O comando LOOKFOR Quando se pretende encontrar uma função para resolver um problema, mas desconhecese se existirá alguma adequada no Matlab, o comando lookfor permite pesquisar as primeiras linhas do help" de todas funções da instalação do Matlab. Esta pesquisa é adequada para resolver a maior parte das situações uma vez que a primeira linha do help" de uma função contém sempre uma descrição sumária da sua funcionalidade. O seguinte exemplo procura pela palavra inverse". >>lookfor inverse Se se pretender que a função lookfor pesquise todas as linhas do help", pode-se utilizar a opção -all, tal como o seguinte exemplo ilustra. >>lookfor -all inverse O sistema Matlab O sistema Matlab é constituído pelas seguintes partes: A linguagem: Permite a manipulação e criação de matrizes de forma rápida e intuitiva. Diferentes soluções para um problema podem ser testadas numa fracção do tempo que levaria com outras linguagens (C ou Fortran por ex.). Possui um conjunto muito vasto de funções que permitem resolver problemas complexos de forma eficiente. O ambiente de trabalho: O Matlab proporciona um ambiente de trabalho que permite a gestão e visualização das variáveis, ler e gravar variáveis em disco e gerar programas em linguagem Matlab, possibilitando assim a automatização de cálculos complexos. Gráficos: As funções de criação, visualização e manipulação de gráficos são muito fáceis de usar e permitem a criação de gráficos 2D e 3D. O ajuste de escala é automático e o utilizador pode começar a utilizar as funções de geração de gráficos pouco tempo depois do primeiro contacto com o ambiente do Matlab. "Toolboxes": O Matlab disponibiliza um conjunto de pacotes de funções para as mais variadas áreas de cálculo científico, sendo estes denominados toolboxes". Existem toolboxes" para estatística, processamento de sinal, processamento de imagem, controlo, cálculo simbólico, etc. 2 Arrays no MatLab Um array é uma estrutura de dados organizada em linhas e colunas e identificado por um nome unívoco. Valores individuais de um array são acedidos, incluindo o nome do array seguido de subíndices entre parêntesis que identificam a linha e a coluna do valor particular. O termo vector é geralmente usado para descrever um array com uma 3

dimensão, e o termos matriz é geralmente usado para descrever um array com duas ou mais dimensões. Atribuição A atribuição de um valor a uma variável pode ser realizada da seguinte forma: >> x = 8 (não é necessário declarar a variável) O MatLab responderá com x = 8 Se o mesmo comando for digitado com o ";" no final da expressão >> x = 8; nada será exibido além do prompt de espera de um novo comando. Porém, ao digitar a variável "x" e pressionar o <Enter>, aparecerá o conteúdo actual de "x": x = 8 Criação de Matrizes Uma matriz, por exemplo, pode ser criada através do comando: ou >> A = [1 1 1; 2 2 2; 3 3 3] >> A = [1 1 1 2 2 2 3 3 3] e o resultado, para ambos os casos, será A = 1 1 1 2 2 2 3 3 3 Assim, o elemento a 11 = 1 é o primeiro elemento da linha 1, coluna 1 da matriz A. Quando são atribuídos valores às variáveis, estas guardam os valores até que novos valores sejam atribuídos ou o programa seja encerrado. Para limpar o conteúdo das variáveis, existe o comando "clear": >> clear; Comandos anteriormente submetidos ao MatLab podem ser recuperados e reexecutados a qualquer momento, usando-se a tecla de "seta para cima". 4

Índices O elemento da linha i e da coluna j de uma matriz A é designado por A(i; j). Por exemplo o elemento da linha 1 e coluna 3 da matriz A é designado por A(1; 3). Em notação Matlab, para obter o elemento A(1; 3) definida anteriormente, pode-se escrever e obtém-se >>A(1,3) ans= 3 Para alterar o valor do elemento A(1; 3) para 7 basta fazer >>A(1,3)= 7 Os índices das matrizes são números inteiros positivos pertencentes ao intervalo [1 N] em que N depende da memória disponível, e podem ser vectores declarados anteriormente. Se pretendermos por exemplo, extrair a segunda linha da matriz A podemos fazer >>v= A(2,[1 2 3]) v= 4 5 6 ou declarando primeiro um vector para os índices das colunas >>k= [1 2 3] >>v= A(2,k) v= 4 5 6 3 Utilização da ferramenta de Debug: É muito mais comum fazer erros num programa que contém funções, estruturas e ciclos, do que quando escrevemos um programa simples e sequencial. Mesmo garantindo que o programa foi elaborado seguindo todas as regras de projecto, é quase totalmente garantido que o programa conterá erros na primeira vez que for corrido. O MatLab possui uma ferramenta de debug e para explorá-la vamos utilizar um programa simples: Ficheiro script: calcula_raizes.m Este programa calcula as raizes uma equacao quadratica da forma a*x^2 + b*x + c = 0, sejam elas reais ou complexas. Data Programador Descricao da alteracao ==== ============= ===================== 15/04/06 Joao M. C. Sousa Codigo original 5

Definicao das variavais: a -- Coeficiente em x^2 b -- Coeficiente em x c -- Termo constante discriminante -- Discriminante parte_imag -- Parte imaginaria da equacao (para raizes complexas) parte_real -- Parte real da equacao (para raizes complexas) x1 -- Primeira solucao da equacao (para raizes reais) x2 -- Segunda solucao da equacao (para raizes reais) Pergunta ao utilizador os coeficientes da equacao disp('este programa calcula as raizes de uma equacao'); disp('quadratica da forma a*x^2 + b*x + c = 0.' ); a = input('introduza o coeficiente a: '); b = input('introduza o coeficiente b: '); c = input('introduza o coeficiente c: '); Calcula o discriminante discriminante = b^2-4 * a * c; Calcula as raizes dependendo do valor do discriminante if discriminante > 0 ha duas raizes reais x1 = (-b + sqrt(discriminante)) / (2*a); x2 = (-b - sqrt(discriminante)) / (2*a); disp('esta equacao tem duas raizes reais:'); fprintf('x1 = f\n', x1); fprintf('x2 = f\n', x2); elseif discriminante == 0 ha uma raiz dupla x1 = -b / (2*a); disp('esta equacao tem uma raiz dupla:'); fprintf('x1 = x2 = f\n', x1); else existem duas raizes complexas parte_real = -b / (2*a); parte_imag = sqrt(abs(discriminante)) / (2*a); disp ('Esta equacao tem raizes complexas:'); fprintf('x1 = f +i f\n', parte_real, parte_imag ); fprintf('x1 = f -i f\n', parte_real, parte_imag ); end Queremos saber o que acontece se corrermos o programa. Para isso podemos adicionar breakpoints, clicando com o botão direito do rato nas linhas em que temos interesse e escolhendo a opção Set/Clear Breakpoint. Quando utilizamos um breakpoint numa linha, aparece um ponto vermelho à sua esquerda. Uma vez criados os breakpoints desejados, pode correr-se o programa, escrevendo o nome do programa na janela de comandos. O programa correrá até encontrar o primeiro breakpoint. Aparecerá uma seta verde na linha one o programa parou a execução. Neste ponto o programador pode examinar e modificar qualquer variável do programa no workspace. Quando o 6

programador estiver satisfeito pode continuar a correr o programa linh a linha pressionando a tecla F10 ou pode correr o programa até ao próximo breakpoint pressionado a tecla F5. É sempre possível observar os valores de qualquer variável em qualquer ponto do programa. 4 Problemas de programação 1. A maioria dos microfones desenhados para serem utilizados em palco é microfones direccionais, que são construídos especificamente para realçar o sinal recebido do cantor que está á frente do microfone e para o ruído provocado pela audiência por trás do microfone. O ganho deste tipo de microfones varia em função do ângulo de acordo com a seguinte equação: EQUAÇÂO Onde g é a constante associada a cada microfone, e θ é o ângulo formado pelo eixo do microfone com a origem do som. Assuma que g é igual a 0.5 para um dado microfone, e faça um gráfico do ganho do microfone como função da direcção do som. Ficheiro Script: microfone.m Este programa faz o grafico padrao do ganho de um microfone cardioide Data Programador Descricao da alteracao ==== ========== ===================== 04/05/06 Susana Vieira Original code Definicao das variaveis:: g -- constante de ganho do microfone ganho -- Ganho como função do angulo theta -- Angulo do eixo do microfone (radians) Calcula o ganho versus o angulo g = 0.5; theta = 0:pi/20:2*pi; ganho = 2*g*(1+cos(theta)); Desenha o ganho polar (theta,ganho,'r-'); title ('\bfganho versus anglo \theta'); 7

2. Num gás ideal todas as colisões entre moléculas são perfeitamente elásticas. É possível pensar nas moléculas de um gás ideal como sendo bolas de snooker de rigidez perfeita, que colidem e separam-se sem perder energia cinética. Os gases ideais podem ser caracterizados por três grandezas: pressão absoluta (P), volume (V) e temperatura absoluta (T). A relação entre estas grandezas para um gás ideal, é conhecida como a Lei dos Gases Ideais: EQUAÇÂO Onde P é a pressão dos gases em kilopascais (kpa), V é o volume do gás em litros (L), n é o número de moléculas do gás em unidades de moles (mol), R é a constante universal dos gases ideais (8.314 L.kPa/mol.K) e T é a temperatura absoluta em Kelvin (K). (Nota: 1 mol = 6.02 E 23 moléculas) Assuma que uma amostra de um gás ideal contém 1 mole de moléculas à temperatura de 273 K. a) Como varia o volume do gás conforme a sua pressão varia entre 1 e 1000 kpa? Faça o gráfico da pressão versus o volume para este gás para as condições descritas. Use uma linha vermelha com espessura de 2 pixels. b) Suponha que a temperatura do gás aumenta para 373 K. Como é que o volume deste gás varia agora com a pressão? Faça o gráfico da pressão versus o volume deste gás, na mesma figura utilizada anteriormente. Use uma linha de traço interrompido azul, com espessura de 2 pixels. Inclua um título no gráfico e uma legenda para cada um dos eixos, x e y, assim como uma legenda para cada uma das linhas utilizadas. Ficheiro Script: gas_ideal.m Este programa faz o grafico da pressao versus o volume de um gas ideal Data Programador Descricao da alteracao ==== ========== ===================== 04/05/06 Susana Vieira Codigo Original Definicao das variaveis: n -- Numero de atomos (mol) P -- Pressao (kpa) R -- Contante dos gases ideais (L kpa/mol K) T -- Temperatura (K) V -- volume (L) Inicializar nrt n = 1; R = 8.314; T = 273; Moles de atomos Contante dos gases ideais Temperatura (K) Cria o array de pressoes de entrada. 8

P = 1:0.1:1000; Calcula os volumes V = (n * R * T)./ P; Cria o primeiro grafico figure(1); loglog( P, V, 'r-', 'LineWidth', 2 ); title('\bfvolume vs Pressao num Gas Ideal'); xlabel('\bfpressao (kpa)'); ylabel('\bfvolume (L)'); grid on; hold on; Aumenta a temperatura T = 373; Temperatura (K) Calcula os volumes V = (n * R * T)./ P; Adiciona uma segunda linha ao grafico figure(1); loglog( P, V, 'b--', 'LineWidth', 2 ); hold off; Adiciona uma Legenda legend('t = 273 K','T = 373 K'); 9