Plotting trendline and normally distributed numbers
조회 수: 7 (최근 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!