|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jan 2012
Messaggi: 9
|
[MATLAB] determinare appartenenza ad una soglia in un vettore - urgentissimo!!!
Salve a tutti!
vorrei chiedervi consiglio su una parte di un programmino che devo sviluppare per la mia tesi, è urgente perchè i tempi stringono: in pratica devo fare una simulazione montecarlo e mi sono bloccato nel momento in cui dopo aver trovato dei numeri casuali devo utilizzare questi per vedere in quale soglia sono finito su un vettore, mi spiego meglio; ho 3 vettori composti da 8 valori che sono crescenti in quanto derivati da una somma cumulata; devo effettuare un numero N (mettiamo N=10) di simulazioni nelle quali vado prima a generare dei numeri casuali con mvnrnd(MU,SIGMA,N), ottengo quindi una matrice Nx3, poi devo prendere ognuno di questi valori generati su una riga e confrontarli con i 3 vettori nello stesso ordine in cui sono, ovvero 1°valore 1°vettore 2°valore 2°vettore 3°valore 3° vettore, essendo i valori dei vettori da 8 valori ordinati(sono delle soglie) mi serve sapere ognuno dei valori generati al di sotto di quale soglia sia, questo per ognuna delle righe della matrice Nx3. Io ho strutturato così ma poi mi sono bloccato: sogliaa %vettori delle soglie, con numeri crescenti sogliab sogliac R=mvnrnd(mu,sigma,10) %matrice Nx3 for i=1:10 for j=1:3 X=R(i,j) %ora qui devo associare questo R a una delle soglie per poi esplicitarlo che mi servirà più avanti. come posso fare? vi ringrazio in anticipo se riuscirete ad aiutarmi! |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Jan 2012
Messaggi: 9
|
Vi prego se qualcuno ha dei suggerimenti si faccia avanti, sto rischiando seriamente di dover saltare sessione di laurea se non vado avanti con questa programmazione...
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jul 2009
Città: Milano
Messaggi: 270
|
Se ho compreso bene una banale soluzione è:
per ogni vettore colonna di R Codice:
v = R(1:end, indice_colonna_che_voglio_confrontare);
__________________
AMD PII x4 955 BE | Sapphire HD4850 Vapor-X 1 GB | Samsung SpinPoint F1 500GB | Samsung EcoGreen F4 2TB Gigabyte GA-MA790FXT-UD5P | Fractal Design Define R3 USB3.0 Titanium Grey | CORSAIR 650W CMPSU-650TX Noctua U12P SE2 | 2 x 2GB Kingston 1333 MHz | Samsung SyncMaster P2450 | Samsung SyncMaster T200 |
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Jan 2012
Messaggi: 9
|
non sono riuscito a ben capire il tuo suggerimento, magari pongo il problema in maniera più semplice per poi ampliarlo in un secondo momento:
ho questi 3 vettori soglia, crescenti: sogliaa[1 2 3 4 5 6 7 8] sogliab sogliac estraggo un vettore random con R=mvnrnd(mu,sigma)%ottengo un vettore 1x3 ora devo confrontare il primo termine del vettore con la sogliaa, il secondo con la sogliab il terzo con la sogliac. per confronto faccio un esempio: il primo termine è 0.5, quindi devo assegnare un valore(per esempio a), il secondo termine è 3.5, quindi devo assegnare valore d e così per il terzo. questo per un vettore singolo, invece io dovrò fare N estrazioni che mi daranno una matrice con N righe e ogni riga dovrò confrontarla con la soglia con il metodo sopra esposto. |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Jul 2009
Città: Milano
Messaggi: 270
|
Al posto di fare confronti per righe ho suggerito di farlo per colonne.
Invece di fare, confronto elemento R11 con vettore soglia1 e confronto elemento R12 con vettore soglia2 e confronto elemento R13 con vettore soglia3 [...] così per ogni riga confrontare l'elemento R11 con soglia1 poi confrontare l'elemento R21 con soglia1 poi confrontare l'elemento R31 con soglia1 poi [...] per ogni colonna di R e immagazzinare il valore della soglia minimo maggiore di Rij in una matrice M nella posizione Mij, cioè nella stessa posizione del valore confrontato. Visto che le soglie sono già in ordine crescente meglio fare i confronti partendo dal fondo dei vettori soglia. Se il risultato dei confronti ti serve una tantum puoi anche evitare di immagazzinare Mij, ma il codice diventa un pochino più complesso. Questione di gusti credo, così è come preferisco io.
__________________
AMD PII x4 955 BE | Sapphire HD4850 Vapor-X 1 GB | Samsung SpinPoint F1 500GB | Samsung EcoGreen F4 2TB Gigabyte GA-MA790FXT-UD5P | Fractal Design Define R3 USB3.0 Titanium Grey | CORSAIR 650W CMPSU-650TX Noctua U12P SE2 | 2 x 2GB Kingston 1333 MHz | Samsung SyncMaster P2450 | Samsung SyncMaster T200 Ultima modifica di __ZERO_UNO__ : 23-02-2012 alle 17:23. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:34.


















