Sei sulla pagina 1di 12

Problemas para as aulas práticas de ACE

Aula nª1

Verificar conta dos alunos

Acesso ao servidor ARCA através do my.ua.pt

Help do Matlab

O Matlab com Calculadora

Demos

Aula nª2

Elabore um “script” Matlab que resolva os seguintes problemas:

1.
a) Gere uma sequência de números pares com início em 4 e a terminar no
número 100.
b) Gere uma sequência numérica decrescente com início em 5 e a terminar
em -5.
c) Gere uma sequência numérica com 100 elementos pertencentes ao
intervalo [0, 1].
d) Gere uma sequência a começar em π e a acabar em −π com um passo de
−π/15.

2.
Gere um vector linha, x, com os múltiplos de 5 entre 10 e 70. A partir de x, crie um
vector coluna y com os múltiplos de 10 entre 10 e 70.

3.
Gere um vector coluna, x, com os 10 primeiros múltiplos de 3. A partir de x crie uma
matriz, A, com 6 linhas: a 3 primeiras iguais a x e as 3 seguintes contendo x
ordenado de forma decrescente.
4.
Crie um vector S com os primeiros 15 inteiros pares. De seguida crie uma matriz M
com 3 colunas de acordo com as seguintes especificações: 1ª coluna deve ser
igual a S, 2ª coluna deve conter os elementos de S por ordem decrescente e a 3ª
coluna deverá conter a diferença das duas primeiras.

Aula nª3

Elabore um “script” Matlab que resolva os seguintes problemas:

1.
a) Crie uma matriz 4 × 4 em que todos os elementos são iguais a 1+ j2.
b) Com a função eye crie uma matriz diagonal 4 × 4 em que todos os
elementos da diagonal são iguais a 3.
c) Construa um vector com 128 elementos com a seguinte sequência:
[0 1 0 −1 0 1 L 0 −1]

2.
Gere um vector coluna, x, com os 100 primeiros termos da sequência
un = 2n2 − 2 , n = 0,1,...
A partir de x crie uma matriz, A, com 6 linhas: a 3 primeiras iguais a x e as 3
seguintes contendo x ordenado de forma decrescente.

3.
Comece por gerar um vector “NImp” com os primeiros 50 inteiros ímpares e um
vector “Npar” com os primeiros 50 inteiros pares. Aproveite estes vectores para,
com, indexação vectorizada, gerar os primeiros 100 termos da sequência un
de acordo com a seguinte regra
 1 1
 n + 3 − n + 4 se n ímpar
un = 
 1 − 1 se n par
 n + 4 n+5
100
Calcule S = ∑ un e P = ∏100
n =1 u n .
n =1

Aula nª4

Elabore um “script” Matlab que resolva os seguintes problemas:

1
Gere de forma eficiente uma matriz A (4×4) com os.16 primeiros inteiros pares.
Extraia dessa matriz e de forma eficiente um vector V com os números múltiplos de
4.
Sugestão: consulte o help sobre a função rem(m,n)

2
(
Comece por calcular os parâmetros φ e ψ de tal forma que φ = 1 + 5 / 2 e )
ψ = 1− φ .
a) Para n=1,…20 calcule a sequência Fibonacci dada pelo arredondamento às
unidades de,
φn − ψ n
Fn =
5
b) Comprove numericamente que a soma dos 10 últimos termos é múltipla de
11
c) Comprove numericamente que,
10
∑ Fn = F12 − 1
n=1

3
Gere o vector N com os primeiros 945 inteiros. De seguida obtenha um vector R,
fazendo R=rem(945,N), contendo os ‘restos de divisão’ de 945 por cada elemento
de N.
a) Obtenha, de forma não explícita, um vector D com todos os divisores de
945.
b) Mostre numericamente que 945 é um número inteiro abundante, isto é, a
soma de todos os seus divisores é superior ao dobro dele próprio.
c) Apresente todos os divisores de 945 numa matriz quadrada.

