You are on page 1of 6

C E N T R O F E D E RA L D E E D U C A Ç Ã O T E C N O LÓ G I C A D E M I N A S G E RA I S ATENÇÃO:

DEPARTAMENTO DE ENSINO RESPONDA TODOS OS

SUPERIOR
I T E N S D O R E L AT Ó R I O E

EM ORDEM CRESCENTE,

L ABORATÓRIO DE ANÁLISE DE SISTEMAS LINEARES


Av. Amazonas, 7675 - Belo Horizonte, MG-Brasil, 30.470-000

PRÁTICA: Nº 02

1. TÍTULO: Roteiros e funções no Matlab: Conceitos de Estatística

2. OBJETIVOS:

1. Familiarizar-se com as funções básicas do Matlab;


2. Gerar gráficos usando os comandos do Matlab;
3. Escrever programas tipo script (roteiro) e function (função) com a sintaxe Matlab;
4. Revisar conceitos de Estatística aplicados a controle de processos

3. INTRODUÇÃO TEÓRICA

1. Faça uma revisão sucinta dos conceitos estatísticos: Média, Variância e Desvio Padrão e Teorema do Limite Central.

Média: A média aritmética simples é a mais utilizada no nosso dia-a-dia. É obtida dividindo-se a soma das observações pelo
número delas. É um quociente geralmente representado pela letra M ou pelo símbolo . Se tivermos uma série de n valores
de uma variável x, a média aritmética simples será determinada pela expressão:

Variância: Na teoria da probabilidade e na estatística, a variância de uma variável aleatória é uma medida da sua
dispersão estatística, indicando quão longe em geral os seus valores se encontram do valor esperado. Pode-se calcular a
variância s2 através da seguinte fórmula:

onde n é o número de amostras, xi é o valor da amostra na posição i e é a média da amostra.


Desvio Padrão: Em probabilidade e Estatística, o desvio padrão é a medida mais comum da dispersão estatística. O
desvio padrão define-se como a raiz quadrada da variância. Se uma variável aleatória toma os valores ,
então o desvio padrão para esta amostra de n números (ou desvio padrão amostral) pode ser computado como segue.
Primeiro, calculamos a média de e achamos . Então calculamos o desvio padrão através da seguinte fórmula:

Teorema do Limite Central: Em linguagem corrente simplificada, o teorema central do limite, ou teorema do
limite central, em teoria das probabilidades, expressa o fato de a soma de muitas variáveis aleatórias independentes e com
mesma distribuição de probabilidade tender à distribuição normal, também conhecida como distribuição Gaussiana. Por
exemplo, o resultado de um jogar de dados não viciados tem distribuição de probabilidade retangular, isto é, todos os
resultados possíveis têm a probabilidade de 1/6. Já a distribuição de probabilidade da soma dos valores obtidos num jogar de
vários dados tende a forma gaussiana.

