/ / Generovanie riadeného náhodného čísla / súboru údajov v MATLAB - matlab, random

Riadené generovanie náhodných čísel / dátových súborov v MATLAB - matlab, náhodné

Povedzme, že mám kocku s rozmermi 1 x 1 x 1medzi súradnicami (0,0,0) a (1,1,1). Chcem v tejto kocke generovať náhodnú množinu bodov (predpokladať 10 bodov), ktoré sú trochu rovnomerne rozložené (t. J. V určitej minimálnej a maximálnej vzdialenosti od seba a tiež nie príliš blízko k hraniciam). Ako to môžem urobiť bez použitia slučiek? Ak to nie je možné pomocou vektorových / maticových operácií, urobí sa aj riešenie so slučkami.

Dovoľte mi uviesť ďalšie podrobnosti o pozadímôj problém (Pomôže to, čo presne potrebujem a prečo). Chcem integrovať funkciu F (x, y, z) do mnohostena. Chcem to urobiť číselne takto:

$ F (x, y, z) = sum_ {i} F (x_i, y_i, z_i) krát V_i (x_i, y_i, z_i) $

$ F (x_i, y_i, z_i) $ je hodnota funkciev bode $ (x_i, y_i, z_i) $ a $ V_i $ je hmotnosť. Aby som presne vypočítal integrál, musím identifikovať množinu náhodných bodov, ktoré nie sú príliš blízko seba alebo nie sú príliš ďaleko od seba (ospravedlňujeme sa, ale ja sám neviem, čo je to rozsah. Budem schopný zistiť pomocou parametrickej štúdie až po tom, čo mám pracovný kód.) Musím to urobiť aj pre 3D sieťku, ktorá má viacnásobné mnohosteny, a preto sa chcem vyhnúť slučkám, ktoré by veci urýchlili.

odpovede:

2 pre odpoveď č. 1

Vyskúšajte to pekné generátor náhodných vektorov s pevnou sumou Súbor FEX. Kód "generuje m náhodné n-elementové stĺpcové vektory s hodnotami [x1; x2; ...; xn], každý s pevnou sumou, s, s výhradou obmedzenia a <= xi <= b. Vektory sú náhodne a rovnomerne rozmiestnené v dimenzionálnom priestore riešení n-1. Toto sa dosahuje rozložením tohto priestoru na niekoľko rôznych typov simplexov (mnohorozmerné zovšeobecnenie líniových segmentov, trojuholníkov a tetrahedry). sa používa na rovnomernú distribúciu vektorov v každom simplexe a ďalšie výzvy „rand“ slúžia na výber rôznych typov simplexov s pravdepodobnosťou úmernými ich príslušným rozmerovým objemom n-1. Tento algoritmus nevykonáva žiadne odmietnutie riešení - všetky sú generované tak, tak, aby sa už zmestili do predpísanej hyperkocky. ““


1 pre odpoveď č. 2

použitie i=rand(3,10) kde každý stĺpec zodpovedá jednému bodu a každý riadok zodpovedá súradnici v jednej osi (x, y, z)