MATLAB: impossible de convertir l’expression en double tableau.

syms fi;
syms theta;
syms psi;
rM = [cos (fi) * cos (theta) * cos (psi) -sin (fi) * sin (psi) -cos (fi) * cos (theta) * sin (psi) -sin (fi) * cos ( psi) cos (fi) * sin (thêta);
sin (fi) * cos (theta) * cos (psi) + cos (fi) * sin (psi) -sin (fi) * cos (theta) * sin (psi) + cos (fi) * cos (psi) sin (fi) * sin (thêta);
-sin (thêta) * cos (psi) sin (thêta) * cos (psi) cos (thêta)];
transition = [x y z] ‘;
zéros = sym (zéros (1,3));
un = sym (uns (1));
hM = [transition rM;
zéros un];
hM = double (hM);

Meilleure réponse

  • On ne sait pas exactement ce que vous voulez. Vos expressions sont entièrement symboliques. Si vous souhaitez donner des valeurs ultérieures à x, y, z, phi, etc. essayez de convertir hM en une fonction MATLAB avec matlabFunction, par exemple
    hMf = fonction matlab (hM);
    et lorsque vous fournissez des valeurs pour vos variables symboliques, vous obtiendrez un double tableau