O Laboratório de Sistemas Dinâmicos
Por: Marcos Ferreira • 16/3/2023 • Trabalho acadêmico • 571 Palavras (3 Páginas) • 156 Visualizações
[pic 1]
Laboratório de Sistemas Dinâmicos
Prática 1
Professor: Alcebiades Fogaça de Souza Sobrinho
Aluno: Marcos Carvalho Ferreira - 202010203
Turma: 22 A
- Dado as matrizes [pic 2] e [pic 3].
A = [1 1 6; 5 -2 1; 8 2 -3];
B = [2 9; -5 -1; 9 2];
% É preciso declarar as matrizes antes
- a. Determine se A e B são matrizes quadradas. PS.: O algoritmo deve ser válido para avaliar matrizes de quaisquer dimensões.
e_quadrada(A, "A")
e_quadrada(B, "B")
% Declarada uma função que verifica se a matriz é quadrada ou não
function e_quadrada(matriz, nome)
tam = size(matriz);
disp ("A matriz " + nome + ":");
- if (tam(1) == tam(2))
- disp ("é quadrada");
- else
- disp ("não é quadrada");
- end
- disp(" ")
end
- b. Quais elementos contêm o valor 2?
acha_2(A, "A")
acha_2(B, "B")
% Declarada a função que acha o número 2 nas matrizes
function acha_2(matriz, nome)
% Usamos "find" para encontrar as posições
[linha, coluna] = find(matriz==2);
tamanho = size(linha);
disp ("Na matriz " + nome + " existe o número 2 nas posições:");
for i = 1 : 1 : tamanho(1)
for j = 1 : 1 : tamanho(2)
disp("-> linha " + linha(i,j) + " coluna " + coluna(i,j))
end
end
disp (" ")
end
- c. Quais elementos contêm valores negativos?
acha_negativo(A, "A")
acha_negativo(B, "B")
% Declarada a função que acha o números negativos nas matrizes
function acha_negativo(matriz, nome)
% Usamos "find" para encontrar as posições
- [linha, coluna] = find(matriz<0);
- tamanho = size(linha);
- disp ("Na matriz " + nome + " existem números negativos nas posições:");
- for i = 1 : 1 : tamanho(1)
- for j = 1 : 1 : tamanho(2)
- disp("-> linha " + linha(i,j) + " coluna " + coluna(i,j))
- end
- end
- disp (" ")
end
- Determine a expressão para uma senóide exponencialmente convergente que oscila 3 vezes por segundo e cuja amplitude decresce com uma função exponencial e-2t. Trace o gráfico do sinal entre -10 ≤ t ≤ 10.
% Vetor tempo
t = -10:0.01:10;
% Vetor função
funcao = sin(2*pi*3.*t).*exp(-2*t);
plot(t,funcao);
[pic 4]
- Trace o gráfico de . Escolha uma faixa para t. [pic 5]
% Vetor tempo
t = -10:0.01:10;
% Vetor função
funcao = cos(t).*sin(20*t);
plot(t,funcao);
[pic 6]
- 4) Decomponha em frações parciais:
- a) [pic 7]
- b) [pic 8]
Mostre as funções decompostas obtidas na janela de comando.
% Letra A
[R,P,K] = residue([6 6], [1 4.59 0.5798])
[pic 9]
% Letra B
[R,P,K] = residue([1 2 3], [1 9 27 27])
[pic 10]
...