Hi
I wanted to fit my Data to the lognormal distribution, but I get this error message : "The data in X must be positive".
I am pretty sure that the data and the frequency arrays are positive (>=0).
How can I ovecome this issue.

댓글 수: 5

Torsten
Torsten 2023년 2월 9일
편집: Torsten 2023년 2월 9일
Maybe there are NaN, Inf or -Inf values in your data vector ?
What does
any(Data(1,:) < 0)
return ?
Check it. We cannot because you didn't include the data.
>> any(Data(1,:) < 0)
ans =
logical
0
I did, none of the values is negative. Actually, Data represents the bin edges. So logically, it can be negative. This error pops up only with Lognormal distribution.
Torsten
Torsten 2023년 2월 9일
편집: Torsten 2023년 2월 9일
So you don't use the Data(1,:) directly to fit the lognormal distribution, but some preprocessed data that you don't know exactly ?
What about
any(Data(1,:) <= 0)
?
Mohamed Zied
Mohamed Zied 2023년 2월 13일
Yes, I found some zeros.
I have to remove these values to be able to fitt my data to the Lognormal distribution.
Thank you for your help
Mohamed Zied
Mohamed Zied 2023년 2월 13일
I predefined the bin edges. for some bins the count is 0. Thus, the error.

댓글을 달려면 로그인하십시오.

 채택된 답변

Steven Lord
Steven Lord 2023년 2월 9일

1 개 추천

I am pretty sure that the data and the frequency arrays are positive (>=0).
0 is not positive. What does this command show?
any(Data(1, :) == 0)

댓글 수: 1

Mohamed Zied
Mohamed Zied 2023년 2월 13일
You are right. There are some zeros in my Data. I have to remove these values to be able to fitt my data to the Lognormal distribution.
Thank you for your help

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

제품

릴리스

R2020a

질문:

2023년 2월 9일

댓글:

2023년 2월 13일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by