[Matlab] Script en C

Fermé
Newenda Messages postés 75 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 26 avril 2021 - 31 mars 2009 à 12:13
 kerrouche yahia - 18 mai 2009 à 16:44
Bonjour,

J'ai un petit programme matlab que j'aimerais bien transformer en C ou C++, bref un truc transportable.

Si je me trompe pas, on ne peut que transformer une fonction et non un script.

Comment transformer mon script en fonction? Je sais qu'il faut utiliser "function" mais il est nécessaire alors d'avoir des arguments d'entrés et de sorties. J'aurais bien 2 arguments d'entrée à mettre (les directories d'éxécution et de copie) mais je vois pas qu'elle(s) serai(ent) la ou les argument(s) de sortie puisque mon programme ne fait que lire, évaluer et copier des fichiers dans tel ou tel directory.

Help?

merci
A voir également:

10 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
31 mars 2009 à 12:21
Salut.
Tu n'es pas obliger de mettre des arguments d'entré.En sorti tu peux tout simplement mettre un entier retournant un code erreur pour savoir si tout c'est bien passé.
0
Newenda Messages postés 75 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 26 avril 2021 24
31 mars 2009 à 13:54
edit : non rien
0
Newenda Messages postés 75 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 26 avril 2021 24
31 mars 2009 à 15:13
oki merci !

Mais en faite, j'aimerais mettre des arguments d'entrée !

alors voilà le début de mon programme :

-------------------------------------------------------------------------------------------------------------
function[compteur_bruit,compteur_signal] = TRAIT_BIN_BF(Directory_source,Directory_copy)


Directory_source = input('enter directory of source (dir of years) :','s')
Directory_copy = input('enter directory of destination (dir of copy) :','s')

cd(Directory_source);

compteur_bruit=0;
compteur_signal=0;

[...]
-------------------------------------------------------------------------------------------------------------

après je lance

-------------------------------------------------
>> mcc -m TRAIT_BIN_BF_input2
-------------------------------------------------

Il me fait ce warning :

******************
To get started, select MATLAB Help or Demos from the Help menu.

Warning: No matching builtin function available for C:\MATLAB7\toolbox\simulink\simulink\set_param.bi
******************

Une idée? Merci
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
31 mars 2009 à 16:21
Je ne vois pas.
Tu utilise la fonction set_param ?
D'un autre coté, à quoi ça sert de forunir des paramètres pour les écraser juste derrière ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Newenda Messages postés 75 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 26 avril 2021 24
31 mars 2009 à 16:26
Non je vois pas ce qu'est la fonction set_param

Quand tu parles d'écraser, j'imagines que tu parles des compteurs. Bah c'est mes variables de sortie, elles sont initialisées à 0 au début puis elles augmentent dans le programme..il devrait me les ressortir non nulles non? en tout cas dans matlab elles le sont, non nulles.
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
31 mars 2009 à 16:41
Non, je parle de Directory_source,Directory_copy
à quoi ça sert de les mettre alors que tu les écrase juste derrière avec le input ?
Pour les variables que tu site ça ne me gène pas.
0
Newenda Messages postés 75 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 26 avril 2021 24
31 mars 2009 à 17:39
ha je pensais qu'il fallait mettre toutes les variables d'entrées dans la function, histoire que quand je transforme ça en sorte de "programme c" il comprenne...

Donc en gros si je mets :

function[compteur_bruit,compteur_signal] = TRAIT_BIN_BF

ça suffit? même si je rentre pleins de variables par la suite?

(merci)
0
Newenda Messages postés 75 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 26 avril 2021 24
31 mars 2009 à 17:47
Oui bon effectivement cela suffit mais j'ai toujours mon warning... qu'est ce que ça peut bien être?
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
1 avril 2009 à 11:14
Normalement, un warning n'est pas bloquant.
Sauf cas contraire, essai de l'ignorer.
0
Newenda Messages postés 75 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 26 avril 2021 24
1 avril 2009 à 11:19
hum j'ai essayé de poster ici mais il m'a indiqué que ce post avait été supprimé (???) alors j'ai créé un nouveau topic [Matlab]Pb Executable. En effet même si j'ai pu me débarasser du warning de matlab, j'en ai un autre quand je lance le .exe créé.

Voir nouveau topic donc

http://www.commentcamarche.net/forum/affich 11794466 matlab pb executable

dsl...


---------------------------
PS j'ai résolu le pb du 1er warning :

" Warning: No matching builtin function available for $MATLAB/toolbox/simulink/simulink/set_param.bi "

grâce au lien ci-dessous :

https://www.mathworks.com/matlabcentral/answers/102876-why-do-i-receive-a-warning-or-error-when-using-matlab-compiler

il s'agissait d'un bug de la R14 qu'on peut enlever en modifiant un peu un .m dans matlab.

---------------------------
0
kerrouche yahia
18 mai 2009 à 16:44
pour dree cette fichie en forma c il faut utilise cette commande
mcc -l nomdefichie.m
et le problame resule
0