Comandos de entradas e saídas de dados

Ver Todos os Exercícios

Teoria

Para que isso serve?

Opa, iae está tudo bem?

Hoje vamos conversar um pouco sobre os comandos de entrada e saída de dados.

Quando estamos criando algum algoritmo sempre precisamos começar de um ponto zero e esse ponto se chama entrada de dados.

Uma vez que todo o comando do algoritmo é executado, uma informação precisa sair da sua rotina e esses são os comandos de saída de dados.

Mas qual a importância de saber disso né?

Vamos imaginar que você trabalha como atendente de farmácia, chega um cliente, mas ele não fala nada.

Como você saberia qual remédio pegar na despensa?

Se o cliente não falar nada, você não tem como proceder o atendimento e logo não tem como entregar o produto que o cliente deseja. Sendo assim, se não existe uma entrada de dados, não tem como o código proceder e o algoritmo não cumpre seu objetivo.

De uma forma similar, se ele falasse o produto que deseja e você fosse na despensa buscar, mas não entregasse a ele, o atendimento não se completaria. Sem a saída de dados, a rotina não teria fim.

E que comando são esses né? Então vamos laaaaaa

Comandos de entrada de dados.

Como já conversamos, os comandos de entradas de dados são os pontos iniciais de qualquer algoritmo. A utilização de um comando de entrada de dados possibilita que seu código possa solicitar e atribuir os dados do problema via teclado.

Basicamente no Matlab a função que realiza esse trabalho é a função input. Para entendermos como ela funciona, vamos anexar uma variável a qualquer com o comando input.

Basta abrir a aba new script e inserir o seguinte código:

X = i n p u t ( ‘ d i g i t e   o   v a l o r   d e   a   =   ‘ )

Salvando o arquivo e executando o código, deve mostrar algo assim:

Ou seja, agora o Matlab pergunta qual valor será indexado à variável.

Repara que podemos escrever o que quisermos na mensagem que aparece ao usuário: chamamos a variável de X no programa, mas pedimos ao usuário pra digitar o valor de a .

Então fica ligado, o nome da variável tem que ser claro pra você e pras outras pessoas que estão mexendo no código, já a mensagem exibida tem que deixar claro pro usuário do programa o que tá sendo pedido.

Logo, de uma forma geral a sintaxe é dada por:

n o m e   d a   v a r i a v e l = i n p u t ‘ m e n s a g e m ’

Comandos de saída de dados.

Quando estamos falando dos comandos de saídas de dados para o Matlab temos dois, a função disp e a função fprintf.

A diferença entre essas funções é que a f p r i n t f possibilita uma melhor formatação da saída de dados em relação a função d i s p .

Vamos continuar o exemplo passado:

Aproveitando o código anterior vamos inserir mais uma linha que é:

a = d i s p ( X )

Se você digitou tudo certinho, ao inserir a variável no command window, vemos:

Ou seja, após inserir a variável, o command window imprimiu o valor dela sendo 10.

Só que fica uma coisa desorganizada, meio solta né? Imagine você com um código que tem várias informações de saída, essa função não fica muito legal.

Por isso existe a função f p r i n t f , que tem alguns detalhes adicionais que auxiliam na formatação da saída de dados.

Mas antes de falar isso vamos utilizar o exemplo anterior e escrever a seguinte linha:

f p r i n t f ( ‘ O   v a l o r   d a   c o n s t a n t e   A   é   % f ’ , X )

Ao digitar tudo certinho, a saída de dados agora fica assim:

Ou seja, a função f p r i n t f possibilita também a inserção de textos e sua sintaxe geral é dada por:

f p r i n t f ( ‘ m e n s a g e m   q u e   s e   d e s e j a   i m p r i m i r ’ ,   v a r i a v e l   q u e   s e   d e s e j a   i m p r i m i r )

Porém na linha que escrevemos tem um % f , e você deve estar se perguntando o que é isso né?

Na função f p r i n t f você precisa indicar qual tipo de variável ele vai imprimir quando estiver escrevendo a mensagem da impressão.

Nesse exemplo, eu pedi para ele imprimir uma variável do tipo % f , que é uma variável flutuante, por isso ela foi impressa de forma decimal.

