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?

Foi útil?

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:

image

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) 
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top