Bonjour,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
class([true,1])    % -> double
x= true; x(2)= 4; % -> true(2,1) !!!
Pourquoi la coercion se fait-elle vers des booléens dans le cas 2 ?

Imho, la seule raison valable serait de ne pas recopier la zone mémoire x avant l'insertion du 4.
Je croyais que Matlab opérait une copie sur une telle insertion, enquel cas le cast vers double serait peu coûteux par rapport à la copie mémoire.
S'agit-il d'un vecteur en zones non contiguës,ou ais-je raté quelque chose ?