Generating signal from weibull distribution

Hi, i have a Weibull distribution that is representative of wind speed data and I want to create a continious signal in MATLAB to recall in a Simulink model. I tried with the function wblrnd putting in the scala and form parametres but i failed to create the signal itself.

2 comentarios

Jiri Hajek
Jiri Hajek el 23 de En. de 2023
Hi, in what form do you have the Weibull distribution? Seems like you need an m-file representing the function, right?
Davide Sasso
Davide Sasso el 23 de En. de 2023
Editada: Davide Sasso el 23 de En. de 2023
I have reproduced the function already, hypotizing the scala and form parametres like I said up. I only search to create a continuous signal, that go on for 60 seconds, that is representative of the weibull distribution's values. This is what I wrote to create the weibull distribution:
x = linspace(0,19);
plot(x,wblpdf(x,5.5556,2));
grid on
xlabel('$v$ $[m/s]$','Interpreter', 'latex', 'FontSize', 15)
ylabel('$p(v)$','Interpreter', 'latex', 'FontSize', 15)

Iniciar sesión para comentar.

Respuestas (1)

Paul
Paul el 23 de En. de 2023

0 votos

Hi Davide,
The functions wblpdf and wblrnd are both eligible for code generation, so you can call either from inside a Matlab Function block without too much trouble. However, if you use wblrnd that way I have no idea which random stream is used nor how you can control that stream, e.g., for Simulink run repeatbility.
Another option would be to implement inverse sampling in the model, which could probably very well approximate a Weibull distribution and has the advantage of using the Uniform Random Number block for which you can control the seed.

Productos

Versión

R2022b

Etiquetas

Preguntada:

el 23 de En. de 2023

Respondida:

el 23 de En. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by