Sempre que escrever a mensagem, na posição que se deseja imprimir a variável no texto você precisa indicar que tipo de variável ela é.

Por exemplo vamos supor que queremos imprimir uma data, vamos escrever na aba new script o seguinte código

d d = 10 ;

m m = 12 ;

a a = 1975 ;

f p r i n t f ( ‘ u m a   d a t a   m u i t o   e s p e c i a l :   % i / % i / % i ’ , d d , m m , a a )

Ao executar o código, o Matlab irá mostrar para você a seguinte informação:

Ou seja, eu queria imprimir os valores das datas após o ponto, então onde iria imprimir eles eu indiquei que a impressão é do tipo inteira com a informação %i.

Logo a função f p r i n t f   permite uma formatação bem mais flexível da saída de dados. E para isso, você precisa apenas saber os seguintes códigos:

Para finalizar vamos realizar um problema mais completinho:

Exemplo: Escreva um código que, dado dois valores, retorne a média desses valores.

Primeiramente vamos escrever o algoritmo para termos uma ideia do que se passa no código:

  1. Entrada de dados ( A e B )
  2. Cálculo da média com a função M = A + B 2
  3. Saída de dados com o valor da média.

Uma vez que o algoritmo está pronto, vamos escrever o código!

Primeiramente precisamos inserir a entrada de dados:

A = i n p u t ‘ d i g i t e   o   v a l o r   d e   A       : ’ ;

B = i n p u t ‘ d i g i t e   o   v a l o r   d e   B       : ’ ;

Agora que criamos a entrada de dados, vamos criar a função média:

X = A + B 2 ;

Pra fechar, vamos criar a saída de dados:

f p r i n t f ( ‘ O   v a l o r   d a   m e d i a   e n t r e   A   e   B   e   % f ’ , X )

Então seu código vai ficar algo assim:

Salvando o arquivo e executando, temos:

Iae, curtiu o papinho? Essa parte é bem prática, então não esqueça de olhar os exercícios que selecionamos para você!

Então ficamos por aqui e até a próxima!

Comandos de entrada de dados.

Comandos de saída de dados.

Exercícios Resolvidos

Exercício Resolvido #1

Elabore um código em Matlab que leia do teclado três valores e imprima o maior e o menor entre eles.

Dica: utilize as funções Max e Min do Matlab, elas selecionam o maior e o menor vetor de uma certa matriz.

Passo 1

A ideia é elaborar um programa simples para ler três números e imprimir o maior e o menor entre eles.

O foco aqui é mostrar como começar a praticar com as funções de entrada e saída de dados.

Então o algoritmo é simplesmente:

  1. Entrada de dados
  2. Criação de um vetor único com os 3 números
  3. Seleção do maior e do menor valor
  4. Impressão das respostas.

Porque criamos um vetor no passo 2? Para podermos usar os comandos m a x ⁡ ( ) e m i n ⁡ ( ) . Esses comandos devem ter um vetor como argumento. Então eles procuram nesse vetor, o maior e o menor termos, respectivamente.

Agora que sabemos do algoritmo vamos implementar na linguagem computacional.

Passo 2

Primeiramente precisamos da entrada de dados que fica.

X 1 = i n p u t ( ' D i g i t e   o   v a l o r   d e   X 1     = ' ) ;

X 2 = i n p u t ( ' D i g i t e   o   V a l o r   d e   X 2     = ' ) ;

X 3 = i n p u t ( ' D i g i t e   o   v a l o r   d e   X 3   = ' ) ;

Após isso colocamos o código que vai executar o que se pede:

Agora vamos fazer o passo 2 do algoritmo, criar um vetor único com os 3 números. Pra isso, escrevemos as 3 variáveis dentro de colchetes, separadas por espaços. E chamamos esse vetor de X .

X = [ X 1   X 2   X 3 ] ;

Agora que temos um vetor com todos os números podemos usar os comandos m a x ⁡ ( ) e m i n ⁡ ( ) para achar o maior e o menor termos. Vamos chamar o valor máximo de W 1 e o valor mínimo de W 2 .

W 1 = m a x ( X ) ;

W 2 = m i n ( X ) ;

E agora a saída de dados com a impressão

f p r i n t f ( ' O   m a i o r   e   o   m e n o r   v a l o r   s ã o   r e s p e c t i v a m e n t e   % f   e   % f ' , W 1 , W 2 )

Passo 3

Uma vez escrito o código, ele deve estar no seu Matlab mais ou menos assim:

Ao executar o código deve mostrar algo assim:

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #2

Escreva um programa em MATLAB para calcular e imprimir os valores de Y para um dado valor de X fornecido pelo teclado. A expressão que define Y em função de X é dada por:

Y = 1 X - 4.3 log ⁡ X + X 4

Passo 1

A questão pede para elaborar um programa em Matlab que dado algum número X de entrada forneça uma saída Y que é dada pela função acima.

Criando o algoritmo para a rotina temos que:

1-Entrada de dados (X).

2- Cálculo do Y através da função.

3-Impressão de saída.

Passo 2

Para inserir o programa no Matlab, precisamos transformar o algoritmo em linguagem de programação, então:

X=input(‘Digite o valor de X = ‘);

Y=1/X-4.3*log(X)+X^4;

fprintf(‘O valor de Y calculado pela função é %f’,Y)

Passo 3

O programa no Matlab se torna:

Digitando X=5 para testar teremos algo assim:

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #3

Seja o conjunto A = { 1,12,31,54 } . Construa em código Matlab a função f : A , B : x → x 3 - x 2 e forneça um conjunto B compatível com a definição de f .

Passo 1

A questão é que ela dá uma entrada de dados da forma vetor e pede para que elabore um programa em Matlab que execute a operação que é pegar cada elemento do vetor e elevar ele ao cubo e depois o mesmo elemento ao quadrado.

Após isso é subtrair x 3 - x 2 nos dando o vetor B, o algoritmo para a resolução do problema é dado por:

1 - E n t r a d a   d e   d a d o s   ( e n t r a r   o s   v a l o r e s )

2 - C r i a ç ã o   d o s   V e t o r

3 - D e t e r m i n a r   x 3 - x 2

4 - I m p r i m i r   c a d a   r e s u l t a d o s   n a   f o r m a   d e   v e t o r

A sacada daqui é lembrar que para realizar uma operação de cada elemento do vetor é preciso colocar o ponto antes da operação tipo X 3 em linguagem de programação para cada elemento ficaria X.^3

Passo 2

Para inserir o programa no Matlab, precisamos transformar o algoritmo em linguagem de programação, então:

X 1 = i n p u t ( ' d i g i t e   o   v a l o r   d e   X 1   =   ' ) ;

X 2 = i n p u t ( ' d i g i t e   o   v a l o r   d e   X 2   =   ' ) ;

X 3 = i n p u t ( ' d i g i t e   o   v a l o r   d e   X 3   =   ' ) ;

X 4 = i n p u t ( ' d i g i t e   o   v a l o r   d e   X 4   =   ' ) ;

X = [ X 1 ; X 2 ; X 3 ; X 4 ] ;

B = X . ^ 3 - X . ^ 2

f p r i n t f ( ' O   e l e m e n t o   X 1   d e   B   é   i g u a l   a   % f   \ n ' , B ( 1,1 ) )

f p r i n t f ( ' O   e l e m e n t o   X 2   d e   B   é   i g u a l   a   % f   \ n ' , B ( 2,1 ) )

f p r i n t f ( ' O   e l e m e n t o   X 2   d e   B   é   i g u a l   a   % f   \ n ' , B ( 3,1 ) )

f p r i n t f ( ' O   e l e m e n t o   X 2   d e   B   é   i g u a l   a   % f   \ n ' , B ( 4,1 ) )

Passo 3

O programa no Matlab se torna:

Passo 4

Ao testar teremos assim:

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #4

Leia dois vetores de três elementos do teclado, e calcule o produto escalar e o produto vetorial dado por eles:

Produto escalar: u * v = u 1 * v 1 + u 2 * v 2 + u 3 * v 3

Produto Vetorial: u   x   v = ( u 2 * v 3 - u 3 * v 2   ,   u 3 * v 1 - u 1 * v 3 , u 1 * v 2 - u 2 * v 1   )

Passo 1

A questão pede para elaborar um programa que calcule tanto o produto vetorial quanto o produto escalar dados dois vetores, a questão fornece as equações para o produto vetorial e o produto escalar, bastando apenas formular o algoritmo e implementá-lo em linguagem de programação no Matlab.

O Algoritmo proposto será:

1-Entrada de dados (elementos de u e elementos de v)

2-Cálculo do produto escalar

3-Cálculo do produto vetorial

4-Impressão dos resultados

Passo 2

Para inserir o programa no Matlab, precisamos transformar o algoritmo em linguagem de programação, então:

u 1 = i n p u t ( ' d i g i t e   o   v a l o r   d e   u 1   =   ' ) ;

u 2 = i n p u t ( ' d i g i t e   o   v a l o r   d e   u 2   =   ' ) ;

u 3 = i n p u t ( ' d i g i t e   o   v a l o r   d e   u 3     = ' ) ;

v 1 = i n p u t ( ' d i g i t e   o   v a l o r   d e   v 1   =   ' ) ;

v 2 = i n p u t ( ' d i g i t e   o   v a l o r   d e   v 2   =   ' ) ;

v 3 = i n p u t ( ' d i g i t e   o   v a l o r   d e   v 3   =   ' ) ;

e s c a l a r = u 1 * v 1 + u 2 * v 2 + u 3 * v 3 ;

v e t o r i a l 1 = u 2 * v 3 - u 3 * v 2 ;

v e t o r i a l 2 = u 3 * v 1 - u 1 * v 3 ;

v e t o r i a l 3 = u 1 * v 2 - u 2 * v 1 ;

f p r i n t f ( ' O   v a l o r   d o   p r o d u t o   e s c a l a r   é   e q u i v a l e n t e   a   % f \ n ' , e s c a l a r )

f p r i n t f ( ' O   p r i m e i r o   e l e m e n t o   d o   p r o d u t o   v e t o r i a l   é   % f \ n ' , v e t o r i a l 1 )

f p r i n t f ( ' O   s e g u n d o   e l e m e n t o   d o   p r o d u t o   v e t o r i a l   é   % f \ n ' , v e t o r i a l 2 )

f p r i n t f ( ' O   t e r c e i r o   e l e m e n t o   d o   p r o d u t o   v e t o r i a l   é   % f \ n ' , v e t o r i a l 3 )

Passo 3

O programa no Matlab se torna:

Passo 4

Ao testar teremos assim utilizando os valores abaixo temos:

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #5

Sabendo-se que o vetor X assume os seguintes números: 3, 5, 6, 6, 7, 10, 12. Escreva um programa em Matlab capaz de:

  1. Ler os valores do vetor X;
  2. Determinar a soma do vetor X;
  3. Determinar a média aritmética do vetor X
  4. Determinar a média aritmética geométrica do vetor X
  5. Imprimir os resultados.

Passo 1

Fala, pessoal. Nessa questão, precisamos ler 7 valores que formam um vetor X. E então calcular sua soma, média aritmética e média aritmética geométrica. Para isso precisaremos de duas funções do matlab.

Primeira é length que diz o número de elementos de um vetor ou de uma matriz e de como criar um vetor no Matlab. Precisamos criar um vetor para podermos usar a função l e n g t h .

O algoritmo é dado por:

1 - E n t r a d a   d e   d a d o s   ( e n t r a r   o s   v a l o r e s )

2 - C r i a ç ã o   d o s   V e t o r

3 - D e t e r m i n a r :

                      S o m a   d o s   e l e m e n t o s

                      M é d i a   a r i t m é t i c a

                      M é d i a   g e o m é t r i c a

4 - I m p r i m i r   c a d a   r e s u l t a d o .

Passo 2

Para inserir o programa no Matlab, precisamos transformar o algoritmo em linguagem de programação.

O primeiro passo é a entrada de dados. Vamos usar a função input para pedir ao usuário os valores das variáveis. Dentro do parênteses à direita do input, escrevemos uma mensagem que o usuário vai receber. O que for digitado pelo usuário, a cada linha, é o valor que será atribuído à variável.

X 1 = i n p u t ( ' d i g i t e   o   v a l o r   d e   X 1   =   ' ) ;

X 2 = i n p u t ( ' d i g i t e   o   v a l o r   d e   X 2   =   ' ) ;