4
Suponha que pretendia visualizar o gráfico da função y

 = | − 1
 − 2
 − 3
|

quando a variável x pertence ao intervalo [-5,5].

a) Gere um vector x com 200 pontos distribuídos uniformemente no intervalo


indicado.
b) Faça o gráfico da função utilizando como argumento o vector da alínea
anterior. A linha deve ser a tracejado preto, o eixo das abcissas deve ter a
gama [-5 … 5] e o das ordenada de [-10 … 10], e o gráfico deverá
apresentar uma grelha. Documente o gráfico convenientemente.
c) Utilize a função ginput para recolher as coordenadas x e y de 3 pontos à
sua escolha.
5
Suponha que pretendia visualizar o gráfico do seguinte polinómio


=   − 

a) Utilizando o Matlab calcule as raízes deste polinómio.


b) Construa um gráfico do polinómio p(x) utilizando como argumento um
vector x com 200 elementos pertencentes ao intervalo de -2 a 2. A linha
deve ser a cheio e de cor vermelha, os eixos das abcissas e das ordenadas
devem estar compreendidos de -2 a 2. Adicione ao gráfico uma grelha com
o objetivo de visualizar melhor os zeros da função.

Aula nª5

Elabore um “script” Matlab que resolva os seguintes problemas:

1.
Considere a função a seguinte função,

f ( x ) = sin ( 5x ) e x
x ∈ [ 0,3π] 
a) Calcule f(x) a partir de 250 pontos.
b) Elabore o gráfico de f(x) com uma linha azul. Sobreponha no mesmo

gráfico, com linha preta, a função g ( x ) = e


x
para os mesmos valores
de x. Legende o gráfico convenientemente.
c) Identifique no gráfico anterior com "*" vermelhos os pontos em que.
f − g < 0.01 .

2.
Considere a função do tempo B ( t ) = P ( t ) sin ( 8πt ) t ∈ [ 0,8] s e

P ( t ) = t 3 -5t 2 +3t-1

a) Calcule B(t) e P(t) usando um passo de amostragem de 0.01s.


b) Produza os gráficos de B(t) e P(t) sobrepostos numa só figura. A curva B(t)
deverá ser a azul e a curva P(t) deverá ser a vermelho. Não deve recorrer
ao comando hold on. Documente devidamente o gráfico.
c) Determine e marque no gráfico anterior com "*" pretos os pontos em que
B − P < 0.05 e P<-5
3.
Obtenha a matriz (dimensões [5×100]) de séries de valores de sin(n.x), com
x∈[0,2*pi], definido em 100 pontos e n=1, 2, …, 5; cada linha (1 a 5) corresponde à
série de valores respetiva (sin(x) a sin(5x). A partir da matriz de dados que obteve:
a) Apresente as 5 séries de valores sobrepostas num mesmo gráfico e
documente-o convenientemente.
b) Numa outra figura, apresente as séries 1, 3 e 5 em 3 sub-gráficos com
disposição horizontal. Documente a figura convenientemente.
4.

Considere a função complexa


=  − 1
 1 + 2
 

a) Calcule a função Z(x) com 200 pontos no intervalo x∈[-π,π].


b) Crie uma figura com 2 gráficos dispostos verticalmente. Em cima deverá
apresentar o gráfico de Z(x) com razão de aspeto unitária. Em baixo deve
apresentar de forma sobreposta as partes real e imaginária de Z(x).
Legende adequadamente os gráficos.
c) Calcule o número de pontos de Z(x) com parte imaginária superior a -3.
Volte a apresentar o gráfico de Z(x) e desta vez sobreponha-lhe os pontos
onde Z(x) tem parte imaginária superior a -3. Use o marcador ‘.’ vermelho.
Apresente a grelha.

Aula nª6

Elabore um “script” Matlab que resolva os seguintes problemas:

