Escolar Documentos
Profissional Documentos
Cultura Documentos
Ficha de Exercícios
Nome – Número –
Todos os exercícios devem ser escritos num script.m. Deverão ser devidamente identificados
com o número de aluno e nome.
Exercício 1:
Dada uma matriz M (7x7) com números aleatórios entre -100 e 100, mostrar:
1) o maior elemento de cada linha da matriz;
2) o maior elemento de cada coluna da matriz;
3) a média dos elementos de cada coluna;
4) o produto de todos os elementos diferentes de zero;
5) o número de elementos positivos e negativos;
Exercício 2:
Dada uma matriz M (6 x 6) com números aleatórios. Formar um vetor com os elementos das
linhas pares da matriz (segunda, quarta e sexta linhas) e um outro vetor com as linhas ímpares.
Além disso, formar outro vetor com os elementos da diagonal principal. Mostrar a matriz e os
vetores.
Exercício 3:
A matriz transposta, em matemática, é o resultado da troca de linhas por colunas em uma
determinada matriz. Faça um algoritmo que leia uma matriz quadrada 10x10 com números
aleatórios e calcule a sua matriz transposta. Mostre a matriz e a matriz transposta.
Exercício 4:
Faça um algoritmo que leia uma matriz NxN (com N<=20) com números aleatórios e determine
se a matriz é simétrica ou não.
Exercício 5:
Faça um algoritmo que leia um vetor de 100 posições com números aleatórios e crie um outro
vetor com a mesma dimensão, mas com ordem crescente.
Exercício 6:
Faça um algoritmo que leia uma matriz 50x50 de números aleatórios e encontre o maior valor
da matriz. A seguir, multiplique cada elemento da diagonal principal pelo maior valor. Mostre a
matriz após as multiplicações.
Sistemas de Energia Elétrica
Ano letivo 2022/2023
Exercício 7:
Escreva um programa que leia um número inteiro positivo n e, em seguida, construa as n linhas
do chamado Triangulo de Floyd. Para n = 6, temos:
1 0 0 0 0 0
2 3 0 0 0 0
4 5 6 0 0 0
7 8 9 10 0 0
11 12 13 14 15 0
16 17 18 19 20 21
Exercício 8:
Exercício 9:
Escreva uma função, em ambiente de programação matlab, que inverta as posições dos
elementos de um vetor (exlº: [1 2 3 4] passa para [4 3 2 1]).
Exercício 10:
Pretende-se implementar, em ambiente de programação matlab, um programa que peça ao
utilizador um vetor e um número a remover. O programa deverá apresentar o vetor resultante
sem a presença do número a remover (exlº: [1 2 3 4] e remover 1 - logo o vetor resultante passa
para [2 3 4]).
Exercício 11:
Dado um vetor, substitua cada um dos elementos pela média do próprio e dos 2 vizinhos
adjacentes. Ex: [2 4 1 7 4 4] resulta em [3 2.3 4 4 5 4].
Exercício 12:
Usar a função anterior para gerar N valores no intervalo [0,1], N a especificar pelo utilizador.
De seguida, determinar quantos valores aleatórios ocorreram em cada um de k intervalos [1/k,
…, 1], k a especificar pelo utilizador. Determinar a média e desvio padrão dos valores gerados.
Exercício 13:
Construa uma função que, dada uma sequência com N números, determine quantos e quais os
elementos que são maiores do que a soma dos seus vizinhos. Ex: Y = (7 3 5 1 4 12 5 8); Resposta:
4 elementos, 1º, 3º, 6º, 8º.
Sistemas de Energia Elétrica
Ano letivo 2022/2023
Exercício 14:
Implementar o método das divisões sucessivas para a conversão de qualquer número inteiro
da base 10 para a base 2.
Exercício15:
Implementar o método para a conversão de qualquer número da base 2 (binário) para a base
10.
Exercício 16:
𝐧 𝒏
𝟐
‖A‖=√∑ ∑|𝒂𝒊𝒋 |
𝐢=𝟎 𝒋=𝟎
Exercício 17:
Calcular o produto de uma matriz A de dimensão (nxp) por outra matriz B de dimensão (pxm),
que resulta na matriz C = AB (nxm), tal que
𝑝 𝑖 = 1,2, … . , 𝑛
𝐶𝑖𝑗 = ∑𝑘=1 𝐴𝑖𝑘 𝐵𝑘𝑗 com {
𝑗 = 1,2, … . , 𝑚
Exercício 18:
1 1 1 1
𝜋 = 4 ∗ (1 − + − + − ⋯ . )
3 5 7 9
Exercício 19:
𝑋1 𝑌1 … 𝑋1 𝑌𝑚
𝑀𝑖𝑗 = 𝑋𝑖 𝑌𝑖 = [ … … … ]
𝑋𝑛 𝑌1 … 𝑋𝑛 𝑌𝑚
Exercício 20:
A função de Fibonacci pode ser expressa como F (0) = 0; F (1) = 1, F(n) = F(n-1) + F(n-2) para
n>1. Escreva em Matlab um programa que calcule de maneira recursiva até n = 20.
Sistemas de Energia Elétrica
Ano letivo 2022/2023
Exercício 21:
De todos os números naturais diferentes de 1 há apenas quatro que podem ser escritos como a
soma dos cubos dos seus algarismos. Um destes números é 153 = 1 3+53+33. Sabendo que estes
números se encontram entre 100 e 999, escreva um programa em Matlab que os determine.
Exercício 22:
Em muitas situações é conveniente ordenar uma sequência de valores de forma crescente ou
decrescente. Um dos algoritmos clássicos para ordenar uma sequência x 1, x2, …, xn de n valores
numéricos por ordem crescente consiste em selecionar sucessivamente o menor elemento e
colocá-lo no início da sequência. Escreva um programa em Matlab que ordene um vetor
numérico usando este método.
Exercício 23:
Exercício 24:
𝑛𝑖
𝑠𝑒 𝑛𝑖 𝑓𝑜𝑟 𝑝𝑎𝑟
𝑛𝑖+1 ={ 2
3𝑛𝑖+1 𝑠𝑒 𝑛𝑖 𝑓𝑜𝑟 𝑖𝑚𝑝𝑎𝑟
Repete-se o processo até se atingir o número 1. Por exemplo, se escolhermos partir do número
7, a sequência será:
7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
Escreva um programa em Matlab que leia um ponto de partida e gere a sequência dai em diante
até 1.
Sistemas de Energia Elétrica
Ano letivo 2022/2023
Exercício 25:
Para determinar o dia da semana a que corresponde uma data dada por três variáveis A, M, D,
correspondendo respetivamente ao valor do ano, mês e dia (todas inteiras, com 1≥ D ≤31, 1≥
M ≤12, A≥ 1582) pode usar-se o seguinte algoritmo:
O dia da semana é então dado por SEMANA = mod(F,7) com a correspondência 0=sábado,
1=domingo, 2=segunda, ... ,6=sexta.
(a) Escreva uma função em Matlab que determina o dia da semana duma data caracterizada
por A,M,D.
(b) Escreva um programa que use a função da alínea (a) para tabelar o dia de semana do Natal
de 1980 até ao ano 2050.
Exercício 26:
Um quadrado mágico é uma matriz quadrada de inteiros em que a soma de qualquer linha,
coluna, diagonal principal ou secundária é sempre a mesma. Escreva um programa em Matlab
que leia uma matriz quadrada A e determine se A é ou não um quadrado mágico.
Exercício 27: