How to do normal distribution for same data?

1 次查看(过去 30 天)
Hello,
I wrote these lines below, but maybe i'm doing something wrong.
%Import front sonar for 30cm:
sonar_F_030 = readtable('sonar_F_030.csv');
%Split ranges from file
range = sonar_F_030.range;
pd = fitdist(range,'Normal');
mu1 = pd.mu;
sigma1 = pd.sigma;
x = (-3:.1:3);
y = normpdf(range,mu1,sigma1);
plot(x,y)
Error using plot
Vectors must be the same length.
How can I do normal distribution for these data;

采纳的回答

Star Strider
Star Strider 2022-11-16
Try something like this —
%Import front sonar for 30cm:
sonar_F_030 = readtable('https://www.mathworks.com/matlabcentral/answers/uploaded_files/1195733/sonar_F_030.csv')
sonar_F_030 = 950×2 table
range time _______ ________ 0.3044 0.062361 0.3044 0.12892 0.30696 0.19563 0.30376 0.26228 0.30696 0.32898 0.30376 0.3957 0.30376 0.46234 0.30376 0.52899 0.30759 0.59565 0.3044 0.66232 0.30759 0.72895 0.30312 0.79598 0.3012 0.86278 0.3044 0.92966 0.3044 0.99618 0.3012 1.0629
%Split ranges from file
range = sonar_F_030.range;
pd = fitdist(range,'Normal');
mu1 = pd.mu;
sigma1 = pd.sigma;
% x = (-3:0.01:3);
x = linspace(min(range), max(range)+0.01, numel(range));
y = normpdf(x,mu1,sigma1);
figure
plot(x,y)
grid
Make appropriate changes to get the desired result.
.

更多回答(1 个)

Torsten
Torsten 2022-11-16
%Import front sonar for 30cm:
sonar_F_030 = readtable("https://de.mathworks.com/matlabcentral/answers/uploaded_files/1195733/sonar_F_030.csv");
%Split ranges from file
range = sonar_F_030.range;
pd = fitdist(range,'Normal');
mu1 = pd.mu
mu1 = 0.3035
sigma1 = pd.sigma
sigma1 = 0.0023
x = (0.29:.0001:0.315);
y = normpdf(x,mu1,sigma1);
plot(x,y)

Community Treasure Hunt

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

Start Hunting!

Translated by