Prática 02 1/6
2. Para a lista de funções do Matlab abaixo se pede descrever o help resumido da função e a sua sintaxe básica explicada com um
exemplo: a) end, b) hold c) linspace d) log e) mean f) max g) ones h) sqrt i ) std j) var k) subplot l) sum m) ylabel
n ) axis o) zeros p) inline q)log10 r)gtext s)return t)input
Função Descrição Sintaxe básica
for a=1
a) Termino do escopo de dos comandos
end b=a
FOR, WHILE, SWITCH e IF.
end
b) Cria o próximo gráfico sobre o gráfico
hold plot(x,y) hold on
atual.
c) Cria um vetor com igual espaçamento
linspace a=linspace(1,10,5)
entre seus componentes.
d)
log Calcula o logaritmo natural. log(a); %a=1
e)
mean Calcula o valor médio. mean(a); %a=[1 2 3]
f) Retorna o componente de maior valor de
max max(a); %a=[1 2 3]
um vetor.
g) Cria uma matriz N-por-N com os
ones ones(2);
elementos iguais a 1.
h)
sqrt Calcula raiz quadrada. sqrt(2);
i)
std Calcula o desvio padrão. std(a); %a=[1 2 3]
j)
var Calcula a variância. var(a); %a=[1 2 3]
k) Divide a região onde os gráficos são
subplot subplot(1,2,1)
plotados.
l)
sum Soma dos elementos. sum(a); %a=[1 2 3]
m)
ylabel Rótulo do eixo y. ylabel('Eixo y');
n)
axis Controla a escala e aparência do eixo. axis([-10 10 -10 10]);
o) Cria uma matriz N-por-N com os
zeros zeros(2);
elementos iguais a 0.
p)
inline Constrói objetos inline. f=inline('x^2');
q)
log10 Calcula o logarítmo na base 10. log10(a); %a=1
r) Posiciona o texto no gráfico através do
gtext gtext('Gráfico');
mouse.
function d=det(A)
s)
return Retorna para a função chamada. d=1
return
t) a=input('Digite o valor de a:
input Permite a entrada do valor pelo usuário.
')

4. PARTE EXPERIMENTAL

1. Escreva um roteiro Matlab para calcular a média e o desvio padrão amostrados de uma seqüência de números
aleatórios. Teste o roteiro com 600 números aleatórios obtidos com o seguinte comando: >> y = 1+0.35*randn(600,1).
Desenhar dois gráficos lado a lado, um com o sinal y e outro com o histograma de y (use o comando hist(y)), porém
desenhado com uma rotação de -90o (comando barh).
1 N
a. Valor médio, X= ∑ Xi ;
N i =1
1 N
∑( X i − X )
2
b. Desvio padrão, sX = ,
N − 1 i=1
c. Variância

Resolução
%Prática 02 - Exercício 1
clear all;

Prática 02 2/6
clc;

quant_pontos=600; %Quantidade de pontos que devem ser gerados.


y=1+0.35*randn(quant_pontos,1); %Geração dos números aleatórios.
valor_medio=sum(y)/quant_pontos %Cálculo do valor médio.

for i=1:quant_pontos
a=1/(quant_pontos-1); %Primeira parte da fórmula de desvio padrão.
b(i)=(y(i)-valor_medio)^2; %Segunda parte da fórmula de desvio padrão.
end

desvio_padrao=sqrt(a*sum(b)) %Cálculo do desvio padrão.


variancia=desvio_padrao^2 %Cálculo da variância.

subplot(1,2,1); %Comando para plotar na primeira parte da divisão da tela.


plot(y); %Plota gráfico de y.
subplot(1,2,2); %Comando para plotar na segunda parte da divisão da tela.
barh(hist(y)); %Plota histograma de y.

Resultados
valor_medio =
0.9777

desvio_padrao =
0.3329

variancia =
0.1108
Sinal deY HistogramadeY
2

1.8
10
1.6
9
1.4
8
1.2 7

1 6

0.8 5

4
0.6
3
0.4
2
0.2 1

0
0 200 400 600 0 50 100 150

2. Gere um sinal senoidal com 6 ciclos, com 25 pontos por período e calcule a variância deste sinal usando o roteiro
desenvolvido no item 1. Compare o desvio padrão calculado com o valor eficaz teórico da senóide.

Resolução
%Prática 02 - Exercício 2
clear all;
clc;

quant_pontos=150; %Quantidade de pontos que devem ser gerados.


pontos=linspace(0,12*pi,quant_pontos); %Geração dos 150 pontos, 6 ciclos com 25 pontos
cada.
sinal=sin(pontos); %Cálculo do seno de cada ponto gerado.
subplot(1,2,1);
plot(sinal);
valor_medio=sum(sinal)/quant_pontos; %Cálculo do valor médio do sinal.

for i=1:quant_pontos
a=1/(quant_pontos-1);
b(i)=(sinal(i)-valor_medio)^2;
Prática 02 3/6
end

desvio_padrao=sqrt(a*sum(b)) %Cálculo do desvio padrão.


variancia=desvio_padrao^2 %Cálculo da variância.
subplot(1,2,2)
barh(hist(sinal)); %Plota histograma de y.

Resultados
desvio_padrao =
0.7071

variancia =
0.5000
Sinal senoidal Histogramadosinal senoidal
1

0.8
10
0.6
9
0.4
8
0.2 7

0 6

-0.2 5

4
-0.4
3
-0.6
2
-0.8 1

-1
0 50 100 150 0 10 20 30 40

Vmed
Para calcularmos valor eficaz de uma fonte de tensão senoidal fazemos Vrms = = Vmed * 0,7071 , onde
2
Vrms é o valor eficaz e Vmed é o valor médio da tensão. Ou seja, multiplicamos o valor de tensão médio desta senoide
pelo seu desvio padrão.
1
3. Escreva uma função inline que represente a função: s( x) = . Plote a curva desta função, para − 30 ≤ x ≤ 30 e
1 + e − ax
i) a=0 .2 ii) a=1.6. Entre com o valor de “a” via teclado.

Resolução
%Prática 02 - Exercício 3
clear all;
clc;

x=-30:30 %Gera os valores de x.


a=input('Entre com o valor de a: '); %Entrar com valor de a pelo teclado.
s=inline('1./(1+exp(-a*x))','x','a') %Calcula s(x).
f=s(x,a);
plot(f); grid on; title('Gráfico da função');

Prática 02 4/6
Resultados

Gráficodafunçãoparaa=0,2 Gráficodafunçãoparaa=1,6
1 1

0.9 0.9

0.8 0.8

0.7 0.7

0.6 0.6

0.5 0.5

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70

4. Escreva uma function (função) para calcular a curva de uma distribuição Gaussiana (normal) que é dada por:

