function y=laurens0(u); global global KPD_laurens FPD_laurens mom_max_bobine cpl_max_roue % Le vecteur entrée est à 12 composantes % u(1:3) est le vecteur dérivée pulsée du champ magnétique B' ( B'x B'y B'z ) en axes satellite % u(4:6) est le vecteur champ B (Bx By Bz en axes satellite % u(7:9) en colonne est le champ magnétique de consigne % u(10:12) en colonne est la dérivée temporelle du champ de consigne ( B'c ) % ********************************************************** % La fonction retourne les moments magnétiques mx, mz, et mz % ********************************************************** % Séparation des vecteurs B_prime(1:3)=u(1:3); % en colonne Dérivée pulsée B(1:3)=u(4:6); % en colonne Champ magnétique pulsé Bc=u(7:9); % en colonne Champ magnétique de consigne Bc_prime=u(10:12); % en colonne Dérivée du champ de consigne % ******** CALCUL DU COUPLE MAGNETIQUE INITIAL **************** NB=norm(B)^2; M_init=(KPD_laurens*Bc+FPD_laurens*(Bc_prime-B_prime'))/NB; % ******** CALCUL DU MOMENT MAGNETIQUE FINAL ECONOMIQUE **************** M=M_init-(M_init'*B')*B'/NB; % ***********CALCUL DES MOMENTS MAGNETIQUES **************** Mxx=M(1); Myy=M(2); Mzz=M(3); % ***CALCUL DU MOMENT MAGNETIQUE FINAL ECONOMIQUE REDUIT PROPORTIONNELLEMENT ****** coeff=max([1 abs(Mxx)/mom_max_bobine abs(Myy)/mom_max_bobine abs(Mzz)/mom_max_bobine]); mx=Mxx/coeff; my=Myy/coeff; mz=Mzz/coeff; % Sortie du moment magnétique " dans les clous " y=[mx my mz]'; end % **** Fin programme ****