[C++ e Matlab] mcc

valentino861
Allora sto cercando di creare un eseguibile in matlab che mi serve per poi farlo partire da un programma in c++.

Praticamente in matlab creo un file del genere (ovviamente è solo un esempio):

function ciao

A=load ('exp.txt', '-ASCII');
plot(A)
%pause


poi dalla command windonw faccio:

>> mcc -md C:\ ciao.m

e mi crea un eseguibile ciao.exe nella cartella C:

A quel punto se apro l'eseguibile mi legge il file exp.txt e mi plotta un grafico.

Il problema è che non mi funziona in c++. Ossia ho un programma in c++ che tira fuori dei file e io vorrei richiamare l'eseguibile in matlab cosi:

system("C:\\ciao.exe");

in modo da farmi plottare i grafici con le variabili tirate fuori poco prima da c++ e messe in exp.txt.

Ripeto che è solo un esempio in realtà il programma exe di matlab dovrà fare moltissime operazioni su quei dati prima di plottare i grafici ma in poche parole è questo che mi serve.

Il problema è che quando faccio una prova del genere mi da errore, mi dice che load (ho provato anche con fprintf/fopen) non è un comando valido.



Come posso fare?? GRazie

Risposte
valentino861
Ok sono riuscito a fare caompliare da matlab usando il mio visual studio c++ invece che quello interno di matlab e ora legge i file senza problemi ma ho un altro problemino.

Non riesco a usare gli strumenti della wavelet, ho provato anche a includere tutta la cartella cosi:

mcc -md C:\prova wavelet.m -a ./wavelet/wavelet/*.m

wavelet.m è il il file che ho creato io dove leggo i dati da un file e ne faccio la wavelet analisi

valentino861
Ok sono riuscito a fare tutto.

Però quando mi crea l'eseguibile mi include anche una cartella con il file .m di matlab. Io invece vorrei distribuire l'eseguibile senza che sia accessibile il codice sorgente...come si può fare?

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