|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
[vari] Matrici e vettori, quale linguaggio?
Devo scrivere un programma lavorando principalmente su vettori e matrici.
Questo codice, essenzialmente manipola vettori e matrici e ripete con loop consecutivi le operazioni. Secondo voi qual'è il linguaggio di programmazione più adatto per fare questo tipo di lavoro? C, C++, Fortran o altro? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Matlab ?
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
ci avevo pensato anche io. Sicuramente dal punto di facilità di scrittura
è meglio del C/C++ per queste cose. La matrice la devi 'dichiarare' e basta(quasi), mentre con i C devi "costruirla". Ma a livello di prestazioni? Voi m'insegnate (vedi sezione quale linguaggio scegliere) che i linguaggi interpretati sono più lenti. D'altronde è anche vero che il C++ è pieno di opzioni e sfumature che a questo scopo non mi servono assolutamente nulla... ![]() forse come al solito aveva ragione Galileo: "provare una cosa , almeno per tre volte, verificandone i risultati". Ultima modifica di Albitexm : 28-06-2009 alle 22:53. |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Jul 2008
Messaggi: 237
|
Mathematica. Ottime performance, un sacco di operazioni già implementate, sintassi semplice.
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Ci sarebbe anche Python con la libreria SciPy. Soluzione "gettonata" persino da matematici...
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Io direi che per la matematica va bene qualsiasi linguaggio...
per C++ ci sono un mare di librerie matematiche, c'è la Sony Vector Math ottimizzata per Cell e SIMD, c'è CML che implementa di tutto per qualsiasi dimensione di matrici e vettori, c'è GMTL, insomma ce ne sono a centinaia e tutte piuttosto concorrenziali ![]() Ovviamente dipende tutto dalla tua preferenza per prestazioni<->usabilità ![]() Per quanto CML (che uso io stesso) sia usabilissima... per di più è header-only. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non c'è una risposta definitiva. Se cerchi la semplicità di scrittura degli algoritmi e prestazioni discrete Matlab può andare bene.
Se vuoi andare oltre con le prestazioni, puoi testare varie librerie per C e C++ e confrontarle con il risultato ottenuto con Matlab. Inoltre certe volte può essere più importante un algoritmo efficiente che il metodo con cui si fanno i calcoli. Soprattutto quando si lavora con le matrici è molto importante studiare l'algoritmo più efficiente per diminuire la complessità dei calcoli. Imho implementa comunque l'algoritmo con Matlab o con Mathematica, a questo punto usalo come riferimento per gli altri test ![]() |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
Quote:
Ma perchè il fortran non lo considera mai nessuno? |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
E' veramente buono dal punto di vista delle prestazioni, ma con l'utilizzo di librerie esterne pareggi sicuramente le prestazioni del Fortran, anche perché magari le librerie sono scritte proprio in Fortran
![]() |
![]() |
![]() |
![]() |
#11 | |
Member
Iscritto dal: Jan 2005
Messaggi: 157
|
Quote:
Io te lo consiglio (dal F90 in poi) anche perche' la gestione delle matrici avviene in modo molto intuitivo. BTW il compilatore gfortran e' gratuito e disponibile in Windows, Linux etc. Come diceva Cionci io partirei da Matlab e poi implementerei in Fortran (o qualche altro linguaggio) nel caso di inefficienze. ciao tiMo
__________________
The plural of anecdote is not data. ~ Roger Brinner |
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
Quote:
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:44.