Ciao a tutti!
Negli ultimi giorni mi sono un po' piantato su un problema che non mi è mai sorto, perchè matlab ha sempre fatto il suo dovere.
A volte capita di dover scrivere dei file .m in cui, tra le varie istruzioni, è necessario lanciare dei programmi esterni.
Esempio: in questi giorni per un'esercitazione dovevamo lanciare tante volte un programma di analisi srtutturale scritto in fortran che studia la deformazione di una semplice piastra in composito, variando però ad ogni simulazione parametri come il numero di elementi in cui scomporla (fittezza mesh), oppure l'ordine di interpolazione ecc.
ho pensato a una soluzione del genere:
for param1=1:N1
for param2=1:N2
for param3=1:N3
compila il file (preinput) che serve all'eseguibile fortran (mul20k.exe)
lancia l'eseguibile (che capisce da solo che deve usare preinput perchè è programmato per farlo)
acquisisce i risultati e li salva in maniera appropriata
end
end
end
per lanciare l'eseguibile ho scritto questa istruzione:
!C:\Documents and settings\Greg\Desktop\Mul2\Debug\Mul2ok.exe
e lui funziona, perchè poi sul prompt di matlab riporta le operazioni fatte e i file result sono corretti, ma dopo il primo ciclo for esce dal ciclo e non rilancia l'eseguibile con il nuovo file.
Può essere dovuto al fatto che lanciando l'eseguibile manualmente da fortran, finito di calcolare, chiede di premere un tasto per continuare?
Ci sarà un modo per fargli capire che deve spegnersi?
Ho provato a mettere
!C:\Documents and settings\Greg\Desktop\Mul2\Debug\Mul2ok.exe &
pensando che la & lo facesse partire in back ground, ma non lo fa, anzi...apre il prompt di Dos...