You are on page 1of 7

I INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

SIMULAÇÃO DE SISTEMAS DE COMUNICAÇÃO

Prática Laboratorial - 1- Introdução ao Matlab


“Comandos”

I.- Introdução.
A interface do Matlab é intuitiva e simples. Ao abrir a aplicação tem acesso ao ambiente de
desenvolvimento que se caracteriza por disponibilizar as seguintes secções:
 Barra de Menus dependentes da tarefa seleccionada;
 Área de introdução de comandos e visualização de resultados (prompt);
 Menu de navegação de directórios;
 Visualização do Workspace (variáveis criadas e existentes na memória);
 Visualização do histórico dos comandos introduzidos por sessão de trabalho;
 Acesso ao Editor para programação.

Vamos proceder à abertura de alguns módulos programados para verificar as


potencialidades.

Na linha de comandos escreva seguido de enter,


>> travel
>> truss
>> teapotdemo

II.- Configuração do directório de trabalho.


Antes de iniciar a sessão de trabalho é necessário modificar o directório de trabalho – menu
superior. Assim, tudo o que estiver neste directório estará disponível para o Matlab. São
exemplos disso os M-Files desenvolvidos.

Caso pretendas reconhecer o conteúdo de um directório mas trabalhar noutro então terás de
adicionar o primeiro ao conjunto de directórios em que o Matlab procura por código,
Menu “File”/Set_Path

III.- Iniciando com a Simulação em Matlab.

3.1.- Elementos da Álgebra


Pode definir constantes. Os nomes das variáveis não devem começar por números.

a) Faça:
>> a = 10, b = 5, c = 2

Sistemas de Comunicação -I- Relatório da prática laboratorial YF / IZ


I INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES
O operador “,” serve para realizar espaçamento entre instruções. Pode realizar mais do
que uma instrução na mesma linha.

O que vê na prompt do Matlab? Visualize o Workspace. O que regista?

[Resposta:]________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

Para limpar variáveis da memória pode apagá-las. Estando a monitorizar o workspace faça,
>> clear a
>> clear all

b) Volte a definir as mesmas variáveis, mas agora com uma pequena alteração nas linha
de código,

>> a = 10; b = 5; c = 2;

Também se pode pedir ao Matlab a listagem do workspace, na prompt faça: >> whos.

O que vê na prompt do Matlab? Visualize o Workspace. Qual a função do operador “;”


nesta linha de código?

[Resposta:]________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

Sobre as variáveis pode realizar operações. Para se aceder à listagem de operações


disponíveis, faça na prompt do Matlab,

>> help +

Sempre que queira saber algo (precise de ajuda sobre uma função) pode na prompt do
Matlab introduzir:
>> help [nome_função], (sem parentesis).

Outra forma de pedir ajuda é recorrer à barra de menus.


c) Realize a seguintes operações:

>> a = 10; b = 5; c = 2;
>> rho = ( 1 + sqrt(5))/2
>> b = abs(3+4*i)
>> ISUTC= exp(log(realmax))

Que cálculo é realizado em cada instrução?

Sistemas de Comunicação -I- Relatório da prática laboratorial YF / IZ


I INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

[Resposta:]________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

Com certeza reparou que foram feitas referências a variáveis não existentes no workspace e
o código correu sem problemas. O Matlab tem um conjunto de números definidos por defeito.

Qual o valor de …
[R]
Pi: ____________________________________
i :_____________________________________
j :_____________________________________
eps :___________________________________
realmax :________________________________
realmin :_________________________________
inf :_____________________________________
NaN :____________________________________

3.2.- Trabalho com Matrizes.


Iniciemos com a manipulação de matrizes.

a) Defina na prompt do Matlab a matriz A,

>> A = [ 16 , 2, 3 , 13 ; 5 , 11, 10, 8 ; 9 , 7, 6, 12; 4 , 14, 15, 1]

Os vectores e matrizes definem-se sempre por parêntesis rectos. Dentro dos argumentos
do vector o operador “,” separa os elementos e o operador “;” muda de linha.

Quais são as dimensões da matriz definida?

[Resposta:]________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

A dimensão de uma matriz pode ser lida pelo comando “size”.

b) Realize a soma dos valores por coluna da matriz, faça,

>> sum(A)