X 3 = i n p u t ( ' d i g i t e   o   v a l o r   d e   X 3   =   ' ) ;

X 4 = i n p u t ( ' d i g i t e   o   v a l o r   d e   X 4   =   ' ) ;

X 5 = i n p u t ( ' d i g i t e   o   v a l o r   d e   X 5   =   ' ) ;

X 6 = i n p u t ( ' d i g i t e   o   v a l o r   d e   X 6   =   ' ) ;

X 7 = i n p u t ( ' d i g i t e   o   v a l o r   d e   X 7   =   ' ) ;

Agora vamos criar um vetor com todos os 7 números. Pra isso escrevemos as variáveis dentro de colchetes, separadas por ponto e vírgula.

X = [ X 1 ; X 2 ; X 3 ; X 4 ; X 5 ; X 6 ; X 7 ] ;

Tendo um vetor, podemos usar a função l e n g t h

n = l e n g t h ( X ) ;

Vamos calcular a soma dos 7 números e, com ela, as médias aritmética e aritmética geométrica.

s o m a = X 1 + X 2 + X 3 + X 4 + X 5 + X 6 + X 7 ;

m e d i a A r i = s o m a / n ;

m e d i a G e o = ( X 1 * X 2 * X 3 * X 4 * X 5 * X 6 * X 7 ) ^ ( 1 / n ) ;

Por fim, usamos f p r i n t para imprimir uma mensagem para o usuário.

f p r i n t f ( ' A   s o m a   d o s   e l e m e n t o s   é   % f   \ n   A   m é d i a   g e o m é t r i c a   e   a r i t m é t i c a   é   r e s p e c t i v a m e n t e   % f   % f ' , s o m a , m e d i a G e o , m e d i a A r i )

Passo 3

O programa no Matlab se torna:

Passo 4

Ao testar teremos assim:

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #6

O saldo P de uma caderneta de poupança, após t anos, feito um investimento inicial P 0 e sendo a taxa de juros anual em r ( e m   % ) , é dado por:

P = P 0 1 + r 100 t

Escreva um programa em Matlab que a partir de uma entrada de dados forneça o saldo dessa caderneta como a saída de dados.

Passo 1

Bem, essa questão pede o cálculo de um juro composto a partir de uma entrada de dados, em geral, os juros são calculados por expressões similares a essa.

Quem nunca atrasou uma conta de cartão de crédito né?

Aquele valorzinho que o banco cobra a mais é calculado através de fórmulas similares a essa, então basicamente vamos alimentar essa fórmula para realizar a operação que é o cálculo do saldo e imprimir esse valor na workspace.

Mas quais são as variáveis de entrada?

Bem, aqui as variáveis de entrada são as variáveis que alimentam a nossa fórmula.

Que corresponde às variáveis P 0   ,   r ,   t e como variável de saída temos o P .

Sendo assim, temos que o nosso codigozinho é composto por três partes:

  1. Entrada de dados
  2. Cálculo do P
  3. Saída de dados

Passo 2

Agora que já elaboramos toda essa discussão do passo 1, vamos colocar a mão na massa.

Primeiramente precisamos implementar as entradas de dados, para isso vamos utilizar uma função do Matlab chamada de função i n p u t .

Ela tem uma habilidade muito especial que é memorizar na workspace algum valor que iremos fornecer pelo nosso teclado.

A sintaxe é bem simples, vamos começar relembrando a sintaxe criamos a variável P 0

P 0 = i n p u t ' D i g i t e   o   v a l o r   d a   v a r i a v e l   P 0     e m   R e a i s   = '

Aqui podemos analisar que depois de chamar a função input, entre parênteses escrevemos um textinho.

Esse textinho tem como função apenas deixar a janela de command window mais organizadinha para você saber qual variável vai digitar naquele momento, ok?

Consequentemente as demais são:

r = i n p u t ' t a x a   d e   j u r o s   a n u a l   e m   %   é = '

t = i n p u t ( ' d i g i t e   o   v a l o r   d o   t e m p o   e m   a n o s = ' )

Aqui vamos realizar nossa operação:

P = P 0 * ( 1 + r / 100 ) ^ t

