Good day everyone,
excuse me but i am very new to matlab..
I am generating a time series, to perform a fatigue test.

 採用された回答

Daniel M
Daniel M 2019 年 10 月 28 日

0 投票

You can follow this example:
lb = 5; % lower bound, ymin
ub = 10; % upper bound
N = 1000; % num samples
vals = rand(1,N).*(ub-lb) + lb;

その他の回答 (1 件)

Akira Agata
Akira Agata 2019 年 10 月 28 日

0 投票

How about the following?
N = [1000 , 500 , 2000 , 300 , 700 , 1000]; % No of samples
NI = length(N);
y_min = 10 + (60-10)*rand(1,NI); % Random between 10 and 60
y_max = zeros(size(y_min));
for kk = 1:NI % Create y_max which is random num between max(y_min(kk), 15) and 75
if y_min(kk) < 15
y_max(kk) = 15 + (75-15)*rand;
else
y_max(kk) = y_min(kk) + (75-y_min(kk))*rand;
end
end
Y = zeros(1,sum(N));
T = 1:sum(N);
Ncs = [0, cumsum(N)];
for kk = 1:NI
Y(Ncs(kk)+1:Ncs(kk+1)) = y_min(kk) + (y_max(kk)-y_min(kk))*rand(1,N(kk));
end
figure
plot(T,Y,'k')
grid on
box on

1 件のコメント

Akira Agata
Akira Agata 2019 年 10 月 29 日
To generate random integer number, please try randi function.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeMATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by