Variáveis Aleatórias Matlab
-
22-12-2019 - |
Pergunta
Eu tenho uma variável aleatória X que possui a seguinte função de densidade de probabilidade:
X/25, 0 <= x <= 5
2/5-x/25, 5 <= x <= 10
0, otherwise
Estou tentando inserir isso no matlab, mas não consigo encontrar documentação sobre como fazer isso.Alguma ideia?
Solução
Você pode produzir a função de densidade de probabilidade que descreveu assim:
function [y] = f( x )
if (x>=0 && x<=5)
y = x/25;
elseif (x>=5 && x<=10)
y =2/5-x/25;
else
y=0;
end
end
Se quiser plotar a função usando um vetor x, você pode usar:
function [y] = f( x )
n = numel(x);
y = zeros(1,n);
for k = 1:n
if (x(k)>=0 && x(k)<=5)
y(k) = x(k)/25;
elseif (x(k)>=5 && x(k)<=10)
y(k) =2/5-x(k)/25;
else
y(k)=0;
end
end
Na verdade, você pode usar esta segunda definição de função para valores únicos de x e x como um vetor de valores.O vetor x com a função acima, assim:
x = 0:0.1:15;
y = f(x)
produz a figura:
Outras dicas
Reconhecer a função de densidade de probabilidade é de um Distribuição triangular, outra abordagem é usar o makedist
e pdf
funções encontradas na caixa de ferramentas Estatísticas do MATLAB que usa Objetos de distribuição de probabilidade.
Exemplo de código abaixo.
% MATLAB R2018b
pd = makedist('Triangular',0,5,10); % Define probability distribution object
X = 0:.1:12;
plot(X,pdf(pd,X),'r-','LineWidth',1.4)