How to generate random data which follows a specific pattern ?
8 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
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
0 个评论
更多回答(1 个)
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Random Number Generation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!