2
1  x−µ 
1 −  
y ( x, µ , σ ) = e 2 σ  , onde µ é a média (mean) e σ é o desvio padrão (standard deviation) da variável
σ 2π
aleatória x. Ilustre o cálculo da função de densidade de probabilidade Gaussiana para o intervalo − 20 ≤ x ≤ 20 , com
resolução de ∆x = 0.1 para os seguintes valores: (OBS: DESENHAR OS RESULTADOS EM UM MESMO
GRÁFICO e indicar no gráfico os valores de m e s para cada curva). Dica: Para escrever letras gregas numa
figura do Matlab use a sintaxe do Latex, e.g. >>gtext(‘\sigma = 1’) resulta em σ =1. Letras
gregas comuns: \zeta, \csi, \omega, \mu. Índices são escritos como x^2 para obter x2 e x_2 para
obter x2 .
a. i) m=0; s=0.4 ii) m=0; s=1.2 iii) m=0; s=1.8
b. i) m= 0.4; s=1 ii) m=1.2; s=1 iii) m=1.8; s=1

Resolução
%Implementação da função para calcular a curva de uma distribuição
%gaussiana.
function [Y] = dgauss(m,s,x)

n=length(x);
for i=1:n
Y(i)=(1/(s*sqrt(2*pi)))*exp((-1/2)*(((x(i)-m)/s)^2));
end

%Prática 02 - Exercício 4

%%
%Letra a
x=-20:0.1:20; %Definição do intervalo de “x” com resolução pedida.
y1=dgauss(0,0.4,x); %Calculo da curva de distribuição Gaussiana quando m=0 e s=0,4.
y2=dgauss(0,1.2,x); %Calculo da curva de distribuição Gaussiana quando m=0 e s=1,2.
y3=dgauss(0,1.8,x); %Calculo da curva de distribuição Gaussiana quando m=0 e s=1,8.

plot(x,y1,'b');
gtext('\sigma = 0');
gtext('\mu = 0.4');
hold on;
plot(x,y2,'r');
gtext('\sigma = 0');
gtext('\mu = 1.2');
hold on;
plot(x,y3,'g');
gtext('\sigma = 0');
Prática 02 5/6
gtext('\mu = 1.8');
hold on;

%%
%Letra b
x=-20:0.1:20; %Definição do intervalo de “x” com resolução pedida.
y1= dgauss(0.4,1,x); %Calculo da curva de distribuição Gaussiana quando m=0,4 e s=1.
y2= dgauss(1.2,1,x); %Calculo da curva de distribuição Gaussiana quando m=1,2 e s=1.
y3= dgauss(1.8,1,x); %Calculo da curva de distribuição Gaussiana quando m=1,8 e s=1.

plot(x,y1,'b');
title('Densidade de probabilidade Gaussiana');
hold on;
plot(x,y2,'r');
title('Densidade de probabilidade Gaussiana');
hold on;
plot(x,y3,'g');
title('Densidade de probabilidade Gaussiana');
hold on;

Reultados

DensidadedeprobabilidadeGaussiana DensidadedeprobabilidadeGaussiana
1 0.4

σ =0 σ =0,4e µ=1
0.9 µ=0.4 0.35 σ =1,2e µ=1
0.8 σ =1,8e µ=1
0.3
0.7

0.25
0.6

0.5 0.2

0.4
0.15

0.3 σ =0
µ=1.2 0.1
0.2
σ =0
µ=1.8 0.05
0.1

0 0
-20 -15 -10 -5 0 5 10 15 20 -20 -15 -10 -5 0 5 10 15 20

5. CONCLUSÕES E DISCUSSÕES

Os objetivos da prática foram alcançados com a conclusão de todos os exercícios, porém, alguns destes apresentaram alguma
dificuldade.
O exercício teórico foi bom para relembrarmos alguns conceitos como média, desvio padrão e o teorema do limite central.
Através deste exercício também nos familiarizamos com algumas funções antes de realmente usá-las em algum programa, aprendendo para
que serve cada função e sua sintaxe dentro do MATLAB.
A criação de uma “function” foi outro ponto importante da prática, pois este tipo de operação pode ajudar bastante quando
precisamos de uma mesma função em vários programas.
Os vários gráficos exigidos na prática nos fizeram aprender mais sobre essa importante ferramenta.

6. SUGESTÕES

As dificuldades encontradas nos programas foram sanadas com o auxilio do comando “help”, que realmente ajuda muito
principalmente na sintaxe, e também com a ajuda de colegas.
A prática é importante, pois aborda conceitos do MATLAB de grande importância. Porém, é bastante trabalhosa, e como não há
tempo de concluí-la em sala de aula, muitas dúvidas que poderiam ser rapidamente esclarecidas pelo professor nos tomam um grande
tempo.

7. REFERÊNCIAS

- Apostila Introdução ao Matlab – UFMG – Frederico F. Campos Filho


- http://pt.wikipedia.org/

Prática 02 6/6

You might also like