Plotting trendline and normally distributed numbers
6 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (1 件)
Adam Danz
2020 年 3 月 29 日
"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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Line Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!