What do I use instead of fopen and fprintf when running Matlab Coder to convert m-file to mex to C/C++
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi,
I have a function which I am trying to use Matlab Coder to convert to mex and then to C code. It is a simple code, but it needs to write several of the local variables (which are arrays) to text files. In matlab this is easily done using fopen to create and open a file for writing, and then using fprintf to write the array to the opened file. However these functions are not supported in the Coder and I am not sure what to do.
My Matlab code is basically:
fid_u = fopen('velocity.txt','w');
for j = 1 : 100
fprintf(fid_u,'%16.12f\n', u(j,:));
end
fclose('all');
Does anyone know what I should change this to to be able to convert to a mex function and then C/C++ ?
Thanks!,
adam
0 commentaires
Réponses (2)
Ryan Livingston
le 13 Mai 2013
FOPEN, FPRINTF and FCLOSE are supported for code generation starting in R2013a:
2 commentaires
Ryan Livingston
le 22 Juil 2013
You can make use of coder.ceval() and coder.opaque() to call the C versions of FOPEN, FPRINTF and FCLOSE from your MATLAB code. Here is a demo doing this for FSCANF:
Alternatively, you could write the FOPEN/FPRINTF code directly in C in a custom C function and then just call that with coder.ceval.
AlessioX
le 18 Mar 2016
FPRINTF, FOPEN and FCLOSE now in R2015b are available!
However FSCANF is not. I have to read a txt file, any alternatives to FSCANF?
0 commentaires
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!