pls help me in Matlab ..

L

leoren_tm

Guest
Hoe kan ik het genereren van een gelijkmatig verdeelde signaal met een bepaalde gemiddelde en SOA ...

Code:

Rand
 
MATLAB heeft subsysteem SIMULINK voor simulatie van verschillende systemen.
SIMULINK heeft "Uniform Random Number" blok voor uw taak.
Dit blok is geplaatst in Simulink / Bronnen sectie.

 
Hoi

Vertrekkend vanuit een nul-gemiddelde en standaarddeviatie eenheid willekeurig gegenereerde numbe n, kun je vinden wat je wilt vermenigvuldigen met de gewenste standaardafwijking STD en het toevoegen van de gewenste gemiddelde m, zodat

New_n = n * std m;

sante

Sal

 
gevy wrote:

MATLAB heeft subsysteem SIMULINK voor simulatie van verschillende systemen.

SIMULINK heeft "Uniform Random Number" blok voor uw taak.

Dit blok is geplaatst in Simulink / Bronnen sectie.
 
Een uniforme verdeling met een bepaalde "width" heeft een vaste variantie, zijn niet een parameter die u kunt kiezen.U kunt echter, de breedte van uw PDF (die zal veranderen de variantie).Zie foto hieronder.

Als u de variantie te verhogen, kunt u dat doen door een verhoging van Delta.<img src="http://images.elektroda.net/94_1160803435.JPG" border="0" alt="pls help me in matlab.." title="pls help me in Matlab .."/>Zoals delta -> hoger, variantie stijgt met het kwadraat van delta.

Ik denk typen "rand (1)" geeft een aantal thats gelijkmatig verdeeld tussen 0 en 1.
-> Delta in dit geval 1, zodat de variantie is 1 / 12.het gemiddelde is 0,5.

Als u een uniforme distributie met een verschil van 9 / 12 wilde, kunt u het resultaat met "3 * rand (1)"

waarom?goed ..herinneren, variantie schalen met het kwadraat van de vermenigvuldigingsfactor.
(de delta is 3 keer zo groot ... maar variantie delta ^ 2 / 12, dus de variantie stijgt met een factor 9).Wat de nieuwe betekenen?haar 3 * 0,5 = 1,5.Wat als je wilde het gemiddelde te zijn van enige ander nummer?simpelweg toevoegen van de verschillende tot 1,5.Stel dat ik wilde dat de nieuwe gemiddelde te zijn 2 (en variantie van 9 / 12), zou ik simpelweg toevoegen 0,5 aan het resultaat.

newNumber = rand (1) * 3 0,5

dit is een pdf die er als volgt uit:<img src="http://images.elektroda.net/74_1160804090.JPG" border="0" alt="pls help me in matlab.." title="pls help me in Matlab .."/>
Sal is rijp ...alleen dat rand (1) doesnt terug een 0 betekent.Maar je kunt gebruiken 'rand (1) -0,5' en gebruik wat sal voorgesteld.

Succes
Sorry, maar je moet inloggen om deze gehechtheid

 
hmm ... ik probeerde het genereren van een gelijkmatig verdeelde signaal, met een verschil van 1.5, en SOA van 3,2 ..
een 128point ...
wat ik heb gedaan is het gebruik van de functie ..Code:

Wgn
 
Hoi,
Is "Wgn" staat voor witte Gaussiaanse ruis,

Als dat zo is, dan denk ik dat deze functie kan worden gebruikt om willekeurige getallen te genereren.
(lawaai is infact een willekeurig getal).

Maar omdat het witte ruis gaussain het gemiddelde zal zijn nul of een bepaalde constante waarde.

bedankt
Sarfraz

 
wat is eecs4ever zeggen vertaalt in MATLAB-code als

Genereer 50% gelijkmatig verdeelde steekproeven

Xunif = rand (1,50);% 50 monsters van een uniforme dist
% Met FX (x) = (1 als 0 <= X <= 1 en 0 anders)

% Definieer de gewenste middelen en varianties

mu_Y = -100;% de gewenste gemiddelde van RV Y
var_Y = 5;% van de gewenste variantie van RV Y

% Definieer de gemiddelde en de variantie van FX (x)

mu_Xunif = 0,5;
var_Xunif = 1 / 12;

Los% voor de parameters a en b

a = sqrt (var_Y / var_Xunif);
b = mu_Y - a * mu_Xunif;

Transformeer% van de steekproeven van FX (x) steekproeven voor FY (y)
% Waar het gemiddelde en de variantie van RV Y is gedefinieerd

Yunif = a * Xunif b;

 

Welcome to EDABoard.com

Sponsor

Back
Top