Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Exercícios de Programação em VBA para Análise de Sinais, Exercícios de Computação Aplicada

Trabalho sobre macro e transformada de laplace

Tipologia: Exercícios

2022

Compartilhado em 09/03/2022

victor-andrade-6b1
victor-andrade-6b1 🇧🇷

5

(1)

10 documentos

1 / 2

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Módulo1 - 1
Sub victor()
''PARTE 1 DA TABELA: FUNÇÃO DO TEMPO (t)
ActiveCell.Offset(1, 1) = "t"
ActiveCell.Offset(1, 2) = "fta(t)"
ActiveCell.Offset(1, 3) = "RFTn(t)"
ActiveCell.Offset(1, 4) = "IFTn(t)"
ActiveCell.Offset(1, 5) = "w"
ActiveCell.Offset(1, 6) = "FTa(w)"
ActiveCell.Offset(1, 7) = "AngFTa(w)"
ActiveCell.Offset(1, 8) = "FTn(w)"
ActiveCell.Offset(1, 9) = "AngFTn(w)"
'' fta(t)
Pi = 3.14159
i = 2
t = 0
dt = 0.01 '' Incremento utilizado para o tempo
While t <= 125.6 ''calculado através da fórmula : t = 2Pi/dw
gta = Cos(2 * t) * Exp(-1.5 * t) ''funcao recebida
ActiveCell.Offset(i, 1).Value = t
ActiveCell.Offset(i, 2).Value = gta
i = i + 1
t = t + dt
Wend
'' Real ftn(t) e Imaginário ftn(t)
a = 0 '' Ao calcularmos encontramos um valor negativo, o que indica que a função converge naturalme
nte, logo a =0
k = 2
t = 0
dt = 0.01
While t <= 125.6
w = -628.3 ''calculado através da fórmula : w = 2.Pi/dt
dw = 0.05 '' Incremento para a frequência
Sreal = 0
Simag = 0
While w <= 628.3
nr = 9.375 + 1.5 * w ^ 2 '' Numerador da parte real da função
ni = -w ^ 3 + 1.75 * w '' Numerador da parte imaginária da função
d = 39.0625 + w ^ 4 - 3.5 * w ^ 2 '' denominador de ambas as partes
Rftn = (1 / (2 * Pi)) * (Exp(a * t)) * ((nr / d) * Cos(w * t) - (ni / d) * Sin(w * t)) * dw
Iftn = (1 / (2 * Pi)) * (Exp(a * t)) * ((nr / d) * Sin(w * t) + (ni / d) * Cos(w * t)) * dw
Sreal = Sreal + Rftn
Simag = Simag + Iftn
w = w + dw
Wend
ActiveCell.Offset(k, 3).Value = Sreal
ActiveCell.Offset(k, 4).Value = Simag
k = k + 1
t = t + dt
Wend
''PARTE 2 DA TABELA: FUNÇÃO DA FREQUÊNCIA (w)
'' w |FTa(w)| <FTa(w)
s = 2
w = -628.3
dw = 0.05
pf2

Pré-visualização parcial do texto

Baixe Exercícios de Programação em VBA para Análise de Sinais e outras Exercícios em PDF para Computação Aplicada, somente na Docsity!

Módulo1 - 1 Sub victor() ''PARTE 1 DA TABELA: FUNÇÃO DO TEMPO (t) ActiveCell.Offset(1, 1) = "t" ActiveCell.Offset(1, 2) = "fta(t)" ActiveCell.Offset(1, 3) = "RFTn(t)" ActiveCell.Offset(1, 4) = "IFTn(t)" ActiveCell.Offset(1, 5) = "w" ActiveCell.Offset(1, 6) = "FTa(w)" ActiveCell.Offset(1, 7) = "AngFTa(w)" ActiveCell.Offset(1, 8) = "FTn(w)" ActiveCell.Offset(1, 9) = "AngFTn(w)" '' fta(t) Pi = 3. i = 2 t = 0 dt = 0.01 '' Incremento utilizado para o tempo While t <= 125.6 ''calculado através da fórmula : t = 2Pi/dw gta = Cos(2 * t) * Exp(-1.5 * t) ''funcao recebida ActiveCell.Offset(i, 1).Value = t ActiveCell.Offset(i, 2).Value = gta i = i + 1 t = t + dt Wend '' Real ftn(t) e Imaginário ftn(t) a = 0 '' Ao calcularmos encontramos um valor negativo, o que indica que a função converge naturalme nte, logo a = k = 2 t = 0 dt = 0. While t <= 125. w = -628.3 ''calculado através da fórmula : w = 2.Pi/dt dw = 0.05 '' Incremento para a frequência Sreal = 0 Simag = 0 While w <= 628. nr = 9.375 + 1.5 * w ^ 2 '' Numerador da parte real da função ni = -w ^ 3 + 1.75 * w '' Numerador da parte imaginária da função d = 39.0625 + w ^ 4 - 3.5 * w ^ 2 '' denominador de ambas as partes Rftn = (1 / (2 * Pi)) * (Exp(a * t)) * ((nr / d) * Cos(w * t) - (ni / d) * Sin(w * t)) * dw Iftn = (1 / (2 * Pi)) * (Exp(a * t)) * ((nr / d) * Sin(w * t) + (ni / d) * Cos(w * t)) * dw Sreal = Sreal + Rftn Simag = Simag + Iftn w = w + dw Wend ActiveCell.Offset(k, 3).Value = Sreal ActiveCell.Offset(k, 4).Value = Simag k = k + 1 t = t + dt Wend ''PARTE 2 DA TABELA: FUNÇÃO DA FREQUÊNCIA (w) '' w |FTa(w)| <FTa(w) s = 2 w = -628. dw = 0.

Módulo1 - 2 While w <= 628. nr = 9.375 + 1.5 * w ^ 2 ni = -w ^ 3 + 1.75 * w d = 39.0625 + w ^ 4 - 3.5 * w ^ 2 Real = (nr / d) Imag = (ni / d) FTa = Sqr(Real ^ 2 + Imag ^ 2) AngFTa = Atn(Imag / Real) * (180 / 3.14) ActiveCell.Offset(s, 5).Value = w ActiveCell.Offset(s, 6).Value = FTa ActiveCell.Offset(s, 7).Value = AngFTa s = s + 1 w = w + dw Wend '' |FTn(w)| <FTn(w) x = 2 a = 0 '' Explicação mostrada anteriormente w = -628. dw = 0. While w <= 628. t = 0 dt = 0. Sr = 0 Si = 0 While t <= 125. RF = Exp(-a * t) * Cos(2 * t) * Exp(-1.5 * t) * Cos(-w * t) * dt RI = Exp(-a * t) * Cos(2 * t) * Exp(-1.5 * t) * Sin(-w * t) * dt Sr = Sr + RF Si = Si + RI t = t + dt Wend FTn = Sqr(Sr ^ 2 + Si ^ 2) AngFTn = Atn(Si / Sr) * (180 / 3.14) ActiveCell.Offset(x, 8).Value = FTn ActiveCell.Offset(x, 9).Value = AngFTn x = x + 1 w = w + dw Wend End Sub