??? Undefined function or method 'gauss' for input arguments of type 'double'.
9 次查看(过去 30 天)
显示 更早的评论
gauss=gauss(x,mu,s) ??? Undefined function or method 'gauss' for input arguments of type 'double'. how to fix this problem? o wanna plot distribution of variable "x"
回答(4 个)
Wayne King
2014-7-23
编辑:Wayne King
2014-7-23
gauss() is not a MathWorks' function. Have you downloaded this function from somewhere?
If so, you need to add the folder where you have placed the function on the MATLAB path.
Use addpath() or
>>pathtool
to do that.
If you have the Statistics Toolbox, you can simply use normpdf() if you want to obtain a Gaussian PDF.
x = 1:.01:7;
mu = 4.5636;
sd = 0.5969;
y = normpdf(x,mu,sd);
plot(x,y)
Or tell us what you think gauss() is going to do?
0 个评论
Wayne King
2014-7-23
编辑:Wayne King
2014-7-23
I'll leave aside whether it is prudent to fit a normal distribution to these data.
Do you have the Statistics Toolbox installed?
If you enter
>>ver
Do you see the Statistics Toolbox listed?
If so, you can do this with your data
x = [5*ones(170,1); 4*ones(90,1); 3*ones(15,1)];
[muhat,sigmahat] = normfit(x);
You'll see those are equal to what you wrote in your post.
The above gives you the estimate mean (muhat) for the fitted normal and the estimated standard deviation.
You can obtain the PDF with:
t = 2:.01:7;
y = normpdf(t,muhat,sigmahat);
plot(t,y)
Alternatively, you can just use histfit()
histfit(x,20,'normal')
0 个评论
Nikola
2014-7-23
1 个评论
Wayne King
2014-7-23
histfit() is just scaling the PDF for plotting otherwise you would not see with your data. Look at the output of
[muhat,sigmahat] = normfit(x);
It gives you exactly the mean and standard deviation you included with your original post.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Bar Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!