How to generate random data which follows a specific pattern ?

조회 수: 6 (최근 30일)
S M Shahnewaz Siddiquee
S M Shahnewaz Siddiquee 2017년 2월 6일
답변: dbmn 2017년 2월 6일
I want to generate yearly Outdoor temperature data with 1 hr interval and having seasonal variation ( Summer, Winter ). There will be 8760 timesteps of data.In summer Temperature will vary around the range of 25-35 degree and In winter it will vary around -10 to 10 degree. I am a beginner in Matlab. Any suggestion or code reference would be very helpful

채택된 답변

dbmn
dbmn 2017년 2월 6일
As KSSV said, the random function generates data very nicely. But this distribution might need to be adapted to your needs.
To adjust to your problem you need to add the desired mean of your data and multiply the distribution.
mean_temperature = 15*sin(0:0.1:6)+15;
random_variation = rand(1, 61)*20-10;
plot(mean_temperature+random_variation)
And if you want a non uniform distribution, you need to multiply the random_variation with a function instead of the value 20.
hope this helps you get started

추가 답변 (1개)

KSSV
KSSV 2017년 2월 6일
There is a inbuilt command rand in matlab which generates Uniformly distributed random numbers between 0 and 1. doc rand. To generate random numbers in a given range [a,b]. You may follow:
a = 50;
b = 100;
r = (b-a).*rand(1000,1) + a;
  댓글 수: 2
S M Shahnewaz Siddiquee
S M Shahnewaz Siddiquee 2017년 2월 6일
편집: S M Shahnewaz Siddiquee 2017년 2월 6일
Thanks Yes , I already checked that command but It doesn't give any option to user to generate numbers that follow a certain pattern
KSSV
KSSV 2017년 2월 6일
Numbers follow uniform distribution. what pattern you are expecting?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Random Number Generation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by