Sto cercando di adattare un piano a un set di ~ 6-10k punti 3D. Sto cercando di farlo il più velocemente possibile, e la precisione non è la preoccupazione più alta (francamente l'aereo può essere spento di + -10 gradi in uno qualsiasi degli assi cardinali).Piano veloce che si adatta a molti punti
Il mio approccio attuale è quello di utilizzare al meglio la soluzione migliore, ma è incredibilmente lento (spero di estrarre gli aerei ad una velocità di circa 10-50k volte ogni volta che eseguo l'algoritmo, ea questo ritmo finirebbe in poche settimane, a differenza di ore) poiché funziona su tutte le possibili combinazioni di 6000 punti, quindi ~ 35.000.000.000 di iterazioni e francamente ha una precisione molto superiore a quella di cui ho bisogno.
Qualcuno sa di tecniche di adattamento del velivolo più deboli che potrebbero accelerare considerevolmente il mio algoritmo?
EDIT:
Sono riuscito a ottenere il numero di iterazioni fino a ~ 42k con la creazione di aerei a ogni possibile angolo 3D (passando attraverso a 5 gradi ogni volta) e testare i punti esistenti nei confronti di questi per trovare il miglior aereo, invece di adattarsi ai punti che ho.
Sono sicuro che c'è qualcosa da guadagnare qui anche da dividere e conquistare, anche se mi preoccupo di poter saltare oltre il miglior aereo.
Non si ha accesso alle [Curve Fitting Toolbox] (http: //www.mathworks. com/help/toolbox/CurveFit/brviv3f-1.html # bs1cj4_-1)? – kevlar1818
Purtroppo no, sono bloccato con MATLAB vanilla, anche se ho un sacco di esperienza di programmazione in generale, quindi dovrei essere in grado di gestire un algoritmo abbastanza complesso. –
Se la precisione non è la tua preoccupazione principale, prova a ridurre la complessità di input dei tuoi dati. Esegui kmea o qualcosa del set iniziale di 6-10k punti, quindi adatta l'aereo agli esemplari. – Ansari