Alguma particularidade na resposta?

Sistemas de Comunicação -I- Relatório da prática laboratorial YF / IZ


I INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES
[Resposta:]________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

c) Transponha a matriz A e defina a matriz B como sendo a transposta, faça,

>> B = A’

d) Realize a soma dos valores por coluna. Alguma particularidade?

[Resposta:]________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

e) Aceda aos elementos da diagonal da matriz A e some-os, faça,

>> sum( diag(A) )

Pode encadear operações numa mesma instrução. Caso prefiras por legibilidade de
código podes fazer uma instrução por linha.

Note-se: As funções têm sempre parêntesis curvo para receber os argumentos.

O resultado anterior poderia ser obtido pela referência a cada elemento da matriz em
particular, faça:

>> A(1,1) + A(2,2) + A(3,3) + A(4,4)

Os elementos de um array são obtidos por referência dos seus índices dentro de
parêntesis curvos.

Qual a dimensão de diag(A)? Alguma particularidade quanto ao resultado?

[Resposta:]________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

Acabou de encontrar uma matriz mágica. Faça no Matlab,

>> A – magic(4)

Que operação acabou de realizar? Que lhe permite concluir?

Sistemas de Comunicação -I- Relatório da prática laboratorial YF / IZ


I INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

[Resposta:]________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

f) Que operações são realizadas pelas instruções seguintes: (pode fazer help para
pormenores)

>> n = 3
>> zeros(n) _________________________________________________
>> ones(n) _________________________________________________
>> eye(n) _________________________________________________
>> rand(n) _________________________________________________

Existem operações especialmente dedicadas à manipulação de matrizes já conhecidas.

Aqui são implementadas via,

>> rank(A) _________________________________________________


>> det(A) _________________________________________________
>> eig(A) _________________________________________________
>> inv(A) _________________________________________________
>> svd(A) _________________________________________________

g) Aceda apenas a algumas colunas ou linhas da matriz A faça,

>> D = A(1:3,:)

O operador “:” no primeiro caso é lido como “do índice 1 a 3” e no segundo caso
como “qualquer”.

Qual a semelhança entre D e A?

[Resposta:]________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

h) Apague uma coluna ou linha da matriz, faça:

>> D(:,2) = [ ]

O que foi apagado da matriz original A?

Sistemas de Comunicação -I- Relatório da prática laboratorial YF / IZ


I INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES
[Resposta:]________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

Quando se define uma matriz nem sempre tem de ser introduzido elemento a elemento.
Podem ser adicionados elementos a matrizes ou criada uma matriz a partir de matrizes.
Chama-se a isto concatenação. Faça na prompt do Matlab,

>> X = A
>> X(4,5) = 17

Qual a dimensão final de X ?

[Resposta:]________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

3.3.- Trabalho com Vectores.

a) Crie no Matlab o seguinte vector de inteiros:

>> n = [-5:5]’

O operador “:” nesta instrução indica a existência de um intervalo, no caso entre -5 e 5


com incremento unitário.

Como procederias para cumprir o mesmo objectivo noutra linguagem?

[Resposta:]________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

Sobre um vector de dados pode-se pretender realizar operações, nomeadamente calcular o


quadrado de cada entrada entre outras.

As operações sobre elementos de vectores são geralmente acompanhadas do


operador “.”. (Realizar : >> help + ).

b) Faça as seguintes operações:

>> pow = [ n, n.^2, 2.^n]

Qual o significado de cada coluna de pow?

Sistemas de Comunicação -I- Relatório da prática laboratorial YF / IZ


I INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

[Resposta:]________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

Podem-se realizar gráficos de dados armazenados em matrizes. Em relação ao exemplo


cada coluna da matriz tem o significado indicado.

c) Faça na prompt do Matlab:

>> plot(n,pow)

Qual o significado da curva azul, verde e vermelha?

[Resposta:]________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________
__________________________________________________________________________

O nível de iniciado está concluído. Decerto ficaste cansado de introduzir comandos e


de os reintroduzir quando algum erro acontecia. Utilizar a pompt do Matlab é apenas
para amadores, os profissionais utilizam as capacidades de programação que o Matlab
oferece.

Sistemas de Comunicação -I- Relatório da prática laboratorial YF / IZ

You might also like