Conversione file Fortran in Matlab

ndre_88
Salve ragazzi,
devo convertire il linguaggio di un file .for scritto in Fortran nel linguaggio di Matlab, ma senza usare le funzioni del Matlab stesso. Ho letto che sono linguaggi molto simili (es. il do in Fortran diventa for in Matlab), ma io ho difficoltà nell'andare a fare funzioni o a richiamare file. Qualcuno mi può aiutare??
Grazie mille
Saluti.

Risposte
Lory314
Cosa intendi per

"ndre_88":
senza usare le funzioni del Matlab stesso.



"ndre_88":

Qualcuno mi può aiutare??


Si! :D

apatriarca
Non mi è chiaro che cosa tu stia cercando di fare.. Vuoi farlo in maniera automatica oppure manualmente? Per quale ragione comunque vuoi convertire qualcosa scritto in fortran in qualcosa scritto in matlab? Normalmente ha più senso fare il contrario..

elgiovo
[ot]
"apatriarca":
Per quale ragione comunque vuoi convertire qualcosa scritto in fortran in qualcosa scritto in matlab? Normalmente ha più senso fare il contrario..


Ad esempio per gli ingegneri (non informatici) che sanno programmare solo in Matlab, tipo il sottoscritto :-D
Non scherzo, un mio collega negli ultimi tempi ha convertito un simulatore scritto in Fortran da un suo predecessore, in modo che potessimo usarlo tutti noi del gruppo. Alla fine da noi Fortran non lo sa usare nessuno, nei corsi di Elettronica non si fa più, l'ho visto insegnare solo ai meccanici.[/ot]

ndre_88
Ragazzi io ho un file scritto in Fortran che riesco a leggere sfruttando il blocco note, che devo importare in Matlab x fare delle simulazioni ecc.. Chiaramente Matlab nn riconosce il linguaggio del Fortran e sto cercando di convertirlo ma nn ci riesco...mi potete aiutare?

apatriarca
[ot]L'impressione che però sto avendo lavorando in campo ingegneristico è che fortran sia un linguaggio ancora molto forte. Molto codice viene ancora scritto in fortran e certamente non verrà mai convertito in matlab (non avrebbe neanche senso farlo). Di fatto ho forse avuto modo di interagire più con il fortran che con matlab in questi mesi di lavoro (ma lavorando come programmatore non mi occupo degli aspetti più propriamente ingegneristici).[/ot]

C'è una qualche ragione per cui non vuoi usare i MEX? Se posti il codice ti aiutiamo a convertirlo..

Lory314
@ ndre_88: se vuoi una mano posso provare ad aiutarti tranquillamente. Non sono un esperto di Fortran in quanto l'ho usato solo 6 mesi per la tesi, ma me la cavo molto bene con MatLab.

[ot]Dall'esperienza che ho avuto io Fortran viene ancora usato molto in ambito ingegneria meccanica/strutturale, specialmente nei centri di ricerca, sia perchè è free (a differenza di MatLab) sia perchè le librerie esistenti sono molto efficienti e ampiamente testate e risulta comunque un linguaggio molto potente (questo per lo meno è quanto ho capito). Inoltre è un linguaggio nato per scopi matematici/ingegneristici, non informatici e quindi si adatta molto a questo tipo di applicazioni. L'utilità di passare a MatLab per le simulazioni può anche essere dovuta alla volontà di fare grafici o animazioni. Io, ad esempio, per la tesi lavoravo su codice Fortran, scrivevo i risultati su file esterni e li rappresentavo con MatLab/Octave importando i dati. Lavoro un pò lungo, ma non conoscendo come fare grafici in Fortran era l'unica alternativa.[/ot]

apatriarca
Credo non abbia molto senso andare avanti con gli OT.

Normalmente il codice Fortran è limitato alla parte di calcolo (librerie matematiche, solver, .. ). Immagino sia possibile fare analisi dei dati, mostrare grafici e altro in Fortran, ma è meglio fare ricorso a strumenti più specifici e user-friendly. Nella fase di post-processazione è meglio usare strumenti che offrono una maggiore produttività e facilitano la sperimentazione. Fortran è un linguaggio potente, ma non facile e non particolarmente produttivo. Matlab, ma anche semplicemente Excel, sono a mio parere più adatti per questo scopo. Credo sia comunque utile conoscerli entrambi se si è ingegneri meccanici/strutturali o altro.

Un'ultima osservazione è d'obbligo comunque. I costi non sono secondo me quello che fanno preferire Fortran a Matlab. Matlab non costa tanto rispetto alla media degli strumenti CAD o CAE che vengono usati in campo ingegneristico e un compilatore Fortran può costare molto più di Matlab (ma certamente ne esistono anche gratuiti). Gli aspetti che fanno preferire Fortran sono:
1. Un codice Fortran può essere molto più veloce di un codice Matlab (soprattutto una volta).
2. Fortran è disponibili per molte più piattaforme, anche alcuni UNIX abbastanza "antichi".
3. Esiste un sacco di codice Fortran scritto parecchi anni fa.. e che non ha senso dismettere visto che funziona.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.