E para finalizar vamos compor a saída de dados, para isso vamos utilizar a função printf.

Essa função fprintf pega uma variável na workspace e imprime na nossa janela de command window.

A vantagem de utilizar a função fprintf é que podemos organizar a saída de dados com algum textinho, por exemplo.

Então a saída de dados fica assim:

P = f p r i n t f ' o   v a l o r   d o   s a l d o   P   é   i g u a l   a   % f   a p o s   % f   a n o s ' , P , t

Dentro da função nos inserimos dois % f para indicar qual o tipo de variável vai ser impressa, o f vai indicar que a saída é float e elas vão ser impressas no lugar dos %f.

Após indicar quais os tipos e em que localidade do texto elas vão ser imprimidas temos que indicar quais variáveis são, o primeiro %f é o P e o segundo é o t.

Sendo assim, primeiramente imprime-se o P e depois o t.

Digitando tudo certinho seu código deve ficar algo assim:

Passo 3

Para realização do teste vamos utilizar os seguintes valores:

P 0 = 1000

r = 35

t = 15

Temos um valor de P equivalente a:

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #7

Realize a seguinte operação Matemática no Matlab:

R θ = 2 ( 1,1 - θ   )

A função deve receber a variável θ em graus, converter para radianos e retornar R como uma saída de dados.

Passo 1

Opa galera, essa questão pede para calcular o valor da posição de uma partícula a partir da função vetorial dada e de uma entrada de dados.

Para isso vamos criar uma entrada de dados, onde o programinha vai realizar algumas operações sob a entrada de dados para o final imprimir a saída de dados.

Mas quais são as variáveis de entrada e de saída?

Nessa questão as variáveis de entrada são as variáveis que alimentam a nossa fórmula. Que corresponde a variável θ e como variável de saída temos o R .

Sendo assim, temos que o nosso codigozinho é composto por três partes:

  1. Entrada de dados
  2. Cálculo do R
  3. Saída de dados

Passo 2

Agora que já elaboramos toda essa discussão no passo 1, vamos colocar a mão na massa.

Primeiramente precisamos implementar as entradas de dados, para isso vamos utilizar uma função do Matlab chamada de função i n p u t .

Ela tem uma habilidade muito especial que é memorizar na workspace algum valor que iremos fornecer pelo nosso teclado.

A sintaxe é bem simples, vamos começar relembrando a sintaxe criamos a variável t e t a

t e t a = i n p u t ' D i g i t e   o   v a l o r   d o   a n g u l o     e m   g r a u s   = '

Aqui podemos analisar que depois de chamar a função input, entre parênteses escrevemos um textinho.

Esse textinho tem como função apenas deixar a janela de command window mais organizadinha para você saber qual variável vai digitar naquele momento, ok?

Aqui vamos realizar nossa operação:

Primeiramente vamos converter o ângulo de graus em radianos através da seguinte formulinha:

t e t a 2 = t e t a 180 * p i

Para implementar o Raio vamos dividir ele em duas componentes, uma R x que é a componente X e outra R y que é a componente Y

R X = 2

R Y = 2 - 2 * s i n ( t e t a 2 ) ^ 2

E para finalizar vamos compor a saída de dados, para isso vamos utilizar a função printf.

Essa função printf pega uma variável na workspace e imprime na nossa janela de command window.

A vantagem de utilizar a função fprintf é que podemos organizar a saída de dados com algum textinho, por exemplo.

Então a saída de dados fica assim:

R = f p r i n t f ' o   v a l o r   d a   c o m p o n e n t e   R x   e   R y   s ã o   e q u i v a l e n t e s   a     % f   e   % f   ' , R x , R y

Dentro da função nos inserimos dois % f para indicar qual o tipo de variável vai ser impressa, o f vai indicar que a saída é float e elas vão ser impressa no lugar dos % f .

Após indicar quais os tipos e em que localidade do texto elas vão ser imprimidas temos que indicar quais variáveis são, o primeiro % f é o R x e o segundo é o R y .

Digitando tudo certinho seu código deve ficar algo assim:

Passo 3

Para realização do teste vamos utilizar o seguinte valor:

t e t a = 45

Temos um valor de R equivalente a:

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #8