1.
Gere um vector linha x com 1000 números complexos em que a parte real é
constituída por números aleatórios com distribuição uniforme no intervalo ]3; 4[ e
a parte imaginária é constituída por números aleatórios com distribuição normal
com média -1 e desvio padrão 5.
a) Calcule a média e o desvio padrão do valor absoluto de x.
b) Visualize numa área gráfica 1x2, à esquerda o histograma com 20 classes
do valor absoluto de x e à direita, o histograma com 30 classes do ângulo
de x. Acrescente os títulos necessários a uma boa compreensão do gráfico.
c) Calcule a percentagem de pontos situados no 4ª quadrante do plano
complexo.
2.
Considere o vector complexo com 200 elementos Z = A exp(iθ) em que A
resulta duma distribuição aleatória uniforme no intervalo ]0; 2[ e θ resulta duma
distribuição aleatória uniforme no intervalo ]0; 2pi].
a) Calcule o vector Z.
b) Crie uma figura com 4 áreas gráficas numa configuração 2x2. Represente
em todas as áreas gráficas a circunferência unitária com uma linha
vermelha (200 pontos). Acrescente a grelha e mantenha em todos os
gráficos uma razão de aspecto unitária.
c) Sobreponha em cada área gráfica os valores de Z que pertencem ao 1º, 2º,
3º e 4ºquadrantes respectivamente. Use “*” azuis para marcar os valores de
Z. Documente devidamente cada gráfico.
Nota: Recorde que um modo eficiente de obter gráficos de circunferências
unitárias é recorrer a funções complexas do tipo C= exp(ix) Use 200
pontos para x [0, 2pi].

3.
Um alvo circular é usado para treino de tiro com arco. O alvo está a dividido em 3
zonas concêntricas às quais correspondem as seguintes pontuações: Z1: 2 pontos,
Z2: 5 pontos, Z3: 10 pontos. Para simular em computador considere o alvo
definido no círculo unitário e que as diferentes zonas se caracterizam da
seguinte maneira:
• Z1: 0.5 <= raio < 1
• Z2: 0.1 <= raio < 0.5
• Z3: raio <= 0.1
Calcule a pontuação obtida em 100 tiros admitindo que a respectiva posição no
alvo pode ser simulada por 2 coordenadas x e y em que ambas resultam de
distribuições aleatórias Gaussinas de média 0.05 e desvio padrão 0.2.

Aula nª7

Elabore um “script” Matlab que resolva os seguintes problemas:

1.
Calcule aproximadamente área abaixo da curva definida pela função y =f(x) no
intervalo x [0; 3] usando o método de Monte Carlo. Gere o número de pontos
suficientes.
2.
Recorra ao método de Monte Carlo para calcular aproximadamente a área
sombreada da figura.

3.
Recorra ao método de Monte Carlo para calcular aproximadamente a área a
amarelo (onde se encontra a letra A) da figura. A figura é constituída por uma
circunferência grande (vermelho) centrada em (0,0) e raio 2 e uma mais pequena
centrada em (1,1) de raio unitário.
A

4.
Resolva o seguinte sistema de equações:
 y + z − (2 + i ) x = i

2 x = z + 2 − 3i
2 + 5i = (3 + i ) z − y

Calcule os coeficientes do polinómio cujos zeros são a solução deste sistema.


Faça o gráfico da parte real do polinómio com 200 pontos no intervalo [-1,5].

Aula nª8

Elabore um “script” Matlab que resolva os seguintes problemas:

1.
Considere a seguinte função f(x,y) definida no domínio x∈[-1,1] ∧ y∈[-1,1]:

, 
= 1 +   +  
 4π  +   

Calcule a função numa grelha de 51×51 pontos e elabore um gráfico de superfície


utilizando sombreado interpolado. Acrescente as legendas necessárias para
aumentar a legibilidade do gráfico.
2.
Considere a seguinte função de duas variáveis, x e y:

