-
matlab to C ou C++
Bonjour ,
je travail sur un sujet qui consiste a transformer un programme sous matlab vers un programme en C avec visula C++, mais j ai un problème avec la fonction (qr),
voilà mon oprération sous matlab :
[Q,R] = qr(V,0);
svp comment dois je faire pour l'écrire sous C,
merci de vos réponses
-
Ton probleme est visiblement un probleme de function retournant plusieurs values.
La solution surement la plus simple en C est de passer des pointeurs en parametre de la fonction C. par exemple :
//definition
void qr(type1 v, type2 i, type3* q, type4* r){
...
}
//appel
qr(V,0,&Q,&R);
-
Merci de ton réponse si rapide :
non je crois pas que c'est le cas car moi j ai mm pas commencer a taper mon programme sous visual , donc je me demande si ta une idée de comment faire exactement pour trouver les deux inconnus Q et R voila une solution , mais je suis pas sur :
%% // une matrice [Q,R] égale au factoriel de (v,0)
%%
%% // Fonction [Q,R] = qr(V,n) avec n =0
%% // V est la matrice d'ordre n à factoriser
%% // pour p=1--->n-1
%% // Annulation des coefficients de la colonne p
%% // pour q=p+1--->n
%% // Annulation des coefficient a (q,p)
%% // norme = racine ((app*app)+(aqp*aqp))
%% // Si norme =0 alors C=1,S=0
%% // Sinon C=app/norme ,S=aqp/norme
%% // nouvelles matrices V et U
%% // seules les ligne p et q sont modifiées
%% // V([p,q],:)=[C S ; -S C]*V([p,q],:)
%% // U([p,q],:)=[C S ; -S C]*U([p,q],:)
%% // Q=tU
%% // R=V
%%
-
Une solution serait peut-être d'utiliser la librairie NT2 (http://nt2.sourceforge.net/) qui propose une interface proche de MATLab pour justement ce genre de problèmatique (passer d'un proto matlab à un code C++ "plus efficace").
-
Si c'est sous visual, je garantis pas que ca passe ;)