Você está na página 1de 5

Sistemas de Energia Elétrica

Ano letivo 2022/2023

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:

Pretende-se implementar, em ambiente de programação matlab, um programa que através de


um vetor introduzido pelo utilizador, conte o total de valores repetidos consecutivamente
(expº: [1 2 2 3 3 4 4 4] tem 4 valores repetidos).

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:

Calcular a norma de Frobenius, que é definida pela seguinte expressão:

𝐧 𝒏
𝟐
‖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:

Calcular o valor de π, com uma dada precisão, utilizando a série:

1 1 1 1
𝜋 = 4 ∗ (1 − + − + − ⋯ . )
3 5 7 9

Exercício 19:

Calcular o produto externo entre os vetores X e Y de tamanhos n e m, respetivamente, que


resulta matriz M = XYT de dimensão (n x m), tal que

𝑋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:

Escreva, em linguagem Matlab, a seguinte rotina:


function[ a, b] = matriz(x)
Onde:
x é vetor dado (parâmetro de entrada)
a é o valor máximo de x (parâmetro de saída)
b é o valor mínimo de x (parâmetro de saída)

Exercício 24:

A sequência habitualmente designada de Collatz pode ser expressa através da seguinte


equação: inicia-se com um qualquer natural; o próximo número da sequência, obtém-se do
anterior dividindo-o por 2 se ele for par ou adicionando 1 ao seu triplo se ele for ímpar.

𝑛𝑖
𝑠𝑒 𝑛𝑖 𝑓𝑜𝑟 𝑝𝑎𝑟
𝑛𝑖+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:

(Primeiro calculamos um valor F:)


se o mês for janeiro ou fevereiro:

F = 365 × A + 31 ×(M - 1)+D + int((A - 1)/100 + 1)

para os restantes meses:

F = 365 × A + 31 ×(M - 1)+D - int(0.4 ×M + 2.3)+int(A/4)- int(0.75 ×(int(A/100)+ 1))

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:

Escreva um programa em Matlab que gere e escreva um quadrado mágico. ☺

Você também pode gostar