, 
= 5 sin2π − 
 + 36π + 
 + 10π − 


Construa um gráfico planar de pseudo-côr de f(x,y) para x∈[-1,1] ∧ y∈[-1,1] numa


grelha de 71×71 pontos. Aplique sombreado interpolado. Sobreponha nesse gráfico
8 curvas de nível de f(x,y) a preto. Rotule devidamente os eixos e apresente
também a barra de cores.

3.

Represente por um gráfico de superfície a função:

2   + 3 
&, 
=
cos

Sendo x e y ambos definidos por 51 pontos no intervalo [-1,1]. Assinale no mesmo


gráfico a origem dos eixos coordenados com um asterisco vermelho. Sobreponha
ao gráfico de z(x,y) os gráficos dos planos z=0 e x=0. Acrescente os títulos e
legendas adequados à boa compreensão do gráfico. Aumente os limites dos eixos
de forma a deixar uma margem de 10% em relação aos limites do gráfico.

4.

Considere a seguinte função de variável complexa:

* = & + − 1
,

definida na grelha x∈[-1.5,1.5] ∧ y∈[-1.5,1.5] e com z=x+iy. Considere 61 pontos


tanto para x como para y. Elabore um gráfico de superfície para o valor absoluto
desta função. Apresente a barra de cores e acrescente as legendas adequadas.

Aula nª9

Elabore um “script” Matlab que resolva os seguintes problemas:

1.

Dada uma nota inteira de 0 a 20 (recorra ao comando input para inserir um valor via
teclado) utilize uma estrutura de decisão para devolver a nota qualitativa (MAU,
MED, SUF, BOM, MB). Preveja também a situação da nota introduzida não estar na
gama referida (0 a 20) devendo nesse caso ser devolvida uma mensagem que
indique nota inválida.
2.

Recorrendo a um ciclo ‘for’ comece por gerar a sequência un até n=10000 com

1⁄  +   í2 34
-. = / .
1 + 15   34

De seguida, com um novo ciclo ‘for’ calcule 6 = 90 ∑ -. para n ímpar. Termine o
,

exercício calculando (u10000)i S em que i é a unidade imaginária.

3.

Gere uma sequência aleatória x com 200 números inteiros equiprováveis no


intervalo [1,50[.

a) Use um ciclo ‘for’ para calcular os valores máximo e mínimo de x.


Determine também os respetivos índices relativamente à sequência.
b) Modifique a solução anterior para contemplar casos de múltiplas
ocorrências dos valores extremos.
4.

Crie uma matriz de números inteiros no intervalo [1,1000] provenientes duma


distribuição aleatória equiprovável. Recorra a um ciclo while para obter uma lista
contendo até 10 múltiplos de 11 caso existam.

Aula nª10

Nota: Na resolução dos exercícios desta aula use a ferramenta de debug para corrigir
eventuais erros no código das funções e para observar o valor das variáveis internas.

1.
Construa uma função, com o nome faula10_1, que deve ter como parâmetro de
entrada uma matriz com as notas dos testes de uma disciplina (de 0 a 100) e como
saída um vector com as notas finais (de 0 a 20). Cada linha da matriz de entrada
contem as notas de uma aluno e um número de colunas igual ao numero de testes
realizados. Considere que os testes têm o mesmo peso relativo.

2.
Considere a expansão em série de Taylor da função exponencial dada pelo
somatório.
x 2 x3 N xn
ex = 1+ x + + + ... = ∑
2! 3! n =1 n !

Elabore uma função em Matlab, com o nome faula10_2, que calcule o valor deste
somatório. Resolva com um ciclo for. Os parâmetros de entrada são o valor de N e
o vector x e o de saída o valor da série.
3. Considere o exercício número 4 da aula 9. Escreva uma função, com o nome
faula10_3, que tenha como parâmetro de entrada uma matriz de números inteiros e
a saída um vector com 10 múltiplo de 11.

