Plotting trendline and normally distributed numbers
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello guys,
I would need some help wtih the following problem.
I need to plot the calculated numbers (Nkonstant, Ntrend, Nsaisonal, NtrendSaisonal) as shown in my code.
So far i works out as I intended it to.
- But now i need to add the trendlines to the plots (I already calculated them in the for loop)
- and I need to change my variable e in a way that it represents normally distributed numbers with a mean 0 and a standard deviation of 20.
Would be so great if someone has got a solution to this.
Best regards,
Alex
clc;
close all;
clear all;
rng('default');
m = 100;
k = 1.2;
A = 50;
T = 13;
for t = 1:1:52;
e = randn();
Nkonstant = m + e;
Ntrend = m + k *t + e;
Nsaisonal = m + A*sin((2*t*pi)/T) + e;
NtrendSaisonal = m + k*t + A*sin((2*t*pi)/T) + e;
trendline1 = m;
trendline2 = m + k*t;
trendline3 = m + A*sin((2*t*pi)/T);
trendline4 = m + k*t + A*sin((2*t*pi)/T);
subplot(2,2,1);
plot(t, Nkonstant,'o');
hold on;
subplot(2,2,2);
plot(t, Ntrend,'o');
hold on;
subplot(2,2,3);
plot(t, Nsaisonal,'o');
hold on;
subplot(2,2,4);
plot(t, NtrendSaisonal,'o');
hold on;
end
0 commentaires
Réponses (1)
Adam Danz
le 29 Mar 2020
"I need to change my variable e in a way that it represents normally distributed numbers with a mean 0 and a standard deviation of 20. "
randn returns random number from a standard normal distribution with mean 0 and standard deviation or 1. To get a std of 20, just multiply by 20. Here's a demo
n = randn(1,100000) * 20;
std(n)
% ans =
% 20.015 % your value may differ slightly
" i need to add the trendlines to the plots (I already calculated them in the for loop)"
2 commentaires
Voir également
Catégories
En savoir plus sur Data Distribution Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!