1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
3
<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
4
original version by: Nikos Drakos, CBLU, University of Leeds
5
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
6
* with significant contributions from:
7
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
10
<TITLE>Random generator </TITLE>
11
<META NAME="description" CONTENT="Random generator ">
12
<META NAME="keywords" CONTENT="main">
13
<META NAME="resource-type" CONTENT="document">
14
<META NAME="distribution" CONTENT="global">
16
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
17
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
19
<LINK REL="STYLESHEET" HREF="main.css">
23
<BODY bgcolor="#FFFFFF">
25
<!--Table of Child-Links-->
26
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
29
<LI><A NAME="tex2html2806"
30
HREF="RAND_f.htm#SECTION00514100000000000000">Library</A>
31
<LI><A NAME="tex2html2807"
32
HREF="RAND_f.htm#SECTION00514200000000000000">Description</A>
33
<LI><A NAME="tex2html2808"
34
HREF="RAND_f.htm#SECTION00514300000000000000">Dialog Box</A>
35
<LI><A NAME="tex2html2809"
36
HREF="RAND_f.htm#SECTION00514400000000000000">Default properties</A>
37
<LI><A NAME="tex2html2810"
38
HREF="RAND_f.htm#SECTION00514500000000000000">Interfacing function</A>
39
<LI><A NAME="tex2html2811"
40
HREF="RAND_f.htm#SECTION00514600000000000000">Computational function (type 0)</A>
42
<!--End of Table of Child-Links-->
45
<H2><A NAME="SECTION00514000000000000000"></A><A NAME="RAND_f"></A>
51
$\epsfig{file=RAND_f.eps,width=90.00pt}$
54
WIDTH="143" HEIGHT="108" ALIGN="BOTTOM" BORDER="0"
56
ALT="\epsfig{file=RAND_f.eps,width=90.00pt}">
58
<H3><font color="blue"><A NAME="SECTION00514100000000000000">
63
<H3><font color="blue"><A NAME="SECTION00514200000000000000">
68
This block is a random wave generator: each output component takes
69
piecewise constant random values. Every time an event is received on
70
the input event port, the outputs take new independent random
71
values. output port size is given by the size of <B>A</B> and <B> B</B> vectors
73
<H3><font color="blue"><A NAME="SECTION00514300000000000000">
77
<TABLE CELLPADDING=3 BORDER="1">
78
<TR><TD ALIGN="CENTER">Set Random generator block parameters</TD>
81
<TR><TD ALIGN="CENTER">flag = 1 : Normal distribution A is mean and B
85
<TR><TD ALIGN="CENTER">A and B must be vector with equal sizes</TD>
88
<TR><TD ALIGN="CENTER">seed is the seed of random number generator (integer<IMG
89
WIDTH="18" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
91
ALT="$ <$">2**31)</TD>
94
<TR><TD ALIGN="CENTER">flag</TD>
95
<TD ALIGN="CENTER">0</TD>
97
<TR><TD ALIGN="CENTER">A</TD>
98
<TD ALIGN="CENTER">0</TD>
100
<TR><TD ALIGN="CENTER">B</TD>
101
<TD ALIGN="CENTER">1</TD>
103
<TR><TD ALIGN="CENTER">seed</TD>
104
<TD ALIGN="CENTER">7560437</TD>
110
<LI>flag:0 or 1. 0 for uniform distribution on <IMG
111
WIDTH="83" HEIGHT="35" ALIGN="MIDDLE" BORDER="0"
113
ALT="$ [A,A+B ]$"> and 1 for
120
<LI>seed: seed value for a sequence of random number.
124
<H3><font color="blue"><A NAME="SECTION00514400000000000000">
125
Default properties</A>
129
<LI>always active: no
131
<LI>direct-feedthrough: no
133
<LI>zero-crossing: no
137
<LI>number/sizes of inputs: 0 /
139
<LI>number/sizes of outputs: 1 / 1
141
<LI>number/sizes of activation inputs: 1 / 1
143
<LI>number/sizes of activation outputs: 0 /
145
<LI>continuous-time state: no
147
<LI>discrete-time state: yes
149
<LI>name of computational function: <EM>rndblk</EM>
152
<H3><font color="blue"><A NAME="SECTION00514500000000000000">
153
Interfacing function</A>
155
<TT>scilab/macros/scicos_blocks/sources/RAND_f.sci</TT>
157
<H3><font color="blue"><A NAME="SECTION00514600000000000000">
158
Computational function (type 0)</A>
161
<PRE> subroutine rndblk(flag,nevprt,t,xd,x,nx,z,nz,tvec,ntvec,
162
& rpar,nrpar,ipar,nipar,u,nu,y,ny)
165
c Scicos block simulator
171
c rpar(ny+1:2*ny)=deviation
174
double precision t,xd(*),x(*),z(*),tvec(*),rpar(*),u(*),y(*)
175
integer flag,nevprt,nx,nz,ntvec,nrpar,ipar(*)
179
double precision urand,sr,si,t1
184
if(flag.eq.1.or.flag.eq.6) then
186
y(i)=rpar(i)+rpar(ny+i)*z(i+1)
188
elseif(flag.eq.2.or.flag.eq.4) then
190
if(ipar(1).eq.0) then
199
75 sr=2.0d+0*urand(iy)-1.0d+0
200
si=2.0d+0*urand(iy)-1.0d+0
202
if (t1 .gt. 1.0d+0) go to 75
203
z(i+1) = sr*sqrt(-2.0d+0*log(t1)/t1)
207
c if(ntvec.eq.1) tvec(1)=t+rpar(2*(nz-1)+1)