4. Considere o exercício número 3 da aula 3. Escreva uma função, com o nome


faula10_4, que tenha como parâmetros de entrada os vectores “NImp” e “Npar” e
como parâmetros de saída o valor da sequência un a soma S e o produto dos
termos P. A soma e o produto deverão ser calculados em duas sub-funções com o
nome s_soma e p_producto, ambas as funções têm como parâmetro de entrada a
sequência e de saída a soma e o produto, respetivamente. Deverá usar um ciclo for
para calcular a soma e o produto.

Aula nª11

Elabore um “script” Matlab que resolva os seguintes problemas:

1.
O ficheiro notas.txt contém as notas obtidas pelos alunos de uma dada disciplina
nos 4 testes realizados. As notas de cada teste estão numa escala de 0 a 100. Leia
com um comando Matlab o ficheiro notas.txt. Considerando que o peso dos dois
primeiros testes é de 20% e dos dois últimos é de 30%, calcule um vector com as
notas finais (0 a 20) de cada aluno arredondados às unidades. Apresente o
histograma das notas finais da disciplinas com 20 classes. Adicione as legendas
adequadas para que se consiga interpretar a informação do gráfico.

2.
O ficheiro geoq.txt, em formato ASCII, contém dados reais obtidos a partir da
análise química de 82 amostras de rochas recolhidas na região de Lamego
(Portugal). Os dados estão organizados segundo uma matriz 82×6, correspondendo
cada linha a uma amostra efetuada. As duas primeiras colunas (1 e 2) apresentam
as coordenadas X e Y da localização das amostras no mapa, e as restantes
colunas (3 a 6) têm os resultados das análises químicas relativas aos seguintes
compostos químicos:

%SiO2 óxido de silício (sílica)


%Fe2O3 óxido de ferro (Fe3+)
%CaO óxido de cálcio
%MgO óxido de magnésio

O ficheiro labels.mat contém textos de identificação das 6 colunas, incluindo as


unidades físicas em que se expressam os valores de geoq.txt. Deverá usar os
dados destes ficheiro para as legendas. Há que ter em atenção que não existem
resultados de análises de MgO em todas as amostras, tendo os valores ausentes
sido substituídos pelo valor -99999. Nestes casos, estes valores deverão ser
ignorados.
Escreva os comandos Matlab necessários à criação, de uma janela gráfica dividida em
2x2, dos seguintes diagramas de dispersão:
SiO2 versus CaO …… SiO2 versus Fe2O3
CaO versus MgO CaO versus Fe2O3

Estes diagramas consistem em gráficos xy em que são representada


concentrações de um composto químico em função de outro. Tal como mostra
a figura (já inclui uma recta de regressão sobreposta, tal como é pedido na
alínea b).
4.5

3.5

3
CaO (%)

2.5

1.5

0.5
60 62 64 66 68 70 72 74
SiO2 (%)

a) Calcule os parâmetros a e b da respectiva equação y=ax+b, que melhor se


ajusta aos pontos experimentais SiO2 vs. CaO, o que pode ser feito
recorrendo a métodos numéricos (chamados “de regressão linear”)
frequentemente implementados em ferramentas computacionais, como é o
caso do Matlab. A recta deve ter cor vermelha tal como mostra a figura.

b) Calcule agora os coeficientes de um polinómio de grau 2 que melhor se


ajusta aos pontos experimentais SiO2 vs. Fe2O3. Adicione a curva do
polinómio à despectiva janela gráfica.

c) Calcule agora os coeficientes de um polinómio de grau 3 que melhor se


ajusta aos pontos experimentais CaO vs. MgO. Adicione a curva do
polinómio à despectiva janela gráfica.

d) Calcule agora os coeficientes de um polinómio de grau 4 que melhor se


ajusta aos pontos experimentais CaO vs. Fe2O3. Adicione a curva do
polinómio à despectiva janela gráfica.

Potrebbero piacerti anche