Sistemas de filtração para o tratamento de sinais são alguns dos artifícios mais importantes dentro da engenharia.

São eles que cancelam os ruídos, as perturbações e vários outros problemas que impossibilitam ou dificultam a transmissão do sinal.

Por exemplo imagina você ligar para seu amigo que está a 300 km de distância de você e conseguir ouvir ele normalmente, sendo que a onda eletromagnética está passando por diversos meios e caminhando por no mínimo 300 Km de distância, e você consegue ouvir ele claramente, como se ele tivesse do seu lado.

Isso é possível devido a equipamentos de filtragem nos aparelhos de celular.

Sendo assim vamos para a questão.

Um filtro passa – faixa permite a passagem de frequências compreendidas em uma faixa entre duas frequências limites, nesse filtro, o ganho de tensão é dado por:

R V = V 0 V 1 = w R C 1 - w 2 L C + w R C 2

O esquema do filtro é dado por:

Obs:

L   é   a   i n d u t a n c i a   d o   i n d u t o r

R   é   a   r e s i s t e n c i a   d o   r e s i s t o r

C   é   a   c a p a c i t â n c i a   d o   c a p a c i t o r

Passo 1

Opa galera, essa questão pede para calcular o valor do ganho de tensão desse filtro a partir de uma entrada de dados, esse ganho de tensão é dado pelo valor de R V que corresponde à razão das tensões antes e após ao filtro.

Para isso vamos criar uma entrada de dados, onde o programinha vai realizar algumas operações sob a entrada de dados para ao final imprimir a saída de dados.

Mas quais são as variáveis de entrada e de saída?

Nessa questão as variáveis de entrada são as variáveis do projeto do filtro, em geral, um engenheiro dispõe dos valores das constantes dos componentes eletrônicos que compõem o circuito.

Nesse sentido, as variáveis que o engenheiro conhece são a capacitância, e indutância, a resistência e a frequência angular da corrente alternada e como a saída de dados temos o ganho de tensão.

Sendo assim, temos que o nosso codigozinho é composto por três partes:

  1. Entrada de dados
  2. Cálculo do RV
  3. Saída de dados

Passo 2

Agora que já elaboramos toda essa discussão no passo 1, vamos colocar a mão na massa.

Primeiramente precisamos implementar as entradas de dados, para isso vamos utilizar uma função do Matlab chamada de função i n p u t .

Ela tem uma habilidade muito especial que é memorizar na workspace algum valor que iremos fornecer pelo nosso teclado.

A sintaxe é bem simples, vamos começar relembrando a sintaxe criamos a variável L

L = i n p u t ( ' d i g i t e   o   v a l o r   d a   i n d u t a n c i a   n o   S I = ' )

Aqui podemos analisar que depois de chamar a função input, entre parênteses escrevemos um textinho.

Esse textinho tem como função apenas deixar a janela de command window mais organizadinha para você saber qual variável vai digitar naquele momento, ok?

Consequentemente as demais entradas de dados correspondem a:

R = i n p u t ' d i g i t e   o   v a l o r   d a   R e s i s t e n c i a   n o   S I = '

C = i n p u t ' d i g i t e   o   v a l o r   d a   c a p a c i t a n c i a   n o   S I = '

w = i n p u t ( ' d i g i t e   o   v a l o r   d a   f r e q u e n c i a   a n g u l a r   n o   S I   = ' )

Passo 3

Após isso vamos realizar nossa operação que é:

R V = w * R * C / s q r t ( 1 - w 2 * L * C 2 + w * R * C ^ 2 )

E para finalizar vamos compor a saída de dados, para isso vamos utilizar a função fprintf. Essa função fprintf pega uma variável na workspace e imprime na nossa janela de command window. A vantagem de utilizar a função fprintf é que podemos organizar a saída de dados com algum textinho.

Então a saída de dados fica assim:

R = f p r i n t f ' o   v a l o r   d o   g a n h o   d e   t e n s ã o   d o   f i l t r o   e   d a d o   p o r   % f , R V

Dentro da função nos inserimos um % f para indicar qual o tipo de variável vai ser impressa, o f vai indicar que a saída é float e a variável R V vai ser impressa no lugar do   % f .

Digitando tudo certinho seu código deve ficar algo assim:

Resposta